Commit graph

1368 commits

Author SHA1 Message Date
Arun Prakash Jana b5de18c28f
Use const type 2020-05-04 07:48:51 +05:30
Arun Prakash Jana 625c8d11f4
Refactor move_cursor() 2020-05-04 06:17:38 +05:30
Arun Prakash Jana f2fd923573
Fix #550 2020-05-04 04:25:26 +05:30
Arun Prakash Jana ffc0790fba
Add is_prefix(), block empty files completely 2020-05-04 04:08:12 +05:30
Arun Prakash Jana ebb6f153b5
Context code '+' to create context smartly 2020-05-03 16:25:59 +05:30
Arun Prakash Jana 3f60a1931f
Decouple listpath and initpath 2020-05-03 15:25:19 +05:30
Arun Prakash Jana 8b764a5f7c
Show messages appropriately 2020-05-03 15:14:26 +05:30
Arun Prakash Jana eee5057da5
Plugin mimelist: support reading file list from (cmd as) plugin 2020-05-03 14:55:33 +05:30
Danh Doan e8e87f6ba2
browse: fix nnn -e (#549)
The current code will start editor if the mime doesn't start with
"text/". But, we want the opposite.

Simplify the check by using `strncmp` instead.

We may improve by writing a helper: `start_withs` in the future.

This change also cleans -Wstrict-aliasing on Ubuntu 16.04 LTS
2020-05-03 09:56:16 +05:30
Arun Prakash Jana ff568ea748
Simplify unescape() in no locale mode 2020-05-03 02:52:48 +05:30
Arun Prakash Jana f5c6f4f90b
Dim file details in detail mode 2020-05-02 19:58:10 +05:30
Arun Prakash Jana f1a9446b99
Use mem* function 2020-04-27 08:25:13 +05:30
Arun Prakash Jana e7147c1f39
Show error at source 2020-04-26 14:05:56 +05:30
Arun Prakash Jana 33fdbc2216
Fix #537 2020-04-26 13:54:12 +05:30
Arun Prakash Jana 6689870460
Fix buffer cleanup 2020-04-26 10:59:01 +05:30
Arun Prakash Jana 01392d48ad
Fix buffer cleanup 2020-04-26 02:37:16 +05:30
Arun Prakash Jana 99d21531b4
Use memrchr if available 2020-04-26 02:06:17 +05:30
Arun Prakash Jana c732de32e4
Resolve path in list mode 2020-04-25 20:52:23 +05:30
Arun Prakash Jana 06fe7d52dd
Minor refactor 2020-04-25 03:42:34 +05:30
Arun Prakash Jana f8a243ea91
Silently ignore invalid paths (documented) 2020-04-25 00:46:29 +05:30
Arun Prakash Jana d118c4cc24
Fix #532: support picker and list modes together 2020-04-25 00:46:25 +05:30
Arun Prakash Jana fffaa74a09
Fix return and show error 2020-04-24 20:30:16 +05:30
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