Arun Prakash Jana
f415924c7e
Remove redundant spaces
2022-07-24 20:07:27 +05:30
NRK
fe9c1bbb3a
icons: use a compact array
...
a lot of the extension use the same icon. this can be exploited via
having an array with all the unique icons and then storing a single byte
index into the unique array.
when using `O_EMOJI` this results in around ~1.7KiB drop in the total
table size. `O_NERD` and `O_ICONS` get roughly ~0.5KiB savings.
2022-07-24 16:24:11 +06:00
Arun Prakash Jana
197717ce68
Enable hidden when opening a hidden file
2022-07-23 09:33:11 +05:30
NRK
3b09fd1c75
Revise and optimize icons handling
...
This pretty much reworks the entire icon system. Some notable changes:
* The extensions are put into a statically generated hash-table instead
of a sorted array. We use Robin-Hood insertion to reduce the max probe
length. Currently we need to probe only 2 slots for `O_EMOJI` and only
3 for `O_NERD`/`O_ICONS`.
* I've opted not to use a perfect-hash since the perfect hashes
generated by [`gperf`](https://www.gnu.org/software/gperf ) used some
huge lookup table. The hash function also wasn't as minimal as I'd
like.
* Colors are now using X-Macros. This should speed up startup since we
don't have to search `icons_ext` linearly to find unique colors.
* The hash-table generator outputs a more space optimized `struct
icon_pair` using a char array instead of char pointer. This brings
down the binary size from `145KiB` when using `O_NERD` down to
`137KiB`.
* Some unnecessary duplication and indirection has been reduced by using
the `ICON_STR()` macro.
2022-07-22 17:08:42 +06:00
Arun Prakash Jana
d95755cce1
Use unget_wch()
2022-07-21 17:51:20 +05:30
Arun Prakash Jana
12b5416b2c
Fix #1428 : handle unicode keybinds
2022-07-20 20:09:34 +05:30
Arun Prakash Jana
a937265833
Reduce get_wch() array length and initialization.
2022-07-20 18:49:24 +05:30
Arun Prakash Jana
b75a22f72d
Minor improvements
2022-07-18 18:28:16 +05:30
Arun Prakash Jana
b752744ca0
Show volume used information in help
2022-07-18 18:28:16 +05:30
Arun Prakash Jana
db7cb4da1e
Fix double order chars on filter case match change
2022-07-18 18:28:15 +05:30
NRK
7121a6fe43
Fix build break
2022-06-30 22:26:17 +05:30
NRK
744e9aaf70
initialize to zero instead of using memset
...
reduces some unncessary code. and when initializing larger objects,
compilers (gcc and clang at least) typically tend to compile it down to
a memset anyways.
2022-06-30 00:27:00 +06:00
NRK
1d347b1ce9
cfg: use designated initializer
...
anything not explicitly initialized will be implicitly initialized to
zero. this makes things more robust since comments are not checked by
the compiler and can be incorrect.
2022-06-30 00:26:36 +06:00
NRK
2df0cbd08b
fix incorrect comment
...
xextension() uses xmemrchr to find '.'
2022-06-30 00:25:44 +06:00
Arun Prakash Jana
52f4ee5aee
Fix build break
2022-06-28 23:17:23 +05:30
NRK
eb66cb5d11
account for realpath failure
...
realpath may fail, in which case fallback to mkpath.
2022-06-20 21:49:41 +06:00
Arun Prakash Jana
2130e1b33a
Use the term auto-advance instead of auto-jump
...
There's no jump.
2022-06-15 20:04:56 +05:30
Arun Prakash Jana
d898d174f5
Fix docs, allow /
to enable filter inside bookmarks
2022-06-14 17:36:17 +05:30
Arun Prakash Jana
581e629c20
Enable automatic dir entry on unique filer match
2022-06-14 13:49:41 +05:30
Arun Prakash Jana
56f96c3d0a
Enable filtering in plugins/bookmarks dirs
...
Enable auto-dir entry on filter mode
2022-06-14 13:10:54 +05:30
Arun Prakash Jana
51f2fde0e6
Revert #1398 : Go to prev dir on bookmark key repeat
...
Reasons:
1. `b` is not a special key and will be interpreted as a filter
2. with this change pressing the standard `-` inside a symlinked
bookmark takes back to the bookmarks directory. This deviates
from the regular bookmarks behaviour.
2022-06-14 12:51:42 +05:30
Luuk van Baal
5b5a62bb0d
Fix false positive selbm
2022-06-13 04:07:40 +02:00
Arun Prakash Jana
19b2ea324a
Skip redundant getutil() call
2022-06-11 21:32:16 +05:30
Arun Prakash Jana
03fc3b99c5
Add informative comment
2022-06-11 21:25:03 +05:30
Arun Prakash Jana
e104b749be
Patch #1386 : make bsdtar the default archive handler
2022-06-11 15:09:40 +05:30
Arun Prakash Jana
49f21ae013
Fix segfault when last dir is not set
2022-06-11 06:05:57 +05:30
Göran Gustafsson
4baee859f8
Go to last dir on bookmark key repeat
2022-06-10 21:18:02 +05:30
Luuk van Baal
6fc8f63c0d
Disable e on explorer mode
2022-06-08 21:01:03 +02:00
Arun
88306e2d9c
Merge pull request #1391 from ggustafsson/feat/usage-stdout-fix
...
Print usage info to stdout instead of stderr
2022-06-08 02:54:27 +05:30
Göran Gustafsson
5023abe2df
Print usage info to stdout instead of stderr
2022-06-07 20:33:05 +02:00
Göran Gustafsson
93db9bb2be
Use -x flag with BSD stat
2022-06-05 22:13:23 +02:00
NRK
5ae3891ee5
fix incorrect usage of sizeof
...
`sizeof(cmd)` here would give the sizeof a char pointer, not the sizeof
the cp/mv array.
2022-06-02 15:44:31 +06:00
Arun Prakash Jana
10e2d37d0f
Revert "Enter type-to-nav for bookmarks dir"
...
This reverts commit 8cdeddeb4a
.
2022-05-30 22:20:45 +05:30
Arun Prakash Jana
85be28c019
Revert "Fix reverting filtermode on empty directory"
...
This reverts commit 4337214f50
.
2022-05-30 22:19:41 +05:30
Arun Prakash Jana
d618922177
Get rid of rundir
2022-05-29 22:32:54 +05:30
Arun Prakash Jana
4337214f50
Fix reverting filtermode on empty directory
2022-05-29 20:17:55 +05:30
Arun Prakash Jana
31a273fdd0
Fix build break
2022-05-29 20:09:33 +05:30
Luuk van Baal
8cdeddeb4a
Enter type-to-nav for bookmarks dir
2022-05-29 13:55:15 +02:00
Arun Prakash Jana
8175571952
Clear runtime states
2022-05-28 23:30:56 +05:30
Arun Prakash Jana
3a50be93fd
Fix #1369 : limit symlinked bookmarks to bookmarks dir
2022-05-28 23:14:07 +05:30
Arun Prakash Jana
8d83af811f
Fix #1369 : open target of symlinked bookmark
2022-05-28 05:54:55 +05:30
NRK
ba72fca69a
check for some alloc failures
2022-05-12 18:26:48 +06:00
Desmond Kabus
b45be9bc5b
Add build option EMOJI for Unicode emoji as file icons
2022-05-10 20:31:11 +05:30
Arun Prakash Jana
18a6a010cf
Fix #1355 : interpret suffix $nnn
when paging
2022-05-10 19:46:19 +05:30
Arun Prakash Jana
3f58f6111c
Prepare for release v4.5 Cachaça
2022-04-26 18:34:24 +05:30
Arun Prakash Jana
cc965d1c2d
Use bold forward arrowhead for current
2022-04-26 04:26:01 +05:30
Arun Prakash Jana
dc16ca2340
Add 2 spaces after icons for better visibility
2022-04-26 03:59:12 +05:30
Arun Prakash Jana
6b9f8f3666
Fix #1345 : allow symlink name '@' in single file case
2022-04-20 20:20:25 +05:30
Arun Prakash Jana
be4460c1da
Handle broken window if started in type-to-nav
2022-04-16 18:48:52 +05:30
Arun Prakash Jana
eb42f7a948
Bind ^J with toggle auto-jump on open
2022-04-16 18:04:09 +05:30
Arun Prakash Jana
2c5cb4c5aa
Replace ^J with + to (un)select
...
^J has been reported as out of place several times.
As `+` is used as the seleciton marker, it makes more sense.
2022-04-16 17:04:53 +05:30
NRK
d0bf2abb37
consistently use ELEMENTS macro
...
+ some small white-space fixes
2022-04-12 22:30:22 +06:00
Arun Prakash Jana
d66492ac10
Show reverse timestamp for young entries
...
Show timestamps for entries modified/created within 5 minutes in
reverse.
Signed-off-by: Arun Prakash Jana <engineerarun@gmail.com>
2022-04-02 10:15:14 +05:30
Arun
81226db24e
Merge pull request #1330 from N-R-K/prompt_clearsel
...
native prompt: clear selection on successful operation
2022-03-24 03:05:47 +05:30
NRK
72ecf6c4b8
native prompt: clear selection on successful operation
...
have been using the %j substitution for a bit now, it's quite nice :)
but it's also quite annoying when doing something like
mv "%j" ./
in this case, the files have been moved but the selection is incorrectly
points to them.
when there's a successful operation made on the selection via the native
prompt, it makes sense to clear the selection.
2022-03-24 00:23:38 +06:00
NRK
9be6c1a5e2
avoid unnessary heap allocation
...
the binary size shouldn't change since it'll most likely go into the bss
section.
2022-03-22 17:50:54 +06:00
Arun Prakash Jana
d38841d5f3
Support n/N to cancel forced rm
2022-03-13 12:37:50 +05:30
Arun Prakash Jana
66639c6053
Fix #1312
2022-02-27 01:44:30 +05:30
NRK
2fedc92efc
export NNN_INCLUDE_HIDDEN to plugins
...
Closes: https://github.com/jarun/nnn/issues/1308
2022-02-22 17:40:44 +06:00
NRK
799b8fd378
don't leak inotify_fd to plugins
...
Closes: https://github.com/jarun/nnn/issues/1291
Co-authored-by: Daniel Eklöf <daniel@ekloef.se>
2022-02-15 19:05:58 +06:00
Arun Prakash Jana
23b54ba0cf
Open previous active context on context quit
2022-02-06 00:23:45 +05:30
Arun Prakash Jana
aa2147f3ef
make option O_NOSORT to disable sort on dir load
2022-01-23 10:52:33 +05:30
Arun Prakash Jana
e140e34483
Disable filterinfo if file details enabled
2022-01-22 21:06:57 +05:30
Arun Prakash Jana
fe4ea8a029
Update copyright date
2022-01-22 16:02:51 +05:30
NRK
02d6feb9b9
check bound before making access
2021-12-25 12:47:48 +06:00
NRK
1608c8763f
avoid having function with unspecified arguments
2021-12-25 12:47:33 +06:00
NRK
78c0d54400
avoid doing arithmetic on void pointer
2021-12-25 12:47:24 +06:00
NRK
62f1004836
upadte the source code according to the docs
2021-12-25 08:37:28 +06:00
Arun Prakash Jana
892e4c0082
Use terms consistent with man page in docs
2021-12-25 08:02:27 +05:30
Arun Prakash Jana
1e8b8d14ff
Remove redundant line
2021-11-27 09:48:21 +05:30
NRK
bd8faa2dd8
use patterns[] for archive command string
2021-11-24 22:34:22 +06:00
NRK
578e6d1aaa
use a macro for the format string
...
this makes things slightly more robust as changing the string inside the
macro would automatically change the malloc size.
2021-11-24 22:06:05 +06:00
NRK
f7091f78e5
fix the malloc size in get_archive_cmd
...
since the tr hack was removed in deead97
, the format string is no longer
70 chars. also removes unnecessary malloc casting.
2021-11-24 21:53:11 +06:00
Omar Polo
fb3d3ab0ef
define SED only if not already defined
...
This allows packagers to set a custom path for sed (gsed may be simply
called `gsed' or `gnu-sed' or ...)
2021-11-24 11:44:50 +01:00
Omar Polo
deead97e23
drop unnecessary ifdef __linux__
...
since nnn requires gsed anyway, why don't use it?
Probably forgot in #1210
2021-11-24 11:40:59 +01:00
Arun Prakash Jana
65eddfe7b9
Prepare for release v4.4 Tequila
2021-11-23 18:33:45 +05:30
Luuk van Baal
1a6d54515b
Guard open_with getreadline with for picker
...
fix luukvbaal/nnn.nvim#25
2021-11-23 13:11:42 +01:00
KlzXS
ca9b5e04c7
Enforce %J only at the end of command
...
Also removes double shell
2021-11-16 00:44:44 +01:00
Arun Prakash Jana
f66183937d
More frequent interrupt handling during du
...
The check is done when traversing directories in preorder i.e before the files
inside are enumerated. Postorder traversal is unwinding, so mostly we are done
with the calculation and finishing off the thread.
2021-11-15 01:11:46 +05:30
KlzXS
48415c5e1c
Revert "malloc() mem those persist through program runtime"
...
This reverts commit b84ad2d552
.
2021-11-08 15:08:12 +01:00
Arun
1508874b5a
Merge pull request #1224 from KlzXS/nmv_list_current
...
Updated .nmv to support current when NNN_LIST
2021-11-08 13:34:39 +00:00
KlzXS
22096ee0cd
Updated .nmv to support current when NNN_LIST
...
NNN_LIST now should pass listroo
2021-11-07 22:08:43 +01:00
Arun Prakash Jana
b84ad2d552
malloc() mem those persist through program runtime
...
At exit, the OS should reclaim all the memory, so no explicit free() required.
2021-11-05 07:59:40 +05:30
KlzXS
eb769c0de5
Resolve symlinks one level for .nmv when in list mode
2021-11-03 08:37:08 +05:30
Arun Prakash Jana
bdbd182c65
Handle plugin selection early
2021-11-01 12:54:47 +05:30
Arun Prakash Jana
cffcd655e9
Minor code refactor
2021-10-30 12:26:31 +05:30
Arun Prakash Jana
2a87694e6a
Do not reorder pre-ordered directory on refresh
2021-10-30 12:07:45 +05:30
Arun Prakash Jana
473cd271b5
Position cursor in correct place for long names
2021-10-29 21:27:02 +05:30
Arun Prakash Jana
8efcc24e0e
Fix #1213 : scroll long strings in prompts
2021-10-29 19:41:56 +05:30
Alexis Praga
e3e4159e11
BSDs and Solaris: use gsed instead of sed
2021-10-28 11:38:35 +02:00
Arun Prakash Jana
856896f55d
Update comment
2021-10-27 03:57:23 +05:30
Arun Prakash Jana
4d864d438f
Update help
2021-10-23 19:21:22 +05:30
Arun Prakash Jana
f4f78276e2
Disable verbose xargs, change nativ eprompt to "nnn]"
2021-10-23 03:47:53 +05:30
Terminator X
b411dfe1ba
Merge pull request #1202 from KlzXS/cmd_selection
...
Added %s and %S for using selection in shell
2021-10-23 03:01:07 +05:30
KlzXS
7857b7bc5a
Fix off-by-one
2021-10-22 21:06:26 +02:00
KlzXS
1022340aa1
Revert searching for a leading space
...
%j and %J will be replaced by a file path. File paths should be quoted to ensure proper interpretation by the shell
2021-10-22 20:28:33 +02:00
KlzXS
73ef170da7
Replace %s and %S with %j and %J
...
Those two conversions aren't used by any printf and scanf functions so there will no longer be any erroneous rewrites
Style fixes
2021-10-22 19:58:50 +02:00
Luuk van Baal
fa9067afd4
Clear selection for send_to_explorer
2021-10-22 18:26:45 +02:00
Arun Prakash Jana
cb5aefa59a
Remove option -w: always place HW cursor on current entry
2021-10-22 06:45:42 +05:30
Arun Prakash Jana
00c73512b9
Revert "fix: no mouse support inside vim terminal"
...
This reverts commit dd7c13dd77
.
Single/double mouse click breaks on xfce4-terminal and xterm on Ubuntu 20.04
2021-10-22 00:30:11 +05:30