Commit graph

1446 commits

Author SHA1 Message Date
KlzXS 7b7252dd32
Fix picker and list mode conflict (#533)
* Fix picker and list mode conflict

* Comment the change
2020-04-24 20:26:09 +05:30
Arun Prakash Jana bc572df55a
NNN_SEL: custom selection file 2020-04-24 18:12:18 +05:30
Arun Prakash Jana 752bc67de0
Bookmark key get priority over session 2020-04-24 09:54:43 +05:30
Arun Prakash Jana 4b5ecbe8fc
Do a complete erase 2020-04-19 03:11:12 +05:30
Arun Prakash Jana 12df1ab083
Fix listing files directly under / 2020-04-18 15:08:23 +05:30
Arun Prakash Jana b40e12ee9f
Remove hacky single path handling 2020-04-18 13:35:57 +05:30
Arun Prakash Jana 75724f9e3b
Fix #520: minimal erasure 2020-04-18 07:18:35 +05:30
Arun Prakash Jana 645f43355e
Fix #526: persistent session 2020-04-18 04:54:07 +05:30
Todd Yamakawa c63fb28eff
Fix #523: handle NNN_PIPE (#525)
Co-authored-by: Todd Yamakawa <todd.yamakawa@arm.com>
2020-04-17 17:51:57 +05:30
Arun Prakash Jana 58ecc240ed
Save offset in key-val pairs 2020-04-17 16:53:19 +05:30
Arun Prakash Jana e92b523976 Fix #523: create NNN_PIPE early 2020-04-17 08:54:50 +05:30
Arun Prakash Jana ddaddcaf21
Experimental: guards to reduce repeat screen redraws 2020-04-16 17:45:58 +05:30
Arun Prakash Jana 37ebf8054f
Go to first file or next match 2020-04-16 03:44:07 +05:30
Arun Prakash Jana 63c177bb15
Env var NNN_LOCKER 2020-04-16 00:29:45 +05:30
Arun Prakash Jana 135172a1c6
Fix #520 2020-04-15 22:36:33 +05:30
Arun Prakash Jana 124d66dcbd
Fix build break 2020-04-15 21:05:10 +05:30
Arun Prakash Jana 425c0559a5
One-pass key-val pair parsing for bms and plugs 2020-04-15 20:43:26 +05:30
Arun Prakash Jana ac8b56ecc2
Show entry even if no permission 2020-04-15 17:52:21 +05:30
Arun Prakash Jana 588b413832
Optimized xstrlen(), xstrdup() 2020-04-15 16:18:41 +05:30
Arun Prakash Jana 30a6caf8bc
Refactor set_time_type() 2020-04-14 22:38:33 +05:30
Arun Prakash Jana e0cdbcb521
Check for file first (more in number) 2020-04-14 20:59:37 +05:30
Arun Prakash Jana 1029ff0d5b
MInor refactor 2020-04-14 09:54:42 +05:30
Arun Prakash Jana e72fa538d7 Reduce the scope of loop variables 2020-04-13 23:21:43 +05:30
lvgx a6cef2504c
Make NNN_COLORS override NO_COLORS (#515) 2020-04-13 22:21:56 +05:30
Arun Prakash Jana cd1c458c96
Fix build break 2020-04-13 21:55:11 +05:30
Arun Prakash Jana a9436cfe7b
Fix build break 2020-04-13 21:42:23 +05:30
Arun Prakash Jana c58434d078
Fix symlink to dir indicator in detail mode 2020-04-13 20:42:19 +05:30
Arun Prakash Jana 35c3497364
Use memccpy 2020-04-13 20:35:14 +05:30
Arun Prakash Jana 315132b363
Happy Birthday nnn! 🍰 2020-04-13 09:01:09 +05:30
Arun Prakash Jana f54d51c863
Change nav-as-you-type to type-to-nav 2020-04-12 22:39:14 +05:30
Arun Prakash Jana 806b91b60d
Simplified dirname() 2020-04-12 17:44:29 +05:30
Arun Prakash Jana 2b3214bd58
Simplify finding valid parent 2020-04-12 17:12:14 +05:30
Arun Prakash Jana 5e0049b6fa
Fix indent 2020-04-12 09:50:03 +05:30
Saagar Jha 3bab34e962
Opinionated xstrlcpy changes (#513)
* Unvectorize xstrlcpy

On all libcs I could find, memcpy does a better job than we can.

* Rename xstrlcpy to xstrsncpy to avoid confusion

The semantics of our xstrlcpy differed slightly from strlcpy; we return
the number of copied characters; strlcpy returns the strlen(src).
strscpy from Linux is similar except it returns the number of copied
characters sans the NUL byte, so this is named strsncpy to be different.
2020-04-12 06:05:14 +05:30
Arun Prakash Jana 2115d75ac6
Minor refactor 2020-04-11 23:48:05 +05:30
Arun Prakash Jana 0b66191dd5
Minor refactor 2020-04-11 20:23:24 +05:30
Arun Prakash Jana 36ae4b8250
Hover on dir and connect remote 2020-04-10 19:53:16 +05:30
Arun Prakash Jana b3f8e4e511
Minor reformat 2020-04-09 19:13:42 +05:30
Arun Prakash Jana 707e30a590
Show status bar info in context color 2020-04-09 16:52:36 +05:30
Arun Prakash Jana 341b1ccb00
x to extract archive 2020-04-07 21:18:24 +05:30
Arun Prakash Jana 46f17885ce
Fix #511: chew ling strings at filter prompt 2020-04-06 21:39:37 +05:30
Arun Prakash Jana cee24984bc
Fix #511 2020-04-06 21:06:39 +05:30
Arun Prakash Jana e1ed4c62c5
Fix #510 2020-04-06 19:30:16 +05:30
Arun Prakash Jana b060115a19
A nocolor msg print 2020-04-05 22:46:16 +05:30
Arun Prakash Jana 1195dc86e0
Remove redundant calls 2020-04-05 21:45:30 +05:30
Arun Prakash Jana 078d05dc7a
Fix jump on canceled duplicate 2020-04-05 14:42:32 +05:30
Arun Prakash Jana 1014d941b1
Support only NO_COLOR, revert -C to disable color 2020-04-05 13:07:18 +05:30
lvgx f14fb9c0f9
Add suport for "standard" NO_COLOR env variable (#508)
See https://no-color.org
2020-04-05 03:56:18 +02:00
Arun Prakash Jana 6d13fce698
Fix screen not cleared with drag down on narrow terms 2020-04-05 06:37:26 +05:30
Arun Prakash Jana 0c966b2178
With dimming, @ is not required for symlink to dir 2020-04-05 06:30:28 +05:30
Arun Prakash Jana 02c02c520d
Option -C to disable color 2020-04-05 05:53:46 +05:30
Arun Prakash Jana 0e3146ebd2
Status bar in context color 2020-04-04 23:39:21 +05:30
Arun Prakash Jana 38bd3c4900
(Sh)TAB should get a new context if required 2020-04-02 20:47:15 +05:30
Arun Prakash Jana a3f509ffc6
Fix #499: add fflush() as well 2020-04-01 15:16:21 +05:30
Arun Prakash Jana ef159b9985
Fix clang-tidy warnings 2020-04-01 04:21:39 +05:30
Arun Prakash Jana f8d2be504a
Remove redundant param 2020-04-01 04:21:39 +05:30
Arun Prakash Jana 91bd84cd5d
Fix #499 2020-04-01 04:21:40 +05:30
Arun Prakash Jana 47ec055651
Fix #499: broken readline prompt 2020-04-01 02:26:32 +05:30
Arun Prakash Jana c01857cddb
Fix fzcd at /, minot refactor 2020-03-31 22:26:20 +05:30
Arun Prakash Jana 2d27902ac0
Quicker re-sort 2020-03-31 03:44:52 +05:30
Arun Prakash Jana eea1b5da7d
Update docs 2020-03-31 01:59:30 +05:30
Arun Prakash Jana a4243edacc
make var O_NOBATCH to compile out native batch renamer 2020-03-30 22:09:39 +05:30
Arun Prakash Jana 54d2580799
Add fortune to help 2020-03-30 09:09:11 +05:30
Arun Prakash Jana 9fea0220c4
List mode: limit exceeded error 2020-03-29 22:35:41 +05:30
Arun Prakash Jana b8ede9895f
Use more sensible msg 2020-03-29 21:27:52 +05:30
Arun Prakash Jana 8f910fe85a
Fix build break 2020-03-29 20:32:11 +05:30
Arun Prakash Jana 3d9905615d
Fix crash 2020-03-29 20:26:31 +05:30
Arun Prakash Jana 267dc04f6c
Reduce presel usage 2020-03-29 20:22:43 +05:30
Arun Prakash Jana d2e83b2cfe
Refactor change directory 2020-03-29 17:25:11 +05:30
Arun Prakash Jana 6ea33f1db3
Remove redundant name copy 2020-03-29 15:48:10 +05:30
Arun Prakash Jana e9ff65a7b5
No re-filter on MSGWAIT 2020-03-29 14:03:11 +05:30
Arun Prakash Jana 0bfc032e5d
Do not reload 2020-03-29 10:02:21 +05:30
Arun Prakash Jana 446266d4c7
Fix build error 2020-03-29 04:24:31 +05:30
Arun Prakash Jana df1e17a4c2
Reload dir when entering filter mode 2020-03-29 04:04:57 +05:30
Arun Prakash Jana dc7711271c
Fix sorting 2020-03-29 03:19:15 +05:30
Arun Prakash Jana 8f3f64b5a6
Experimental: retain filter in normal mode 2020-03-29 01:58:07 +05:30
Arun Prakash Jana c3ff380354
Retain hovered file name in filtered view with delayed msg 2020-03-28 12:28:00 +05:30
Arun Prakash Jana b87cdcde60
Fix wrong lint report 2020-03-28 09:45:22 +05:30
Arun Prakash Jana 22ccf5e2e6
Support time type (access/change/mod) change 2020-03-28 09:20:14 +05:30
Arun Prakash Jana 72333dcdd6
Statics are always initalized to 0 2020-03-27 14:38:56 +05:30
Arun Prakash Jana bf057c1007
Fix #498 2020-03-27 13:06:01 +05:30
Arun Prakash Jana 68fd0d7dd2
Use meaningful vars 2020-03-25 20:52:27 +05:30
Arun Prakash Jana dc08354b0f
Update docs 2020-03-25 11:47:30 +05:30
Arun Prakash Jana 33f2a2f37b
Remove redundant assignments 2020-03-21 21:28:48 +05:30
Arun Prakash Jana 49e36a4707
Reformat bookmark handling 2020-03-21 19:10:01 +05:30
Arun Prakash Jana 41f80f1f60
Key > to export file list 2020-03-20 23:46:58 +05:30
Arun Prakash Jana 0c55977465
Fix #496: option -f to use readline history file 2020-03-20 22:24:49 +05:30
Arun Prakash Jana f4786da9bc
Option -T obsoletes option -v 2020-03-18 02:41:30 +05:30
Arun Prakash Jana 85379a703b
Option -T to change default sort order 2020-03-18 02:35:05 +05:30
Arun Prakash Jana fc8c5b46b3
Skip erasing the complete screen 2020-03-16 21:39:44 +05:30
Arun Prakash Jana 1cf50e738f
Add clang-9 to compilation matrix 2020-03-16 07:33:54 +05:30
Arun Prakash Jana ea2de804f8
batch rename: check dep, handle invalid input 2020-03-15 20:26:53 +05:30
Arun Prakash Jana 03e6d7d553 Adapt PR #495 2020-03-15 19:52:02 +05:30
Arun Prakash Jana 67994ff4b2
Check if file is accessible 2020-03-14 21:44:48 +05:30
Arun Prakash Jana 1e53cd8ea1 Highlight the last copied/moved file 2020-03-14 20:22:58 +05:30
Arun Prakash Jana 0ef2b61a17
Increase number of events handled 2020-03-14 06:51:52 +05:30
Arun Prakash Jana 2d952795a8
Start watching dir if filter mode is disabled 2020-03-14 05:14:25 +05:30
Arun Prakash Jana 02754205a2
Fix #492 2020-03-11 21:59:34 +05:30
Arun Prakash Jana f527dd1c6a
Integrate batch renamer plugin 2020-03-11 17:52:38 +05:30
Arun Prakash Jana bf89040ace
Case-insensitive Ctrl-key handling, man page update 2020-03-11 09:14:59 +05:30
lvgx c9a17d80be
Add middle click copy (#491)
* Add middle click copy

* Make middle click action configurable

This introduces the NNN_MIDDLECLICK environment variable, containing the
key that middle mouse click emulates. Only the first character is read.

* Document NNN_MIDDLECLICK in nnn.1

* Use NNN_MCLICK instead of NNN_MIDDLECLICK

* Add '^key' syntax to set middle click to Ctrl+Key
2020-03-11 09:09:57 +05:30
Arun Prakash Jana 3dbe08aad6
Fix #486 2020-03-06 18:58:08 +05:30
Arun Prakash Jana d97d152269
Fix #486 2020-03-06 04:50:04 +05:30
Arun Prakash Jana 9bfda074bd
Show statusbar in du/au mode 2020-03-05 21:08:55 +05:30
Arun Prakash Jana 0cb5ddf3f1
Fix regression in calculating apparent du for dirs 2020-03-05 21:05:37 +05:30
Arun Prakash Jana 1fbaa61052
Add option to clear sort order 2020-03-05 20:45:07 +05:30
Arun Prakash Jana 646cd10b57
Fix #484 2020-03-04 06:18:08 +05:30
Arun Prakash Jana 0941e511e4
Clear filter at start 2020-03-02 18:54:53 +05:30
Arun Prakash Jana a54a23eae5
Minor refactor 2020-03-01 22:26:52 +05:30
Arun Prakash Jana 146f24e5de
Use target vars to create dirs 2020-03-01 21:00:45 +05:30
Arun Prakash Jana 78d0ea50f4
Use the same convention for global var names 2020-03-01 19:48:40 +05:30
Arun Prakash Jana 5533e38fbb
Guard against too many key-value pairs 2020-03-01 18:59:27 +05:30
Arun Prakash Jana f3c4dae1dd
Fix build break 2020-03-01 18:34:59 +05:30
Arun Prakash Jana 1224270104
Drop path validation 2020-03-01 17:25:49 +05:30
Arun Prakash Jana ad9f834b64
Update right click sel 2020-03-01 12:44:28 +05:30
lvgx b2f2b78990
Add right click file selection (#482) 2020-03-01 12:40:35 +05:30
Arun Prakash Jana 2b11601f89
Set attrs in a go 2020-03-01 12:19:17 +05:30
Arun Prakash Jana b52d17caa2
Do not store force quit option in session 2020-02-29 20:06:39 +05:30
Arun Prakash Jana a5a3a84bd1
Shorten messages 2020-02-29 15:10:42 +05:30
Arun Prakash Jana edb9fe14e4
Reformat get archive cmd 2020-02-29 13:53:16 +05:30
Arun Prakash Jana 0d7d0ca7db
realpath allocates memory 2020-02-29 12:56:10 +05:30
Arun Prakash Jana 5198c62863
Unlimited bookmarks, several fixes 2020-02-29 09:53:49 +05:30
Arun Prakash Jana a1e2ef055e
Continue in filter mode 2020-02-29 06:32:02 +05:30
Arun Prakash Jana 37987d487e
Ignore backspace at empty filter prompt 2020-02-29 06:08:26 +05:30
Arun Prakash Jana d1fcc5351e
Fix lint 2020-02-28 19:36:00 +05:30
Arun Prakash Jana 88167511f6
Unlimited bookmarks and plugin keys 2020-02-28 19:23:57 +05:30
Arun Prakash Jana 76cf0c65d4
Hover next file on delete 2020-02-28 07:34:02 +05:30
Arun Prakash Jana fc805dac26
Do not count hard links for dirs 2020-02-28 01:57:33 +05:30
Arun Prakash Jana 9c100f987c
Single struct for patterns strings 2020-02-28 00:33:35 +05:30
Arun Prakash Jana c9f9ca32dd
Extra space for size column 2020-02-28 00:00:44 +05:30
Arun Prakash Jana 993ea99b76
Remove redundant buffers 2020-02-27 23:55:23 +05:30
Arun Prakash Jana 4eae58edd3
Fix filename truncation if O_NOLOC set 2020-02-27 21:41:06 +05:30
Arun Prakash Jana 95356681ff
Fix handling hard-links 2020-02-27 18:49:44 +05:30
Arun Prakash Jana 74e77f78fa
Support more sepecial keys at empty prompt in nav-as-you-type 2020-02-27 08:47:00 +05:30
Arun Prakash Jana c6cc8a5181
Use 32-bit unsigned params 2020-02-27 07:30:14 +05:30
Arun Prakash Jana 05f3d5fdbe
Hash inodes with lesser number of bits 2020-02-27 00:38:30 +05:30
Arun Prakash Jana f12bf0a2ee
Dim links 2020-02-26 23:49:20 +05:30
Arun Prakash Jana 987cc9b4b3
Drop / indicator for directories 2020-02-26 22:19:48 +05:30
Arun Prakash Jana dd2be32382
Get rid of printw() 2020-02-26 20:49:20 +05:30
Arun Prakash Jana f0f8008014
Restore filter on context switch in non nav-as-you-type mode 2020-02-26 19:42:37 +05:30
Arun Prakash Jana 7aa72ddd79
Optimize print entry 2020-02-26 08:54:34 +05:30
Arun Prakash Jana 07437a897c
Reformat entry printing 2020-02-26 03:31:32 +05:30
Arun Prakash Jana 71bac356d6
Optimize unescape 2020-02-26 01:53:43 +05:30
Arun Prakash Jana ae1d656a27
Update help, check for mocp before using mocplay 2020-02-25 21:37:52 +05:30
Arun Prakash Jana dd5b419742
Treat ~ as special shortcut in filterentries 2020-02-22 21:25:05 +05:30
Arun Prakash Jana 04ab3751af
Minor refactor 2020-02-22 18:42:55 +05:30
Arun Prakash Jana f2ba23bb3a
Combine file mode check 2020-02-22 17:10:29 +05:30
Arun Prakash Jana f61323cccd
Simplify detail print 2020-02-22 15:08:59 +05:30
Arun Prakash Jana d0930d0ccf
Show hard link symbol 2020-02-22 12:49:50 +05:30
Arun Prakash Jana 4a91df950b
Ignore hard links on du 2020-02-22 08:44:28 +05:30
Arun Prakash Jana 0f03b41995
Fix build break 2020-02-22 04:28:27 +05:30
Arun Prakash Jana b816a90256
Macro for confirmation 2020-02-22 04:18:15 +05:30
Arun Prakash Jana ca257e6016
Do not save trash setting in config (and session) 2020-02-21 21:54:26 +05:30
Arun Prakash Jana c5d122e299
Fix broken abort msg when starting in du mode 2020-02-19 19:04:51 +05:30
0xACE 75f6d5d735
Avoid trying to edit a non-existing file (#477)
The previous implementation was inconsistent, sometimes it would
inherit the name of the parent folder of the current directory.

Other scenarios i encountered were:
1. Yield a empty search result, and try to edit. It would seemingly
   randomly select a file or folder
2. What would happen in a root path without any files residing?
2020-02-18 03:51:46 +05:30
Arun Prakash Jana 9cf77708a1
Late get and set NNNLVL before spawning shell 2020-02-17 20:34:03 +05:30
Arun Prakash Jana 1a8f9ee459
Minor reformat 2020-02-17 19:51:24 +05:30
Arun Prakash Jana 6024c51839
Remember file name when refresh is not requested 2020-02-14 22:44:49 +05:30
Arun Prakash Jana f2c4890d6e
Polish PR #476 2020-02-14 20:55:42 +05:30
Uffe Jakobsen 1ed015e988
Add NNN_OPTS environment variable feature (#476) 2020-02-14 20:35:17 +05:30
Arun Prakash Jana 9b199b3253
Remove redundant mouse mask variable 2020-02-14 18:48:44 +05:30
Arun Prakash Jana e664b2d29f
Compile option O_NOMOUSE to disable mouse support 2020-02-14 08:21:30 +05:30
Arun Prakash Jana a0339adf84
Minor refactor 2020-02-14 07:17:09 +05:30
Arun Prakash Jana 928f325a74
Use atoi from lib, use attribute for unused 2020-02-14 06:42:30 +05:30
Arun Prakash Jana ed616cf746
Minor refactor 2020-02-13 20:28:08 +05:30
Arun Prakash Jana 4ffb42c73e
Use s in statusbar to indicate selection enabled 2020-02-13 01:56:16 +05:30
Arun Prakash Jana a8bca5f440
Enable UTF8 for PCRE 2020-02-12 23:02:02 +05:30
Arun Prakash Jana bc7a81921e
Prepare for release v3.0 2020-02-12 07:30:15 +05:30
Arun Prakash Jana fb2793354b
Do not end selection on redraw 2020-02-10 19:23:15 +05:30
Arun Prakash Jana e318672904
Fix prefix calcualtion 2020-02-09 08:21:12 +05:30
Arun Prakash Jana 43fc9890e8
When a file is edited, vim adds a \n at the end 2020-02-09 05:38:12 +05:30
Arun Prakash Jana bc5234be8d
Simplify and fix common prefix calculation 2020-02-09 00:25:58 +05:30
Arun Prakash Jana 58357912bc
Fix build break 2020-02-08 19:58:30 +05:30
Arun Prakash Jana 13e28fdecc
Use xrealpath() to show unresolved symlinks 2020-02-08 19:35:07 +05:30
Arun Prakash Jana 0a48b6b8cc
Ignore . and .. in file list 2020-02-08 19:18:49 +05:30
Arun Prakash Jana ae486e36b8
1. dirname() loses path, 2. use realpath() 2020-02-08 18:51:56 +05:30
Arun Prakash Jana 72668069ed
Show target file size in list mode 2020-02-08 17:45:49 +05:30
Arun Prakash Jana 1d60b6a475
Fix empty dir on list files 2020-02-08 00:11:10 +05:30
Arun Prakash Jana eaba594a9e
Clear filter on a manual dir relaod 2020-02-07 05:53:15 +05:30
Arun Prakash Jana 6d77b04032
Minor refactor 2020-02-04 23:21:50 +05:30
Arun Prakash Jana 1614ce172b
Late allocate memory for path pointers 2020-02-02 19:10:35 +05:30
Arun Prakash Jana 6faab79ba9
xrealloc() may move memory 2020-02-02 17:36:35 +05:30
Arun Prakash Jana 06f6435ebd
Fix build break 2020-02-02 17:25:47 +05:30
Arun Prakash Jana 47a2f93e02
Refactor file list processing 2020-02-02 17:07:53 +05:30
Arun Prakash Jana da4f585188
Fix #446 2020-02-01 22:30:32 +05:30
Arun Prakash Jana 897f01c2c3
Reduce the number of redundant checks 2020-02-01 22:00:53 +05:30
KlzXS 2390ac7b74
List of files as input (#443)
* Start implementation on show list of files as input

* Remove tmp dir on exit, set global flag

* Bug fixes and improvements

* Follow symlinks when in list paths mode

* Fix bugs

* Add flag check

* Add message for invalid paths and style fixes

* Change the message

* Addressing review comments

* Handle errno being set

* Fix CI break

* Decreased startup memory usage and removed loops

* Fix CI break
2020-02-01 20:24:56 +05:30
Maxim Baz 099a9af289
Do not swallow keypress after printwait (#461) 2020-02-01 20:07:18 +05:30
Arun Prakash Jana c0f423496e
Use _exit() to terminate children
The NNN_PIPE file gets deleted after spawning a child in NOWAIT mode. Steps:
- open `nnn` with option `-x`
- press `;o` (custom binding) to open fzopen plugin
- press `^J` to select a file; it will spawn plugin `.cbcp` in NOWAIT mode
- when the intermediate child quits, the NNN_PIPE of parent is also deleted
2020-02-01 19:28:59 +05:30
Arun Prakash Jana 4401dbe092
Ignore link assuming stdscr is NULL 2020-02-01 18:46:56 +05:30
Arun Prakash Jana 27943b9efb
Fix #459
The following changes are made:

- STDOUT and STDIN are redirected to /dev/null when spawning rclone
  rclone blocks and also shows error/warning messages. nnn needs to spawn
  rclone and return without waiting. To avoid the rclone messages from
  corrupting the screen nnn makes the child silent.
  Note: sshfs returns after mount with a proper error code
- prompt only if both sshfs and rclone are installed
2020-02-01 08:57:16 +05:30
Arun Prakash Jana 6f48a711d4
Auto-proceed on open (key + to toggle) 2020-01-31 01:45:06 +05:30
Arun Prakash Jana 6aed714347
Run GUI app as plugin 2020-01-30 23:41:19 +05:30
Sijmen J. Mulder 46fc9c983c
Fallbacks for absent NAME_MAX and PATH_MAX (#455)
* Fallbacks for absent NAME_MAX and PATH_MAX

Certainly NAME_MAX isn't guaranteed to exist and on (some versions of?)
Illumos and SmartOS it doesn't, so provide some reasonably accommodating
fallbacks.

* Smaller limits

* Remove now redundant PATH_MAX definition for Hurd
2020-01-29 19:01:07 +05:30
Arun Prakash Jana c434d8d4bc
Use enough buffer length for file names 2020-01-29 05:22:03 +05:30
Arun Prakash Jana 9cbadc12be
Fix typo 2020-01-27 23:50:29 +05:30
Arun Prakash Jana e3d80da2ad
Exit prompt on ^D at empty prompt 2020-01-27 19:46:10 +05:30
Ethan R 812368cce6 Added more readline bindings (#452) 2020-01-27 18:57:56 +05:30
Arun Prakash Jana e5ad7d81ff
PCRE 2 - fix check for filter match
Kind contribution from uno20001:

https://old.reddit.com/r/C_Programming/comments/etavho/file_manager_nnn_needs_help_with_pcre/fffk4wr/
2020-01-24 22:46:47 +05:30
Arun Prakash Jana 196c09ab9b
PCRE 2 - fix compilation error 2020-01-24 22:25:27 +05:30
Arun Prakash Jana e2d37632ea
PCRE - add error handling 2020-01-24 19:00:45 +05:30
KlzXS 27617c0446 Detach process with F_NOWAIT (#450)
* Experimental PCRE library support

To compile with PCRE install libpcre-dev(el) and run:

cc  -Wall -Wextra -O3 -DPCRE -D_GNU_SOURCE -D_DEFAULT_SOURCE -I/usr/include/ncursesw -I/usr/include -o nnn src/nnn.c -lreadline -lncursesw -ltinfo -lpcre

* Detach process with F_NOWAIT

Co-authored-by: Mischievous Meerkat <engineerarun@gmail.com>
2020-01-24 18:58:43 +05:30
Arun Prakash Jana 827875c3ef
Experimental PCRE library support
To compile with PCRE install libpcre-dev(el) and run:

cc  -Wall -Wextra -O3 -DPCRE -D_GNU_SOURCE -D_DEFAULT_SOURCE -I/usr/include/ncursesw -I/usr/include -o nnn src/nnn.c -lreadline -lncursesw -ltinfo -lpcre
2020-01-24 02:17:48 +05:30
Arun Prakash Jana 50df09b918
Do not show file name in status bar
Both in light and detail modes we show more characters than in status bar.
2020-01-23 21:21:24 +05:30
Arun Prakash Jana de4b817998
Lazy unmount, umount (macOS) support 2020-01-23 02:00:16 +05:30
Arun Prakash Jana 60dfb79b8d
Check if path exists before trying to create 2020-01-22 20:09:16 +05:30
Arun Prakash Jana a87be62204
Use indicative dir names when creating 2020-01-22 00:00:33 +05:30
Arun Prakash Jana 8d6f766e75
Remove redundant variables/assignments 2020-01-21 23:09:05 +05:30
Arun Prakash Jana 8df6602fac
Remove redundant check 2020-01-21 21:53:45 +05:30
Arun Prakash Jana abd1df8770
Initialize mask 2020-01-20 23:33:57 +05:30
Arun Prakash Jana 9b45b05746
Code refactor 2020-01-20 19:09:10 +05:30
Arun Prakash Jana 0f1e648032
Refactor 2020-01-19 21:24:33 +05:30
Arun Prakash Jana 7677cd4417
Copy current name in API 2020-01-19 10:49:40 +05:30
Arun Prakash Jana 1c6fd9c7d7
Refactor 2020-01-18 23:31:39 +05:30
Arun Prakash Jana 5e7c42c822
checkpatch.pl fixes 2020-01-18 22:49:35 +05:30
Arun Prakash Jana 4d01aa78ae
Shorten env vars 2020-01-18 21:05:44 +05:30
Arun Prakash Jana 6c2dc7fc95
Use macro 2020-01-18 20:57:51 +05:30
Arun Prakash Jana cfdd745611
Get rid of modulo operation 2020-01-18 20:43:28 +05:30
Arun Prakash Jana 9b054d51f4
Key F5 toggle hidden 2020-01-18 19:55:09 +05:30
Arun Prakash Jana afb7efc860 Merge functions 2020-01-18 14:58:48 +05:30
Arun Prakash Jana dd02fb6049
Use simpler logic to show progress on Linux 2020-01-18 14:16:18 +05:30
Arun Prakash Jana 5f18a0892c
Clear lastname is the top file is deleted 2020-01-17 20:26:14 +05:30
Arun Prakash Jana 679374680f Revert "Revert "Fixed calculation of capacity on OpenBSD (#441)""
This reverts commit 681b22d5c7.

The statvfs man page:
http://man7.org/linux/man-pages/man3/statvfs.3.html

says clearly:

fsblkcnt_t     f_blocks;   /* Size of fs in f_frsize units */

I missed this earlier.
2020-01-17 20:08:45 +05:30
Arun Prakash Jana 64667b377d
Options -e and -t
Replaces the following environment variables:
- NNN_USE_EDITOR
- NNN_IDLE_TIMEOUT
2020-01-17 19:37:57 +05:30
Arun Prakash Jana 94a233b808
Fix: crash on entering empty dir, then press down 2020-01-17 03:36:57 +05:30
Arun Prakash Jana 4f233c161a
Remove redundant check 2020-01-17 02:40:02 +05:30
Arun Prakash Jana feec63ebb3
Use do-while instead of while 2020-01-16 23:09:19 +05:30
Arun Prakash Jana 681b22d5c7 Revert "Fixed calculation of capacity on OpenBSD (#441)"
This reverts commit 527e995f1f.
2020-01-16 22:58:12 +05:30
Arun Prakash Jana f9d38d1420 A fancier prompt 2020-01-16 19:35:46 +05:30
Maxim Baz 0fd1f142c7 Quit with an error code (#442)
* Quit with an error code

* Use `Q` as "quit with err"

* Remove extra var and simplify conditions

* Revert combining conditions

* Fix formatting

* Format help with as much tabs as possible
2020-01-16 19:25:48 +05:30
Martin Ziemer 527e995f1f Fixed calculation of capacity on OpenBSD (#441) 2020-01-16 16:40:30 +05:30
Arun Prakash Jana 3a4dd4c469
Fix alignment 2020-01-15 14:10:46 +05:30
Arun Prakash Jana 0222b75c2e
Use / to toggle string and regex 2020-01-15 10:05:19 +05:30
Arun Prakash Jana 73a2919b7e
Prepare for release v2.9 2020-01-15 09:42:23 +05:30
KlzXS 4930f34c3f Catch NULL from malloc() (#438)
* Catch NULL from malloc()

* Tidy up errors

* Make indentaion look pretty in git
2020-01-15 04:05:26 +05:30
Arun Prakash Jana b1c9f4ed45
Use macro to print error 2020-01-15 01:21:13 +05:30
Arun Prakash Jana a9ebe7ed88
While drawing lines, set correct color 2020-01-15 00:57:02 +05:30
Arun Prakash Jana 1a728603bf
(B)Tab for BackTab 2020-01-14 23:37:33 +05:30
Arun Prakash Jana 364399246e
Show order info in filter info bar 2020-01-14 22:51:10 +05:30
Arun Prakash Jana 1b252b6ecb
Keybind changes 2020-01-14 21:20:57 +05:30
Arun Prakash Jana 8ebedab3f6
Fix doc 2020-01-14 04:10:11 +05:30
Arun Prakash Jana 3ccc6807ed New lowercase keys 2020-01-14 03:34:52 +05:30
Arun Prakash Jana 62ae7e0a74
Key 0 to lock 2020-01-14 03:00:01 +05:30
Arun Prakash Jana 5bc20f1460
Remove p and e 2020-01-14 02:26:32 +05:30
Arun Prakash Jana d65271860a
Fix typo 2020-01-14 01:36:57 +05:30
Arun Prakash Jana 589065f9ab
Remove redundant question 2020-01-14 01:10:53 +05:30
Arun Prakash Jana 69efec865a
List from selection file if nothing selected 2020-01-14 00:31:20 +05:30
Arun Prakash Jana 7bcf19189a
Remove list selection 2020-01-13 23:44:19 +05:30
Arun Prakash Jana 7029656c78
Revert to key m to Mark range 2020-01-13 22:24:55 +05:30
Arun Prakash Jana 8f4706498c
Key ' for range selection 2020-01-13 21:25:34 +05:30
Arun Prakash Jana 526330bb8b
Unify plugin keys 2020-01-13 21:09:40 +05:30
Arun Prakash Jana c53b9df5ea
Reorder key listing, undocument F2 and F5 2020-01-13 20:26:16 +05:30
Arun Prakash Jana 3d7cc30441
Combine list, edit selection. Key ^Y 2020-01-13 20:13:46 +05:30
Arun Prakash Jana 749f089355
Key z to archive, fix du order issue 2020-01-13 18:57:46 +05:30
Maxim Baz 101d4e8a07 order toggle: show invalid key prompt (#433)
* order toggle: show invalid key prompt

* don't call statusbar()
2020-01-13 18:39:54 +05:30
Arun Prakash Jana d2f69875be
Minor refactor 2020-01-13 07:48:25 +05:30
Maxim Baz 6ac353446f Order toggle: fix toggling reverse (#432) 2020-01-13 07:39:43 +05:30
Arun Prakash Jana 5fb4d637ee
Order toggle re-factor 2020-01-13 03:49:28 +05:30
Arun Prakash Jana 3416287553
Key f for first file 2020-01-13 02:45:47 +05:30
Arun Prakash Jana 16c88770b6
Sort order not changing in nav-as-you-type mode 2020-01-13 01:22:51 +05:30
Arun Prakash Jana ab521c02a4
Fix build break 2020-01-12 23:58:48 +05:30
Arun Prakash Jana 917123c400
Minor changes to fast redraw 2020-01-12 23:33:42 +05:30
Anna Arad 7948db6a64 Fast redraw on up/down key navigation (#431) 2020-01-12 22:45:55 +05:30
Arun Prakash Jana 1eb2ab2478
Clear info line completely 2020-01-12 19:40:33 +05:30
Arun Prakash Jana 7718f77069
Add check for max val len in key:val pair 2020-01-12 08:40:33 +05:30
Arun Prakash Jana aea48508da
^L at empty prompt shows last filter 2020-01-12 03:36:08 +05:30
Arun Prakash Jana bb3d79ce21
Go to top when last saved filter is applied 2020-01-12 02:46:19 +05:30
Arun Prakash Jana f1791af2ab
Show statusbar instead of blank 2020-01-12 00:09:09 +05:30
Arun Prakash Jana b91f7a9600
Fix not waiting for command next time if non-Enter keys are pressed 2020-01-11 23:53:32 +05:30
Arun Prakash Jana 94781f7977
Refactor status bar printing 2020-01-11 23:18:24 +05:30
Arun Prakash Jana 7f579bc808
Add more clarity on filter prompt keys 2020-01-11 22:58:22 +05:30
Arun Prakash Jana fd99ef5af2
Show filter when returning after firing plugin 2020-01-11 22:53:40 +05:30
Arun Prakash Jana 357ce4a69a
Key ^F to fire plugin 2020-01-11 22:40:26 +05:30
Arun Prakash Jana 99d15815f0
Use : for filter case 2020-01-11 21:49:35 +05:30
Arun Prakash Jana 490359f853
nuke: open manpages, reload dir after dot 2020-01-11 18:23:46 +05:30
Arun Prakash Jana 70dcbf43d7
Toggle filter case-sensitivity 2020-01-11 16:12:34 +05:30
Arun Prakash Jana 8588b3f0bd
Support regex/substring filter switch 2020-01-11 11:38:31 +05:30
Arun Prakash Jana 0e203288b4
Rememeber last filter 2020-01-11 05:15:20 +05:30
Arun Prakash Jana c22bf87f3e
Enable filter mode when there's a filter 2020-01-11 00:55:23 +05:30
Arun Prakash Jana 38414f4349
For links, set prefix instead of suffix 2020-01-11 00:31:08 +05:30
Arun Prakash Jana ca0a7b0558
Simplify showing status bar symbols 2020-01-10 20:15:50 +05:30
Arun Prakash Jana f04769f5a5
Update docs 2020-01-10 19:43:37 +05:30
Arun Prakash Jana 4c0210ce2b
Do not reload dir on sort order change when filter is on 2020-01-09 23:51:41 +05:30
Arun Prakash Jana f654e3ca2b
Implement reverse sorting 2020-01-09 19:44:36 +05:30
Arun Prakash Jana a89b5fd82c
Fix build break 2020-01-09 04:38:08 +05:30
Arun Prakash Jana 5cb39b0db3
Show mime in file details 2020-01-09 04:00:28 +05:30
Arun Prakash Jana 7bf7894022
Use option -A to disable dir auto-select 2020-01-09 03:34:10 +05:30
Arun Prakash Jana 9a757c4905
Extension order: show files without extension on top 2020-01-08 21:45:54 +05:30
Arun Prakash Jana 604a8fafcc
Fix build break 2020-01-08 19:40:56 +05:30
Arun Prakash Jana d209e8f278
Optimize file extension check 2020-01-08 19:08:01 +05:30
Arun Prakash Jana 0b1c87758c
Minor refactor 2020-01-08 18:52:18 +05:30
Arun Prakash Jana e4b762dcc1
Retain filter on single file removal 2020-01-07 18:28:30 +05:30
Arun Prakash Jana 9d9aa16185
Clear filter after removing current file 2020-01-07 01:21:36 +05:30
Arun Prakash Jana aa89522482
Re-order keybind help 2020-01-06 20:00:18 +05:30
Arun Prakash Jana 39f8b25b88
Clear filter on dir changes 2020-01-06 02:54:31 +05:30
Arun Prakash Jana c92c5c7b15
Support toggle exe 2020-01-02 23:36:08 +05:30
Arun Prakash Jana c44d5b57bd
Update docs, early check for empty files 2020-01-02 04:03:54 +05:30
Arun Prakash Jana c6a5db460f
Add useful locker peaclock for Haiku 2020-01-02 03:07:56 +05:30
Arun Prakash Jana 4a3bf6d40f Use a shorter width param 2020-01-02 03:03:21 +05:30
CodeforEvolution a36146f9c0 Add Desktop Opener for Haiku (#425)
You guys almost forgot this. Hope this helps! ;)
2020-01-02 02:40:50 +05:30
Arun Prakash Jana 027ed8d8ea
Update copyright year 2019-12-31 22:42:10 +05:30
Arun Prakash Jana f41e68742d
Fix 2 archive handling issues
- when an archive is mounted, jump into the mount point
- while archiving the hovered file, exit if the archive name is same
2019-12-31 21:09:40 +05:30
Maxim Baz 4e59ffd9d0 Make showsel print warning when nothing is selected (#423) 2019-12-30 00:34:39 +05:30
Arun Prakash Jana 8955d039c6
Drop ^T, no reload after empty cmd at prompt 2019-12-30 00:33:34 +05:30
Arun Prakash Jana c1f168c7cb
Show context numbers in help 2019-12-30 00:06:49 +05:30
Arun Prakash Jana 15a7bbe00e
Fix build break 2019-12-29 23:46:48 +05:30
Arun Prakash Jana f90c37cd5e
Automagically handle archives 2019-12-29 23:21:18 +05:30
Arun Prakash Jana 146da5911d
Code refactor 2019-12-29 17:58:48 +05:30
Arun Prakash Jana 7b7e005e52
Retire execute file
There is no way to detect and handle GUI executables. Must run manually.
2019-12-29 09:07:58 +05:30
Arun Prakash Jana 7157644250
Fix #420: simplify bookmarking, retire lead key 2019-12-29 08:20:56 +05:30
Arun Prakash Jana e3e6e1671a
Keybind v for version sort 2019-12-28 11:15:38 +05:30
Arun Prakash Jana d13fea6fa2
Refactor help 2019-12-28 10:15:11 +05:30
Arun Prakash Jana 3a554f02dc
Refactor help 2019-12-28 09:56:54 +05:30
Anna Arad fd9fcf741e Get nnn compile and run on Haiku (#403)
* Add support for Haiku OS

* Adjust DISTFILES and dist rule in haiku
2019-12-27 23:32:20 +05:30
Arun Prakash Jana d3ddff6690
Refactor help 2019-12-27 22:07:11 +05:30
Arun Prakash Jana ae65edb862
Code refactor 2019-12-27 21:22:27 +05:30
Arun Prakash Jana f5cd0e563d
Code refactor 2019-12-27 19:00:23 +05:30
Arun Prakash Jana bffadf09c5
Refactor plugin handling 2019-12-27 13:19:23 +05:30
Arun Prakash Jana 5676dfe682
Fix: save last hovered filename in cur context post arrow movement 2019-12-27 11:04:05 +05:30
Arun Prakash Jana 735b3d6cde
Code refactor 2019-12-27 10:13:48 +05:30
Arun Prakash Jana a32b3eac14
Code refactor 2019-12-27 09:26:20 +05:30
Arun Prakash Jana b455abf944
Refactor cur or sel confirmation 2019-12-26 20:33:01 +05:30
Arun Prakash Jana c43dce6926
Refactor context selection 2019-12-26 19:37:48 +05:30
Arun Prakash Jana 0d07e45efb
Use test and set in frequent keys 2019-12-26 18:24:32 +05:30
Arun Prakash Jana 765c494eb7
Experimental: clear filter on dir reload and retain name 2019-12-26 14:07:23 +05:30
Arun Prakash Jana 450df4c476
Retain filter on keys up and down 2019-12-26 10:24:57 +05:30
Arun Prakash Jana 7e958d3cd3 Revert "Retain filters when context keys are used from filter prompt"
This reverts commit d9da85a365.
2019-12-25 22:56:59 +05:30
Arun Prakash Jana 1003c0f8fc
Option n - nav as you type, V - version sort 2019-12-25 22:33:38 +05:30
Arun Prakash Jana 06920d7d9d Revert "Fix #420: reduce Lead key to bookmark key"
This reverts commit 1ed5febe0c.
2019-12-25 22:18:36 +05:30
Arun Prakash Jana d65ccfab1e Revert "Update help"
This reverts commit 89a158b9f4.
2019-12-25 22:18:24 +05:30
Arun Prakash Jana ffb0b0e3c2 Revert "Use b and ^B as bookmark key"
This reverts commit 278fcfdfc9.
2019-12-25 22:18:09 +05:30
Arun Prakash Jana 541bc3f653 Revert "Use a fixed key , for pinning dir"
This reverts commit 4d17b82950.
2019-12-25 22:17:50 +05:30
Arun Prakash Jana 4d17b82950
Use a fixed key , for pinning dir 2019-12-25 15:56:50 +05:30
Arun Prakash Jana 278fcfdfc9
Use b and ^B as bookmark key 2019-12-25 14:37:51 +05:30
Arun Prakash Jana 89a158b9f4
Update help 2019-12-25 12:34:45 +05:30
Arun Prakash Jana 1ed5febe0c
Fix #420: reduce Lead key to bookmark key 2019-12-25 12:15:03 +05:30
Arun Prakash Jana d9da85a365
Retain filters when context keys are used from filter prompt 2019-12-25 08:52:37 +05:30
Arun Prakash Jana b1207d54ea
Set flags for OS-es without dp-type. 2019-12-23 20:14:03 +05:30
Arun Prakash Jana 2276e3ddfd
Use CLI flags spawning CLI opener as default FM 2019-12-21 22:38:35 +05:30
Arun Prakash Jana 9dee99b456
Show message on invalid key 2019-12-21 10:03:05 +05:30
Arun Prakash Jana 88b8d2641d
Replace bools for binary states with an uchar 2019-12-20 16:01:35 +05:30
Arun Prakash Jana 37988cf854
Program option to load session is now -s
- remove auto-stored session "@" on restore
- minor help update
2019-12-20 15:49:13 +05:30
Arun Prakash Jana 9725c17d20 Revert "Internal states, sessions changes"
This reverts commit cf388649b9.
2019-12-20 15:30:53 +05:30
Arun Prakash Jana f25f062537
Mechanism to skip dir refresh after running plugin 2019-12-20 12:05:25 +05:30
Arun Prakash Jana 7d171368ad Revert "Prefer NNN_USE_EDITOR over opener (option )"
This reverts commit 7f3d2c10aa.
2019-12-20 02:51:25 +05:30
Arun Prakash Jana 7f3d2c10aa
Prefer NNN_USE_EDITOR over opener (option ) 2019-12-20 00:01:50 +05:30
Maxim Baz c5cd668a52 Show 'invalid key' prompt in more places (#415) 2019-12-19 18:41:30 +05:30
Arun Prakash Jana cf388649b9
Internal states, sessions changes
- replace bools for internal non-persistent binary states with an uchar
- do not store path to session, derive from config path in tmp buffer
- program option to load session is not `-s`
- remove auto-stored session "@" on restore
- minor help update
2019-12-19 08:45:26 +05:30
Arun Prakash Jana 92ac068815
Use single API for nftw 2019-12-19 01:53:11 +05:30
Arun Prakash Jana fce848de3c
Fix typos in help 2019-12-18 23:48:19 +05:30