diff options
Diffstat (limited to 'rc/connect/modules/dmenu')
| -rwxr-xr-x | rc/connect/modules/dmenu/commands/:dmenu-grep | 18 | ||||
| -rw-r--r-- | rc/connect/modules/dmenu/dmenu.kak | 6 |
2 files changed, 24 insertions, 0 deletions
diff --git a/rc/connect/modules/dmenu/commands/:dmenu-grep b/rc/connect/modules/dmenu/commands/:dmenu-grep new file mode 100755 index 0000000..cb02ed4 --- /dev/null +++ b/rc/connect/modules/dmenu/commands/:dmenu-grep @@ -0,0 +1,18 @@ +#!/bin/sh + +# dmenu +# https://tools.suckless.org/dmenu/ + +# Dependencies: +# – ripgrep (https://github.com/BurntSushi/ripgrep) + +rg --line-number --with-filename '.+' "$@" | +dmenu -l 20 -i -p 'Open files (search by content)' | + +while read line; do + # Output format: <file>:<line>:<text> + file=${line%%:*} + line_number=${line#*:}; line_number=${line_number%%:*} + + :edit "$file" "+$line_number" +done diff --git a/rc/connect/modules/dmenu/dmenu.kak b/rc/connect/modules/dmenu/dmenu.kak index 17fdd8c..c5dd5e0 100644 --- a/rc/connect/modules/dmenu/dmenu.kak +++ b/rc/connect/modules/dmenu/dmenu.kak @@ -3,6 +3,7 @@ # Dependencies: # – fd (https://github.com/sharkdp/fd) +# – ripgrep (https://github.com/BurntSushi/ripgrep) provide-module connect-dmenu %{ # Modules @@ -22,6 +23,11 @@ provide-module connect-dmenu %{ $ :dmenu-buffers %arg{@} } + # Grep + define-command dmenu-grep -params .. -file-completion -docstring 'Open files (search by content) with dmenu' %{ + $ :dmenu-grep %arg{@} + } + # Aliases alias global dmenu dmenu-files } |
