Commit graph

1816 commits

Author SHA1 Message Date
Arun Prakash Jana fe4ea8a029
Update copyright date 2022-01-22 16:02:51 +05:30
NRK 04181084c0 add webp icon 2021-12-26 14:43:18 +06:00
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 a1b15eb766
Merge pull request #1258 from N-R-K/opus_icon
add icon for opus files
2021-12-17 17:46:59 +05:30
NRK 7aef60a9d5 add icon for opus files 2021-12-15 00:45:58 +06:00
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
Arun Prakash Jana e2c4445d74
Fix build break 2021-11-03 09:01:26 +05:30
KlzXS eb769c0de5
Resolve symlinks one level for .nmv when in list mode 2021-11-03 08:37:08 +05:30
Marco Cantoro da03016c79 [icons nerdfont] added gpg icon 2021-11-01 11:39:33 +01:00
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
Luuk van Baal 2801832c4d
Selection and mouse support for explorer/picker 2021-10-21 23:58:35 +05:30
Terminator X 5f76b69c36
Merge pull request #1204 from N-R-K/mouse_ev
fix: no mouse support inside vim terminal
2021-10-21 18:23:57 +05:30
NRK dd7c13dd77 fix: no mouse support inside vim terminal
we need to signal mouse event by printing these escape codes. the X10
escape code seems to be legacy format only used as fallback incase SGR
extended coordinates aren't supported.
2021-10-21 18:21:59 +06:00
KlzXS bc69c968be
Added %s and %S for using selection in shell 2021-10-20 19:28:15 +02:00
Arun Prakash Jana 53fbab1f44
Prefer inline for single liner 2021-10-20 20:29:15 +05:30
Arun Prakash Jana 24b71bcf1f
Picker mode: don't pick on Enter if selection exists 2021-10-19 18:50:11 +05:30
Arun Prakash Jana 12fa5344cf
Fix #1201: accept link name for single target
When creating new sym/hard link, accept link name if
the current file is being linked or 1 file selected.
2021-10-19 15:35:57 +05:30
Arun Prakash Jana a06ff83c22
Add option -i to show file information on hover 2021-10-17 12:01:01 +05:30
Arun Prakash Jana 9c36f0df34
Get rid of clearinfoln() 2021-10-17 05:00:35 +05:30
Arun Prakash Jana 3490a959be
make var O_FILEINFO to show file info on hover 2021-10-16 22:48:01 +05:30
Arun Prakash Jana 3acbc65adb
Fix build break 2021-10-09 19:37:45 +05:30
Luuk van Baal 151312eb37 Save session after browse() 2021-10-07 02:57:55 +02:00
NRK 8a1a5db92a Disable e on picker mode
Mainly so that pressing 'e' due to muscle memory on nnn.vim doesn't nest
a new editor instance inside the embedded vim terminal.

