aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-04-13 08:32:32 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-04-13 09:01:09 +0530
commit315132b3633459f0bccf47dd9e671fde37463184 (patch)
treec08ae446526bae8e984db3d103f670f16f5ad782
parentaa7f1dabdd7954989b5303c258733673dca26228 (diff)
downloadnnn-315132b3633459f0bccf47dd9e671fde37463184.tar.gz
Happy Birthday nnn! 🍰
-rw-r--r--CHANGELOG45
-rw-r--r--README.md3
-rw-r--r--nnn.12
-rw-r--r--src/nnn.c18
4 files changed, 55 insertions, 13 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 811c4eb..7619d2e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,48 @@
+nnn v3.1
+2020-04-13
+
+- unlimited bookmarks and plugin keys
+- status bar text in context color
+- support config `NO_COLOR` to disable colors
+- config `NNN_OPTS` to specify binary options to `nnn`
+- config `NNN_MCLICK` to emulate configurable key
+- toggle selection on right click
+- ignore hard links when calculating disk usage
+- dim (hard/sym) link names (symlink to file has `@`)
+- more special keys at empty filter prompt in _type-to-nav_
+- key <kbd>></kbd> to export file list
+- option `-F` to show fortune in help and settings screen
+- option `-T` to specify sort order (obsoletes `-v`)
+- option to clear sort order
+- key <kbd>T</kbd> to change time type (access/change/mod)
+- `.nmv` - internal fully-functional batch renamer plugin
+- make var `O_NOBATCH` to disable native batch renamer
+- `nuke` & `imgview` - open all images in directory sxiv
+- `nuke` - open log files in vi
+- plugin `x2sel` - system clipboard to selection copier
+- plugin `fzy` - cd using z database
+- plugin `fzopen` - support `FZF_DEFAULT_COMMAND`
+- create new context on TAB without prompt
+- hover and connect by dir name (within config dir)
+- move to next entry on current file delete
+- on single file copy/move, select the copied/moved file
+- option `-f` to to use readline history file (off by default)
+- use `s` in status bar to indicate selection in progress
+- make var `O_NOMOUSE` to disable mouse support
+- do not store `NNN_TRASH` and `-Q` in config/session
+- add sample .desktop file for XDG compatible DEs
+- rename _nav-as-you-type_ to _type-to-nav_ mode
+- fix PCRE case-insensitive regex search
+- fix no error msg when filter length limit exceeded
+- fix static package generation
+- fix broken abort message when started in du-mode
+- fix filter lost on context switch in non _type-to-nav_ mode
+- fix broken readline prompt
+- fix long strings treated as action keys in filter prompt
+- fix `NNNLVL` not reset when spawned shell is exited
+
+-------------------------------------------------------------------------------
+
nnn v3.0
2020-02-12
diff --git a/README.md b/README.md
index e3301c2..0f17a7e 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,6 @@
<a href="https://circleci.com/gh/jarun/workflows/nnn"><img src="https://img.shields.io/circleci/project/github/jarun/nnn.svg?label=circleci" alt="CircleCI Status" /></a>
<a href="https://en.wikipedia.org/wiki/Privacy-invasive_software"><img src="https://img.shields.io/badge/privacy-✓-crimson?maxAge=2592000" alt="Privacy Awareness" /></a>
<a href="https://github.com/jarun/nnn/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-BSD%202--Clause-yellow.svg?maxAge=2592000" alt="License" /></a>
-<a href="https://github.com/jarun/nnn/wiki"><img src="https://img.shields.io/badge/nnn-Wiki-important?maxAge=2592000" alt="Wiki" /></a>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q"><img src="https://img.shields.io/badge/PayPal-donate-1eb0fc.svg" alt="Donate via PayPal!" /></a>
</p>
@@ -51,7 +50,7 @@ It runs smoothly on the Pi, [Termux](https://www.youtube.com/watch?v=AbaauM7gUJw
25. Watch matrix text fly or read fortune messages
26. Configure in 5 minutes!
-Once installed (instructions below), _**read the fine [manual](https://github.com/jarun/nnn/wiki)**_.
+Once installed (instructions below), _**read the fine manual**_. [![Wiki](https://img.shields.io/badge/nnn-Wiki-important?maxAge=2592000)](https://github.com/jarun/nnn/wiki)
## Features
diff --git a/nnn.1 b/nnn.1
index cc74b0e..6b5ff0a 100644
--- a/nnn.1
+++ b/nnn.1
@@ -1,4 +1,4 @@
-.Dd Feb 12, 2020
+.Dd Apr 13, 2020
.Dt NNN 1
.Os
.Sh NAME
diff --git a/src/nnn.c b/src/nnn.c
index b9cc70c..8f21134 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -107,7 +107,7 @@
#include "dbg.h"
/* Macro definitions */
-#define VERSION "3.0"
+#define VERSION "3.1"
#define GENERAL_INFO "BSD 2-Clause\nhttps://github.com/jarun/nnn"
#define SESSIONS_VERSION 1
@@ -770,7 +770,7 @@ static void clear_hash()
static void clearinfoln(void)
{
move(xlines - 2, 0);
- addch('\n');
+ clrtoeol();
}
#ifdef KEY_RESIZE
@@ -819,12 +819,6 @@ static void printerr(int linenum)
exit(1);
}
-static void printinfoln(const char *str)
-{
- clearinfoln();
- mvaddstr(xlines - 2, xcols - strlen(str), str);
-}
-
static inline bool xconfirm(int c)
{
return (c == 'y' || c == 'Y');
@@ -936,7 +930,7 @@ static void *xrealloc(void *pcur, size_t len)
* Always null ('\0') terminates if both src and dest are valid pointers.
* Returns the number of bytes copied including terminating null byte.
*/
-static size_t xstrsncpy(char *restrict dest, const char *restrict src, size_t n)
+static size_t xstrsncpy(char *dest, const char *src, size_t n)
{
if (!src || !dest || !n)
return 0;
@@ -2390,13 +2384,17 @@ static void showfilterinfo(void)
snprintf(info + i, REGEX_MAX - i - 1, " %s [/], %s [:]",
(cfg.regex ? "regex" : "str"),
((fnstrstr == &strcasestr) ? "ic" : "noic"));
- printinfoln(info);
+
+ clearinfoln();
+ mvaddstr(xlines - 2, xcols - strlen(info), info);
}
static void showfilter(char *str)
{
+ attron(COLOR_PAIR(cfg.curctx + 1));
showfilterinfo();
printmsg(str);
+ // printmsg calls attroff()
}
static inline void swap_ent(int id1, int id2)