From 54d25807999282bf1d6ed282be3f38efcdf5bad0 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Mon, 30 Mar 2020 09:09:11 +0530 Subject: [PATCH] Add fortune to help --- README.md | 1 + misc/auto-completion/bash/nnn-completion.bash | 1 + misc/auto-completion/fish/nnn.fish | 1 + misc/auto-completion/zsh/_nnn | 1 + nnn.1 | 7 ++++++- plugins/README.md | 3 ++- src/nnn.c | 12 ++++++++++-- 7 files changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d521d859..07f277f4 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,7 @@ A curses library with wide char support (e.g. ncursesw), libreadline (optional) | trash-cli | optional | trash files (default action: rm) | | vlock (Linux), bashlock (macOS), lock(1) (BSD),
peaclock (Haiku) | optional | terminal locker (fallback: [cmatrix](https://github.com/abishekvashok/cmatrix)) | | advcpmv (Linux) ([integration](https://github.com/jarun/nnn/wiki/Advanced-use-cases#show-cp-mv-progress)) | optional | copy, move progress | +| fortune | optional | random quotes in help screen | | `$VISUAL` (else `$EDITOR`), `$PAGER`, `$SHELL` | optional | fallback vi, less, sh | #### From a package manager diff --git a/misc/auto-completion/bash/nnn-completion.bash b/misc/auto-completion/bash/nnn-completion.bash index 863378a7..b498b631 100644 --- a/misc/auto-completion/bash/nnn-completion.bash +++ b/misc/auto-completion/bash/nnn-completion.bash @@ -19,6 +19,7 @@ _nnn () -e -E -f + -F -g -H -K diff --git a/misc/auto-completion/fish/nnn.fish b/misc/auto-completion/fish/nnn.fish index 56cd425f..82dfc36f 100644 --- a/misc/auto-completion/fish/nnn.fish +++ b/misc/auto-completion/fish/nnn.fish @@ -18,6 +18,7 @@ complete -c nnn -s d -d 'start in detail mode' complete -c nnn -s e -d 'open text files in $VISUAL/$EDITOR/vi' complete -c nnn -s E -d 'use EDITOR for undetached edits' complete -c nnn -s f -d 'use readline history file' +complete -c nnn -s F -d 'show fortune' complete -c nnn -s g -d 'regex filters' complete -c nnn -s H -d 'show hidden files' complete -c nnn -s K -d 'detect key collision' diff --git a/misc/auto-completion/zsh/_nnn b/misc/auto-completion/zsh/_nnn index e92bf301..d40ea684 100644 --- a/misc/auto-completion/zsh/_nnn +++ b/misc/auto-completion/zsh/_nnn @@ -16,6 +16,7 @@ args=( '(-e)-e[open text files in $VISUAL/$EDITOR/vi]' '(-E)-E[use EDITOR for undetached edits]' '(-f)-f[use readline history file]' + '(-F)-F[show fortune]' '(-g)-g[regex filters]' '(-H)-H[show hidden files]' '(-K)-K[detect key collision]' diff --git a/nnn.1 b/nnn.1 index f8b0966b..400bb314 100644 --- a/nnn.1 +++ b/nnn.1 @@ -13,6 +13,7 @@ .Op Ar -e .Op Ar -E .Op Ar -f +.Op Ar -F .Op Ar -g .Op Ar -H .Op Ar -K @@ -73,6 +74,9 @@ supports the following options: .Fl f use readline history file .Pp +.Fl F + show fortune in help and settings screen +.Pp .Fl g use regex filters instead of substring match .Pp @@ -350,7 +354,8 @@ separated by \fI;\fR: Key:Command | Description ----------------------------------- + ------------------------------------------------- k:-_fuser -kiv $nnn* | Interactively kill process(es) using hovered file - l:_git log | Show git log + g:-_git diff* | Show git diff + l:-_git log* | Show git log n:-_vi /home/user/Dropbox/dir/note* | Take quick notes in a synced file/dir of notes p:-_less -iR $nnn* | Page through hovered file in less s:-_|smplayer -minigui $nnn | Play hovered media file, even unfinished download diff --git a/plugins/README.md b/plugins/README.md index e4182e3d..71155290 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -133,7 +133,8 @@ Notes: | Key:Command | Description | |---|---| | `k:-_fuser -kiv $nnn*` | Interactively kill process(es) using hovered file | -| `l:_git log` | Show git log | +| `g:-_git diff*` | Show git diff | +| `l:-_git log*` | Show git log | | `n:-_vi /home/user/Dropbox/dir/note*` | Take quick notes in a synced file/dir of notes | | `p:-_less -iR $nnn*` | Page through hovered file in less | | `s:-_\|smplayer -minigui $nnn` | Play hovered media file, even unfinished download | diff --git a/src/nnn.c b/src/nnn.c index 33066e43..ff98a348 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -399,8 +399,9 @@ static char g_pipepath[TMP_LEN_MAX] __attribute__ ((aligned)); #define STATE_MSG 0x20 #define STATE_TRASH 0x40 #define STATE_FORCEQUIT 0x80 +#define STATE_FORTUNE 0x100 -static uchar g_states; +static uint g_states; /* Options to identify file mime */ #if defined(__APPLE__) @@ -4131,6 +4132,9 @@ static void show_help(const char *path) return; } + if ((g_states & STATE_FORTUNE) && getutil("fortune")) + pipetof("fortune -s", fp); + start = end = helpstr; while (*end) { if (*end == '\n') { @@ -6575,6 +6579,7 @@ static void usage(void) #ifndef NORL " -f use readline history file\n" #endif + " -F show fortune\n" " -g regex filters [default: string]\n" " -H show hidden files\n" " -K detect key collision\n" @@ -6739,7 +6744,7 @@ int main(int argc, char *argv[]) while ((opt = (env_opts_id > 0 ? env_opts[--env_opts_id] - : getopt(argc, argv, "Ab:cdeEfgHKnop:QrRs:St:T:Vxh"))) != -1) { + : getopt(argc, argv, "Ab:cdeEfFgHKnop:QrRs:St:T:Vxh"))) != -1) { switch (opt) { case 'A': cfg.autoselect = 0; @@ -6769,6 +6774,9 @@ int main(int argc, char *argv[]) rlhist = TRUE; #endif break; + case 'F': + g_states |= STATE_FORTUNE; + break; case 'g': cfg.regex = 1; filterfn = &visible_re;