Commit Graph

246 Commits

Author SHA1 Message Date
Paul Ouellette
4968b1da42
Reset history position when leaving command line (#953)
Previously the history position was only reset when executing the
history prev/next command in normal mode, so it was not reset if you
entered command-line mode then started moving through the history.
2022-10-01 16:39:11 +03:00
Paul Ouellette
165fecbea0
Fix minor incsearch weirdness (#944)
This fixes an issue where if you stared a search then deleted the search
text (with e.g. backspace) it would perform a search for the empty
string and move the selection to the next file.
2022-10-01 16:33:22 +03:00
Paul Ouellette
cb7aa13218
Fix a few completion bugs and add a few small features (#934)
* Fix some multibyte character completion bugs

- matchLongest now operates on runes instead of bytes so we don't
  complete part of a multibyte character.
- Fix some places that mixed string and rune slice indices.

* Fix wrong menu completion for subdirectories

When selecting a menu completion for a file in a subdirectory, the
entire filename would be appended to the command line, even if you had
already typed part of it.

* Escape file completions in menu completion

* Minor refactors and typo fixes

* Fix cmd-menu-complete-back bug

The first use of cmd-menu-complete-back after opening the completion
menu was incorrectly selecting the before-last completion instead of the
last completion.

* Allow completing broken symlinks

Also skip files with stat errors instead of returning.

* Add command to accept current menu selection

This is useful when completing filenames. For example

    cmap <c-y> :cmd-menu-accept; cmd-menu-complete

can be used to accept the selected directory completion, then complete
files in the directory.

* Complete command names for map and cmap
2022-10-01 16:31:58 +03:00
segf00lt
da2d8a2979
added history options (#866)
* added history options

* sorry forgot to update docs
2022-07-10 15:32:34 +03:00
SeekingBlues
36a7a18316
Go to normal mode when backspacing on empty prompt (#836)
This matches up with vim's behavior.
2022-05-21 13:54:17 +03:00
Gokcehan
745f1588ed add missing 'tagfmt' evaluation
cc #791
2022-05-08 14:28:26 +03:00
Gokcehan
7feb42db34 rename move commands to high/middle/low
cc #824
2022-05-08 14:03:32 +03:00
Christian Zangl
01fe12b2ce
Add VIMs hi/mid/lo-screen commands (#824)
* add hi/mid/lo-screen commands and default keybindings

* doc
2022-05-08 13:58:56 +03:00
Gokcehan
4db1a63b75 rename scrollup/down to scroll-up/down
cc #764
2022-03-30 12:58:38 +03:00
Gokcehan
afa90fe647 use multiple selections for tag command
cc #791
2022-03-28 18:02:17 +03:00
Santos
5a5628d667
Add tags (#791)
* 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
2022-03-28 15:43:05 +03:00
Gokcehan
5927a506f4 cleanup 2022-03-19 17:39:04 +03:00
Gokcehan
089e6dc705 init navigation after evaluation of config file
cc #748 #759
2022-03-11 15:21:27 +03:00
Gokcehan
8954e9f16a Revert "fix option processing, async dirs & start select (#759)"
This reverts commit fb66a21577.
2022-03-11 02:43:38 +03:00
Christian Zangl
fb66a21577
fix option processing, async dirs & start select (#759) 2022-02-27 14:00:59 +03:00
sbinnee
b4637f91aa
add scrollup scrolldown builtin cmd (#764)
* 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
2022-02-27 12:37:27 +03:00
Christian Zangl
c5bd676c3a
create process group for shell-pipe and shell-async (#753) 2022-02-13 23:39:49 +03:00
Christian Zangl
375133e483
add "jump-next" and "jump-prev" (#755) 2022-02-13 12:02:18 +03:00
Gokcehan
b5de2cd666 cleanup
cc #751
2022-02-12 12:54:11 +03:00
Gokcehan
73f990cdb6 rename 'get-dirsize' to 'calcdirsize'
cc #750
2022-02-12 12:40:07 +03:00
Christian Zangl
b08ab8dfb7
Continue PR: configure time format in the info column (#751)
* 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>
2022-02-12 12:23:22 +03:00
Christian Zangl
cbb80a0d44
add get-dirsize command (#750) 2022-02-12 12:21:49 +03:00
Christian Zangl
958857f4c4
Add Temporary Marks (#744)
* add temporary marks

* change option format & documentation
2022-01-31 02:28:06 +03:00
Gokcehan
930364ce78 Revert "dirtyfiles: files that don't require cleaning before previewing them (#729)"
This reverts commit 673dad9f07.
2022-01-22 16:57:28 +03:00
Gokcehan
286bf75aa9 cleanup 2022-01-17 12:57:51 +03:00
Lucas Mior
673dad9f07
dirtyfiles: files that don't require cleaning before previewing them (#729)
* dirtyfiles

* wrong default on man page

* respect alphabetic order for options

* clean on shell commands

* formating if
2021-12-25 20:49:30 +03:00
SPFab
85aa3b9dc6
Cmap fixes (#691)
* 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
2021-08-29 18:28:29 +03:00
SPFabGerman
5566f82596 fixed bug, where ~ is not a absolute directory (#690) 2021-08-25 19:36:14 +03:00
SPFab
0edf0823b7
cmap now accepts all expressions (#686) 2021-08-25 18:28:47 +03:00
SPFab
05a48ea315
added pre-cd command (#685)
* added special pre-cd command

* added documentation
2021-08-23 17:11:56 +03:00
SPFab
ff0933ca03
Added filter command (#667)
* 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
2021-08-21 16:40:24 +03:00
Yegor Bychin
ee5b3f4813
add an option to disable directory cache (#673)
* add an option to disable directory cache

* change option name to `dircache`

* change 4 whitespaces to tab
2021-08-01 17:00:10 +03:00
Matthew Toohey
75eba115d2
implement dironly option (#669)
Co-authored-by: mtoohey31 <mtoohey31@users.noreply.github.com>
2021-07-31 16:10:25 +03:00
SeerLite
8adbd2b9ef
Don't use the absolute path when saving bookmarks (#659)
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.
2021-07-09 16:34:45 +03:00
Gokcehan
7cdb7495ea add a command line parameter for single use
cc #177
2021-05-19 23:38:05 +03:00
Gokcehan
06a30eda19 add 'autoquit' option to auto quit server on quit
cc #177
2021-05-19 21:55:19 +03:00
Gokcehan
202a998731 invalidate reg cache when drawbox option changes
cc #602
2021-04-25 16:51:40 +03:00
Gokcehan
628bf408b4 invalidate reg cache when height changes in resize
cc #610
2021-04-14 14:49:41 +03:00
Gokcehan
fec767d11b dont change findlen to force find with cmd-enter
cc #605
2021-04-13 20:32:01 +03:00
gotroyb127
0dcfb3d4fe
force find at cmd-enter (#605)
cc #559
2021-04-06 19:02:16 +03:00
gotroyb127
0cfd34f30d
add 'waitmsg' option to configure the message after shell-wait commands (#604) 2021-04-06 18:57:23 +03:00
Gokcehan
ca0068514a add 'shellflag' option to customize shell flag
cc #597
2021-04-04 18:23:14 +03:00
Gokcehan
7dfdcb51c0 unset shellopts when empty 2021-02-21 19:21:06 +03:00
Nikita
6422bd7492
Fix symlink handling (#581)
* 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.
2021-02-12 20:50:48 +03:00
Gokcehan
13d19d84f9 add 'mouse' option to enable/disable mouse events
cc #268 #570
2021-01-29 19:36:27 +03:00
neeshy
1163efb7aa
Avoid redundantly loading previews for search/find (#569)
* Avoid redundantly loading previews for find

* Avoid redundantly loading previews for search
2021-01-29 18:27:27 +03:00
Gokcehan
e0317611ef avoid loading redundant previews for top/bottom
cc #531
2021-01-19 01:47:09 +03:00
Gokcehan
7481040c2d enable top/bottom in cmap mappings 2021-01-19 01:45:42 +03:00
Gokcehan
f54acae958 avoid loading redundant previews for up/down
cc #531
2021-01-18 21:30:52 +03:00
neeshy
b5f6f6edee
Don't redraw volatile previews on ticker period (#546) 2021-01-04 17:01:29 +03:00