* initial tags implementation
* add tag to complete.go
* add gTagsPath to os_windows.go
* change behaviour to match other commands
* add tag-toggle to complete.go
* add tag and tag-toggle to docs
* address feedback about tags
* add scrollup scrolldown builtin cmd
Scrollup/down move window pane without moving current cursor position.
Default keybinding would be <c-y> for scrollup and <c-e> for scrolldown
just like in vim.
* limit scrolldown when reached bottom
scrolodown will not allow empty space
Fix typo
* Allow to configure time format in the info column
* Update infotimefmt PR from Krzysztof Maicher
Add format length, rename options
Co-authored-by: Krzysztof Maicher <krzysztof.maicher@gmail.com>
* fixed bug when switching commands
* filter and searches are now reset, whenever prompt is reset
* don't interrupt %-shell commands
* filter and search are now correctly started and stoped on cd
* movement commands now don't stop prompts
* forgot shell-pipe check in delete command
* added first version of interactive filter
* small fix when loading new file
* don't reset filter when directory is reloaded automatically
* reapply filter when options for searching change
* current filter or arguments now prefilled in the prompt
* empty filter can now be supplied
* added new setfilter command for use in scripts
* added incfilter option
* added very basic documentation
* added filter indication in statusbar
* added option to display filter to prompt
The absolute path of symlinks were getting saved, so bookmarking a symlink
directory would cause the absolute path to be saved and loaded instead.
What's saved now is the current path string as understood by lf instead, so
path to symlinks can be saved too and they won't get dereferenced when
loading.
* Fix replace dialog for symlinks
If the oldPath is a symlink to the newPath or vice versa, than os.Stat()
would resolve this symlink, and both the oldStat and newStat would be
the same. Hence, the replace dialog would not appear and the newPath
file would be overwritten by the oldPath file whilst the oldPath would
be deleted.
It is the same story when the oldPath and newPath are both symlinks to
the same file.
* Fix completion in the case of broken symlinks
If the current directory contains broken symlinks then matchFile() would
return at first broken symlink.
Let's consider the following example:
$ ls -F ~/
broken@ dir/ file
The broken@ is a symlink to ~/foo - non existent file.
If one would enter the following command in lf:
:cd ~/<tab>
it would not suggest possible completion options because matchFile()
would return as soon as it meet the broken symlink.
* Don't resolve symlinks when move files/dirs (#571)
This will allow to move broken symlinks.
* Fix symlinks copying/moving (#571)
Copy symlinks, do not try to resolve it and copy the file pointed by
this symlink. Also this allows to copy symlink to directory.
* Use chan struct{} in place of chan bool
* Revert "nav.checkReg now returns a boolean instead of calling nav.preview"
* Guarantee preview/previewClear ordering
* Pass the file path to the cleaner script
* Return early on error in nav.preview
* nav.checkReg now returns a boolean instead of calling nav.preview
* Pass width, height, x, and y parameters to preview script
* Check previewer for exit code
If non-zero the preview will be assumed to have side-effects.
* Add the cleaner option
This is called upon selection changes if the previous preview was
volatile. To this end, volatilePreview was added to the nav struct
* utility modulus function
* ui adapt for tab menu cycle
* refactor(listMatches) for tab menu cycle
* refactor(draw) handle tab menu selection highlight
* refactor(eval) cmd-complete cycle + reset handles
* feat: added backtab counter-cycle in the completition menu
* cleanup
* docs changes
* refactor: make tab cycle own commands
* docs: tab cycle documentation
* bug: the matches list was not complete because index +2 after row end
* refactor(tab cycle): handle the complete menu command print
* refactor(tab cycle): make the cmdTmp varibale mymic cmdAccLeft + check for partial commands
* refactor(tab cycle): fix how to handle the menu completiton from different events
* fix(tab cycle): fix cmd-complete so that it works with new tab cycle commands
* style: changed puprle to reverse
* cleaned up cycle logic + reverted listMatches
* cleaned up eval logic for cycle feat.
* cleanup
Co-authored-by: 2pac <tarasyarema@pm.me>