* fix(#2467): remove newline in git paths
* fix: info size suffix and formatting (#2492)
- Now there is a whitespace between value and unit.
- Now values >= 1024 YiB are shown in YiB instead of B.
- To reuse same code a new local function was added: round().
* feat(#2312): fire `TextYankPost` event on path copy (#2489)
* feat(#2312): fire `TextYankPost` event on path copy
* stylua
* Bug fix
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat: mapping and options to sort entries in help window (#2482)
* feat: add option to sort entries in help window
* stylua
* Add keymap to toggle sorting methods
* Bug fix
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix(#2467): remove newline in git paths
* fix(#2467): change cygpath calls to array format
To avoid shell compatibility issues in msys2 environment on Windows
* stylua nit
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
Co-authored-by: Andrew Voynov <37143421+Andrew15-5@users.noreply.github.com>
Co-authored-by: Azad <49314270+Akmadan23@users.noreply.github.com>
* fix(#2382): use --absolute-git-dir when available
* fix(#2382): use --absolute-git-dir when available
* fix(#2382): rename private git members, destroy git watchers on purge
* fix(#2382): consistent naming of toplevel
* fix(#2382): more doc and safety
* fix(#2382): consistent naming of toplevel
* fix(#2382): consistent naming of toplevel
* feat: Watch $GIT_DIR for git changes, if set
While rarely used, it's possible to set the $GIT_DIR environment
variable to instruct git to use a directory other than `.git`.
This checks if that environment variable is set; if it is, the plugin
will watch that directory. If it's not set, it'll fall back to the
default `.git` directory.
* fix: Don't create two watchers for $GIT_DIR
This will ignore a path for watching if EITHER it's '.git', or the value
of $GIT_DIR (if it's set).
If $GIT_DIR is not set, the vim.env object returns `nil`, which will
never match `path`.
* fix: Attempt to make a relative $GIT_DIR absolute
This fixes the issue described in #2243, where the .git folder's path
ends on a weird character produced by `cygpath` when the newline
character is fed into it (when using shell=powershell)
* fix(#1970): additional log function gating for efficiency when not logging
* fix(#1970): additional log function gating for efficiency when not logging
* fix(#1970): disable git integration after 10 timeouts
* fix(#1970): disable git integration after 10 timeouts
* fix(#1970): disable git integration after 10 timeouts
* fix(#1970): cleanly kill timed out git processes
* fix(#1970): revert git kill, to be completed via #1974 experiment
* fix(#1970): revert git kill, to be completed via #1974 experiment
* fix(#1970): additional log function gating for efficiency when not logging
* fix(#1970): additional log function gating for efficiency when not logging
* coding style
* outlined git.show_on_open_dirs behavior
* show some icon on opendir even if show_on_open_dir=false
and show all children's status on parent
* fixed renamed icon not showing
* sorted icons
* removed DU from deleted as file will show up in tree
* fixed update_git_status in reloaders not tested
* fixed Api.git.reload()
Tested update_git_status in reloaders.lua
* sort icon only if not git signcolumn
* fixed crashing when root dir isn't git dir
* made git.show_on_dirs doc more concise
* git_statuses -> git_status for consistency
* explorer/common.lua -> explorer/node.lua
* fixed#1784 conflict
* don't order icons
* Revert "don't order icons"
This reverts commit 23f6276ef7.
* fixed git rename not showing up for the renamed file
* considered " -> " being a part of the filename
Fixed -> pattern to escape -
Fixed "\"" and "\\" in filename
* using string.find(, , true) to match plain ->
* Using -z and removed unnecessary logic
* the nice fix
* fix(#1547): pass git toplevel cwd unescaped, pass git untracked arguments as per toplevel
Co-authored-by: Maximilian Philipp <philipp@student.tugraz.at>
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat(explorer): add experimental watchers
This commit introduces watchers to update the tree.
This behavior is introduced behind an "filesystem_watchers" option
which should prevent instabilities.
It will become the default at some point.
Co-authored-by: Alexander Courtis <alex@courtis.org>