From b0ed0e37b7ed852cc138d30731d58fa8c1d2c661 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 7 Aug 2012 14:29:33 +0200 Subject: [PATCH] add rc/grep.kak which provides a grep and gjump command --- src/kakrc | 1 + src/rc/grep.kak | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 src/rc/grep.kak diff --git a/src/kakrc b/src/kakrc index b60df82c..9830b7ef 100644 --- a/src/kakrc +++ b/src/kakrc @@ -7,3 +7,4 @@ runtime rc/git.kak runtime rc/global.kak runtime rc/diff.kak runtime rc/make.kak +runtime rc/grep.kak diff --git a/src/rc/grep.kak b/src/rc/grep.kak new file mode 100644 index 00000000..ecb45e0a --- /dev/null +++ b/src/rc/grep.kak @@ -0,0 +1,14 @@ +def -env-params grep %{ echo grep in progress, please wait...; %sh{ + output=$(mktemp -t kak-grep.XXXXXXXX) + grep -Hn $kak_param0 $kak_param1 $kak_param2 $kak_param3 $kak_param4 >& ${output} + echo "echo; edit ${output}; setb filetype grep; hook buffer BufClose ${output} %{ %sh{rm ${output} } }" +}} + +hook global WinSetOption filetype=grep %{ + addhl group grep-highlight + addhl -group grep-highlight regex "^([^:]+):(\d+):" 1:cyan 2:green +} + +hook global WinSetOption filetype=(?!grep).* %{ rmhl grep-highlight; } + +def gjump %{ exec 'xs^([^:]+):(\d+)'; edit %sh{ echo ${kak_reg_1} ${kak_reg_2} } }