Gokcehan
1a39b00a8f
replace renew with redraw while reading commands
...
Mentioned in #92 .
2017-11-19 02:39:42 +03:00
Gokcehan
9ac32fc850
cache directory contents in memory
...
Mentioned in #92 .
2017-11-19 01:25:41 +03:00
Gokcehan
cb577a4c3a
handle user variables on all platforms
2017-08-06 11:05:46 +03:00
Gokcehan
458bc71688
use conditional compilation for windows
2017-08-05 19:23:55 +03:00
Karol Woźniak
fe05105c88
Implement directory count info ( #85 )
2017-06-03 14:12:43 +03:00
Gokcehan
3fd1222e4f
implement cmap for command line mapping
2017-03-10 18:53:21 +03:00
Gokcehan
c55c4bf254
rename showinfo option to info
...
Related to #39 .
2017-02-04 21:33:36 +03:00
Gokcehan
d605781d09
modify showinfo to handle multiple values
...
Mentioned in #39 .
2017-02-04 21:28:03 +03:00
Gokcehan
a99601668a
disable buggy cursor move in windows
2017-01-07 18:02:14 +03:00
Olivier Perret
a704248696
preserve mark order in f[sx] variables ( #59 )
...
* preserve mark order in f[sx] variables
* Revert "preserve mark order in f[sx] variables"
This reverts commit e02c5e8bb3ec58f7cefafc92419f14c51e6730ef.
* preserve mark order in f[sx], but more efficiently
credit to @gokcehan for the idea
2017-01-06 00:23:22 +03:00
Gokcehan
af113e71ef
fill with spaces instead of null chars
2016-12-22 22:58:55 +03:00
Gokcehan
4f9515564d
use fixed length file sizes for info line
...
Mentioned in #49 .
2016-12-19 22:08:53 +03:00
Gokcehan
2085b6d797
handle ratios change at runtime
2016-12-18 22:38:28 +03:00
Gokcehan
d6bb811eef
cleanup
2016-12-18 21:51:27 +03:00
Gokcehan
a717c31ca1
cleanup
2016-12-18 21:34:41 +03:00
Gokcehan
e532db082f
use lowercase initials for type names
2016-12-18 00:47:37 +03:00
Gokcehan
8d42bb166b
increase lookahead length for ansi codes
...
Mentioned in #52 .
2016-12-17 15:27:27 +03:00
Gokcehan
18bf206e8c
handle empty folders properly while drawing the ui
2016-12-15 16:43:29 +03:00
Gokcehan
5f87cb2542
implement asynchronous read commands
...
This commit changes previous reading command implementation to an
asynchronous implementation. By the nature of this change, this commit
touches many places in the ui and evaluator. Aim is to fix the following
problems:
- There is no race condition anymore when reading commands and other
commands update the ui at the same time.
- Autocompletion and keymenu is now drawn in the main draw event. This
should fix some ui glitches when a new menu is smaller than the previous
one.
- Window resize event when reading a command is now properly handled.
- Readline actions are now regular commands. This should make it
possible to change the default keybindings for these actions in the
future.
Mentioned in #36 .
2016-12-15 12:26:06 +03:00
Gokcehan
f66a4a4a2e
don't override error messages in statusline
2016-12-03 01:05:49 +03:00
Gokcehan
217d89ff96
handle unusual escape codes in files
2016-11-29 17:01:33 +03:00
Gokcehan
c8202bbc7a
add timefmt option for time format in status line
...
Mentioned in #41 .
2016-11-21 23:13:33 +03:00
Gokcehan
697a05cdd0
handle unicode in the prompt
...
Mentioned in #30 .
2016-11-18 22:28:55 +03:00
Gokcehan
724422efa3
keep a copy of saved files and show in the ui
...
Mentioned in #13 and #36 .
2016-11-07 23:32:19 +03:00
Gokcehan
6008bef959
move readExpr from ui to app
2016-11-06 23:10:42 +03:00
Gokcehan
84d066050c
cleanup
2016-11-06 22:59:42 +03:00
Gokcehan
4fff4f97e2
remove redundant flush from ui.renew
2016-11-06 22:51:54 +03:00
Gokcehan
e753b5b159
evaluate push command while reading
2016-10-31 11:52:32 +03:00
Ivan Menshykov
ca090fd144
Shadowing variable ( #40 )
2016-10-30 23:45:11 +03:00
Gokcehan
2f574962bc
implement remote ping command
2016-10-30 02:20:35 +03:00
Karol Woźniak
c9b4389c65
Refactor Nav API around symlinks handling (mostly) ( #33 )
...
* gofmt ui.go
* Refactor Nav API around symlinks handling (mostly)
1. Get both `Lstat` and `Stat` while reading the files. Stat info is
used by default, but we still can tell it's a link if needed.
2. Remove all other `Stat` calls from different places.
3. Handle hidden files while reading.
4. `currFile` now returns error if there are no files.
5. `currEmpty` and `currPath` not longer necessary, removed.
6. `open` now returns a named error ErrNotDir, where expected.
7. Side effect: Links that point at directories are now sorted among
"actual" directories.
2016-10-24 22:18:31 +03:00
Gokcehan
667253906b
handle unicode in the ui
...
Mentioned in #30 and #32 .
2016-10-20 23:45:06 +03:00
Gokcehan
936b1e049a
leave the cursor at the beginning of the current file
...
Mentioned in #22 .
2016-10-08 14:18:26 +03:00
Gokcehan
1cee8b9d9c
handle symbolic links to directories for previews
...
Mentioned in #24 and #25 .
2016-10-05 18:36:12 +03:00
Gokcehan
d66eb7349d
clean path before changing directory
2016-10-02 00:39:03 +03:00
Gokcehan
7fe72c188f
check null bytes instead to detect binaries
2016-10-02 00:29:14 +03:00
Gokcehan
27135faccd
add a push command to simulate key pushes
2016-09-18 19:21:24 +03:00
Gokcehan
1e7811334e
use the same goroutine to wait preview command
...
Mentioned in #5 .
2016-09-18 12:56:13 +03:00
Gokcehan
d51e99adc1
close pipe and then wait command in a separate goroutine
...
Mentioned in #5 .
2016-09-16 15:22:39 +03:00
Gokcehan
f82073603f
clean command resources after preview script call
...
Mentioned in #5 .
2016-09-16 13:27:38 +03:00
Gokcehan
0395f75ea9
break previewer output pipe when enough lines are read
...
Mentioned in #5 .
2016-09-15 21:26:54 +03:00
Gokcehan
6094078185
buffer file and dir previews for drawing
...
Mentioned in #5 .
2016-09-15 16:28:36 +03:00
Gokcehan
ee0f931db8
add command counts
2016-09-09 01:03:25 +03:00
Gokcehan
34c58b634a
add basic readline shortcuts
2016-09-07 22:34:29 +03:00
Gokcehan
3d493e8271
use filepath module instead of path for portability
...
This should fix path separator confusion in windows.
Mentioned in #12 .
2016-09-07 00:27:55 +03:00
KenjiTakahashi
ef340a533d
Do binary check after calling previewer
...
Many files valid for previewer, such as archives, are treated as binary
and thus were not passed to the previewer.
Also sanitizes the previewer output, to some extent.
2016-09-01 21:11:03 +02:00
KenjiTakahashi
8d4a3192f1
Pass width and height to the previewer
...
This way, the script can do a little magic like
head -n $2 $1 | highlight -O ansi --syntax ${1##*.}
to avoid reading whole (possibly huge) file.
2016-09-01 00:19:08 +02:00
Gokcehan
f356e6d694
handle all keys for mappings
...
Mentioned in #1 .
2016-08-28 18:21:42 +03:00
Gokcehan
c19d3450a2
add an option to filter file content for preview
...
Mentioned in #5 .
2016-08-28 15:04:57 +03:00
Gokcehan
e944639acf
evaluate ansi escape codes while printing
...
Mentioned in #5 .
2016-08-28 03:45:05 +03:00
Gokcehan
df6c23769f
close termbox during skipping commands
...
Mentioned in #8 .
2016-08-27 00:20:08 +03:00
Gokcehan
b90bd273f7
sort key bindings before listing
...
Mentioned in #1 .
2016-08-24 13:08:49 +03:00
Gokcehan
fb26551693
rename redraw to renew
2016-08-24 12:36:52 +03:00
Gokcehan
19561f6531
show completion menu for multiple match
2016-08-21 18:41:03 +03:00
Gokcehan
66ce56eb6e
get rid of residual escape codes after skipping shell commands
...
Some applications (e.g. vim) seem to leave behind escape codes in the
terminal after quitting. For some terminals (including xterm and
gnome-terminal) this is somehow interpreted as key strokes by lf. This
is a temporary fix to get rid of these escape codes by restarting
termbox until we can find a proper way to handle this.
2016-08-21 14:15:19 +03:00
Gokcehan
4b0a6d1013
cleanup
2016-08-17 23:28:42 +03:00
Gokcehan
70f8c1331d
error context for nav and ui
2016-08-17 23:22:11 +03:00
Gokcehan
98839a42f2
basic shell completion for single match
2016-08-16 22:31:17 +03:00
Gokcehan
656a9c837a
basic command completion for single match
2016-08-15 23:29:37 +03:00
Gokcehan
6a2bdf472b
handle dir symlinks in preview and open
2016-08-14 15:15:54 +03:00
Gokcehan
84cf8e12c3
add cursor key bindings
2016-08-13 21:37:09 +03:00
Gokcehan
bdee73bc54
add error message for unhandled keys
2016-08-13 21:26:36 +03:00
Gokcehan
4b266c97e9
initial commit
2016-08-13 15:49:04 +03:00