However invoking nnn with picker mode implies that the intention is to
pick file(s), there shouldn't be any business trying to edit things on
the fly. And if editing a file while in picker mode is desirable, then
'l' can be used for that instead.
2021-09-30 19:54:22 +06:00
Arun Prakash Jana e74aa95e3f
Prepare for release v4.3 Martini 2021-09-29 14:37:45 +05:30
Arun Prakash Jana fc86152fa2
Fix compilation warning 2021-09-29 14:28:16 +05:30
Arun Prakash Jana 046d676a73 Fix broken GUI cmd run as plugin case 2021-09-25 23:55:25 +05:30
Arun Prakash Jana ffe472ac32 Revert "Close previewer when opening file (#1171)"
This reverts commit 532532704e.
2021-09-22 05:46:45 +05:30
CantoroMC bfc493c753
Support for nerdfont sty,cls and bib(tex filetypes) (#1169)
I've extended the use of nerdfont icon for tex to other common tex extensions.
I don't know how to do the same for icons-in-terminal.
Additionally, since the list is growing I have alphabetize the list of common
icons, used in icons-nerdfont.h.
2021-09-21 10:23:18 +05:30
luukvbaal 532532704e
Close previewer when opening file (#1171) 2021-09-21 10:18:51 +05:30
CantoroMC 2a6cc41972
add provided but unused ruby icon (#1167) 2021-09-19 10:13:07 +05:30
Arun Prakash Jana aea97cf3a7
More checks 2021-09-09 23:17:22 +05:30
Arun Prakash Jana 27e1eb54c4
Fix #1162: run commands as plugin through shell 2021-09-09 19:38:41 +05:30
Arun Prakash Jana e7aec90889 Add early check 2021-09-09 18:05:51 +05:30
Arun Prakash Jana 9df7e5f03e
Reformat checks 2021-09-09 09:06:09 +05:30
Arun Prakash Jana 359d7bc29c
Directory-specific sort order 2021-09-09 01:46:22 +05:30
Arun Prakash Jana fa7cef2df7
The shell interprets "$nnn" now 2021-09-05 18:19:30 +05:30
Arun Prakash Jana 51829c8027
Reformat copy current current file name 2021-09-04 08:06:29 +05:30
Arun Prakash Jana 49be2cfcd1
Fix #1153: sync hidden on batch rename 2021-09-04 07:23:02 +05:30
Arun Prakash Jana ab0ab2b5f4
Use a meaningful macro 2021-09-04 07:21:59 +05:30
Daniel Eklöf 0556ac14ec
[draft] signal CWD change to terminal via OSC-7 (#1148)
* Signal CWD change to terminal via OSC-7

Closes #1147

* Make OSC-7 emission gated by NOX11

* Use newpath variable in gethostname()

Use dynamic memory for hostname
2021-08-30 20:14:05 +05:30
Arun Prakash Jana c974690482
Fix build break 2021-08-25 20:14:55 +05:30
Arun Prakash Jana 742759f32d Exports special variables before running plugins 2021-08-25 16:32:45 +05:30
Arun Prakash Jana 55fc0c500b
Retain original context hovered file when selecting from plugin dir 2021-08-25 01:32:40 +05:30
Arun Prakash Jana a62dbf093a
Fix NULL file name handling 2021-08-25 00:47:52 +05:30
Arun Prakash Jana 900513710f
More special variables at prompt/shell
$dN: directory path open in context N
$fN: file path hovered in context N
2021-08-24 23:34:40 +05:30
Arun Prakash Jana 6243de06f4
Update help page logo 2021-08-23 11:02:53 +05:30
Arun Prakash Jana e11cbc289a
Add a cool ASCII art to help screen 2021-08-23 04:38:54 +05:30
elder-n00b e4813f06c1
MacOSX legacy (#1138)
* Branched v4.2
Added workaround for Mac OS X < 10.12.0
(Only tested on 10.11.6, lower versions may need more workaround)

* Added *.dSYM to .gitignore

* Added comments for the macosx detection in Makefile

* Fixed indentation, formatting and missing newline at eof

* Moved includes inside include guard

Co-authored-by: elder-n00b <elder-n00b@yandex.com>
2021-08-22 12:17:27 +05:30
Arun Prakash Jana 6c5eab5e55 Jump back last dir from plugin dir with - 2021-08-19 08:45:07 +05:30
luukvbaal ad6b6bd3df
Icon changes .iconlookup (#1136) 2021-08-18 23:16:29 +05:30
CantoroMC a65055fc32
change and add some icons-nerdfont (#1135) 2021-08-18 19:23:53 +05:30
CantoroMC 43da9a9c46
icon for zsh, nix, and matlab files(nerdfonts), lua color to lua file (#1132)
* icon for nix and matlab files(nerdfonts), lua color to lua file

* Update .iconlookup

* Update icons-nerdfont.h

* Update icons.h

Co-authored-by: luukvbaal <31730729+luukvbaal@users.noreply.github.com>
2021-08-17 20:41:42 +02:00
Arun Prakash Jana 78ea6702f7
Key B to add bookmarks on the fly 2021-08-17 20:53:54 +05:30
Arun Prakash Jana 983d689a05
Disable auto-marking 2021-08-17 15:06:09 +05:30
0xACE 9d4330e382
Decide string length at compile time (#1130)
I run into many premature optimizations in our codebase which are
unnecessary.

In this particular case `strlen()` is optimized at compile time even at
`-O0` with `gcc`.

I would value higher code quality than dealing with these things in our
future endeavours. If this is accepted I may supply some more
readability patches.
2021-08-17 10:26:33 +05:30
Arun Prakash Jana 86648ab391
Fix length 2021-08-17 01:03:28 +05:30
Arun Prakash Jana 46294e9f3d
Add bookmarks directory support 2021-08-16 20:16:56 +05:30
Arun Prakash Jana 943a7c13ac
Fix broken statusbar when symlink name exceeds max cols 2021-08-15 22:07:18 +05:30
Arun Prakash Jana 7cbc79a5fc
Remove repetitive code 2021-08-14 19:27:24 +05:30
Arun Prakash Jana e4c1abb6b8
Save full filter in session to restore correctly 2021-08-12 23:15:15 +05:30
Arun Prakash Jana bf2b8d8c84
Decouple statusbar redraw 2021-08-12 22:09:06 +05:30
Arun Prakash Jana fc00faf7d0
Do not modify $PWD 2021-08-12 10:46:12 +05:30
Arun Prakash Jana 42061b0399
Fail operations if selection file is empty 2021-08-12 00:20:13 +05:30
Arun Prakash Jana 06e2676421
Sync operation on selection among nnn instances 2021-08-11 21:53:42 +05:30
Arun Prakash Jana 97ac88dec2
Try to get current dir from PWD first 2021-08-10 22:34:18 +05:30
Arun Prakash Jana e146ad0d7a
Use a different function 2021-08-10 07:06:20 +05:30
Arun Prakash Jana 59d90aa2ce
Do not resolve symlinks in argument PATH 2021-08-10 06:48:21 +05:30
Arun Prakash Jana 1df63a78e4
Do not resolve symlinks in bookmarks 2021-08-09 01:13:54 +05:30
Arun Prakash Jana 49ee5b21e7
Do not end selection mode before prompt/shell 2021-08-08 20:15:20 +05:30
Arun Prakash Jana 62a0486480 Do not end selection mode before invoking plugin 2021-08-08 18:31:29 +05:30
Arun Prakash Jana 7d17cf3f63
List open locations from active contexts in help 2021-08-07 23:55:51 +05:30
Arun Prakash Jana 87380732dc
make option O_MATCHFLTR to disable filters without match 2021-08-05 22:15:02 +05:30
Arun Prakash Jana b54f771a44
Fix #1117: Revert "Ignore filter key if no results"
This reverts commit 3ef50f06f8.
2021-07-29 03:34:06 +05:30
Arun Prakash Jana 88e38f1efc
Eliminate redundant stat() 2021-07-27 23:04:23 +05:30
Arun Prakash Jana 6ba0a8357f
redraw() is heavy and distracting 2021-07-26 06:19:56 +05:30
Arun Prakash Jana 8cebc69e71
Fix build break 2021-07-25 07:20:43 +05:30
Arun Prakash Jana f6856f61f7
Allow specifying output file in NNN_TMPFILE for cd on quit 2021-07-25 07:03:09 +05:30
Arun Prakash Jana f1dbb9622d Open controlling terminal only as stdin 2021-07-24 22:22:17 +05:30
Arun Prakash Jana d80fdf335b
Check if file is already selected before appending in picker mode 2021-07-24 01:51:20 +05:30
Arun Prakash Jana e2545f9596
Truncate output file before writing in picker mode 2021-07-24 01:25:28 +05:30
Arun Prakash Jana 25fab4cb2e
Open controlling terminal for input when run in a script 2021-07-23 23:46:20 +05:30
Arun Prakash Jana bc5b39d54c
Prepare for release v4.2 Mojito 2021-07-21 17:45:39 +05:30
Arun Prakash Jana 3f07a8ca76
Press TAB to insert current file name at prompt 2021-07-21 11:24:46 +05:30
Arun Prakash Jana 7b31a356d2
Minor update 2021-07-20 23:31:40 +05:30
Arun Prakash Jana 9972c4bdb0
Fix #1110: sanitize path from plugin 2021-07-19 03:57:53 +05:30
Arun Prakash Jana c470143113
Clear filter early before running plugin 2021-07-19 01:52:44 +05:30
Arun Prakash Jana 3b5800fc7a
Selection-specific scratch buffer 2021-07-18 11:45:50 +05:30
Arun Prakash Jana 29a7a25445
Free allocated memory 2021-07-18 02:51:09 +05:30
Arun Prakash Jana 1e182a1fe5
Remember the last command executed at prompt 2021-07-17 16:30:45 +05:30
Arun Prakash Jana f7aa4ed324
Add macro for prompt 2021-07-17 13:09:33 +05:30
Arun Prakash Jana 0ef34a930c
Use a simpler macro 2021-07-17 13:05:37 +05:30
Arun Prakash Jana 07b627a725
Fix unused variable warning 2021-07-17 04:46:35 +05:30
Arun Prakash Jana a911b3044a
Code reformat 2021-07-16 21:19:17 +05:30
Arun Prakash Jana 26f44f0dfc
Fix selection in / 2021-07-16 11:09:20 +05:30
Arun Prakash Jana fa0f9ddc93
Remove from selection when hovered entry is deleted 2021-07-16 04:44:01 +05:30
Arun Prakash Jana 3ef50f06f8
Ignore filter key if no results 2021-07-16 02:22:01 +05:30
Arun Prakash Jana d40dbfd69a
Do not apply filter if directory is empty 2021-07-16 01:54:15 +05:30
Arun Prakash Jana 8af773eb0d
Allocate PATH_MAX aligned memory size 2021-07-16 01:19:09 +05:30
Arun Prakash Jana 8ad807d4a9
Optimize repeat copy of same prefix 2021-07-15 23:43:07 +05:30
Arun Prakash Jana 4ec87e3021
Optimize bulk selection 2021-07-15 21:21:54 +05:30
Arun Prakash Jana 0159c08602
Invert optimization: allocate in a go 2021-07-15 18:59:00 +05:30
Arun Prakash Jana 064f5ea998
Show msg for both invert and select all 2021-07-15 11:45:32 +05:30
Arun Prakash Jana 9526fb7612
Optimize invert further 2021-07-15 02:06:11 +05:30
Arun Prakash Jana 61d8a29d84
In-place invert optimization 2021-07-14 21:04:02 +05:30
Arun Prakash Jana b3ef30a8ba
Update add to and invert selection logic 2021-07-13 21:46:18 +05:30
Arun Prakash Jana 96f2dfa8a5
Scan for selection status on redraw() 2021-07-13 01:30:23 +05:30
Arun Prakash Jana 60f310160a
Remove redundant macro 2021-07-12 02:54:00 +05:30
Arun Prakash Jana baca4693ec
Remove redundant prompt 2021-07-12 01:22:39 +05:30
KlzXS b5d1a1b036
Use selbufpos instead of selbuflen 2021-07-11 20:16:28 +02:00
KlzXS c0dceb18c6
Persistent selection (#1086)
* Add persistsel

* Fix Makefile spacing

* Update Haiku Makefile

* Do a double pass on inversion

* Split single and double pass for easier testing

Removed lastappendpos

Eliminate suffix matches

* Check if dir is in selection before searching for files

Fix double pass

* Switch to mainline

Optimize memory moving

Handle large selection in invertsel()

Going forward with 2pass

* Update Makefiles

* Fix style

* Move forward declarations

* Remove edit selection in inversion

Replace buf with g_buf to fix CI

Fix CI

* Style changes

* Comment the code

* Style fixes

* Fix infinite loop

* Fix crash on empty invert

* Fix off-by-one-in-two-places

Off-by-twice?

* Adopt changes from master

* Only check directory if entry in it is selected

* Better organization

* Wrong variable

* Tiny optimizations

* Style fixes and updated man page

* Update man page

* Remember where we found directory path in selection

Add in progress message on invert
2021-07-10 07:30:02 +05:30
Arun Prakash Jana d9db6b045c
Fix #1102: suppress clang unused variable warnings 2021-07-10 02:08:48 +05:30
Arun Prakash Jana 5f5ee10e94
Fix #1101: confirm trashing files 2021-07-09 21:00:46 +05:30
Arun Prakash Jana facdc5fdeb
Fix #1098: clear selmode on last deselect 2021-07-06 23:25:49 +05:30
Luuk van Baal 36ddbac10a Move ajust cols and no else braces 2021-07-03 00:50:51 +02:00
Arun Prakash Jana d4a4c72e00
Fix off_t to uint_t comparison warning
The man page says:

"blkcnt_t and off_t shall be signed integer types."

https://man7.org/linux/man-pages/man0/sys_types.h.0p.html
2021-07-02 20:34:02 +05:30
Piña Colada ce8b9fdb2f
Merge pull request #1088 from 1bman/1bman-patch-1
fix icons.h typo
2021-06-30 19:51:50 +05:30
1bman 99bd80137d
fix icons.h typo
fixed some typo
2021-06-30 14:25:01 +05:30
KlzXS c39e54b288
Fix debug line number 2021-06-29 19:49:59 +02:00