summaryrefslogtreecommitdiff
path: root/src/rc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-09-12 19:54:46 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-09-12 19:54:46 +0200
commitf6d2533caed435f407f034cf0ffcdf3c4f0999aa (patch)
tree57bffdd8bad9af5a0ec8f2f97e354c9b7df52850 /src/rc
parenta467d7311593dc4a7f6ffe4a4db9254e5ade3b8c (diff)
rework fifo handling, use real fifos in {make,grep}.kak, update README
Diffstat (limited to 'src/rc')
-rw-r--r--src/rc/grep.kak7
-rw-r--r--src/rc/make.kak7
2 files changed, 8 insertions, 6 deletions
diff --git a/src/rc/grep.kak b/src/rc/grep.kak
index a1a25874..e5ef5230 100644
--- a/src/rc/grep.kak
+++ b/src/rc/grep.kak
@@ -1,12 +1,13 @@
def -shell-params -file-completion \
grep %{ echo grep in progress, please wait...; %sh{
- output=$(mktemp -t kak-grep.XXXXXXXX)
- grep -PHn $@ >& ${output} < /dev/null &
+ output=$(mktemp -t -d kak-grep.XXXXXXXX)/fifo
+ mkfifo ${output}
+ ( grep -PHn "$@" >& ${output} ) >& /dev/null < /dev/null &
echo "echo
try %{ db *grep* } catch %{ }
edit -fifo ${output} *grep*
setb filetype grep
- hook buffer BufClose .* %{ %sh{ rm ${output} } }"
+ hook buffer BufClose .* %{ %sh{ rm -r $(dirname ${output}) } }"
}}
hook global WinSetOption filetype=grep %{
diff --git a/src/rc/make.kak b/src/rc/make.kak
index 346c70f0..f64cea01 100644
--- a/src/rc/make.kak
+++ b/src/rc/make.kak
@@ -1,11 +1,12 @@
def -shell-params make %{ echo make in progress, please wait...; %sh{
- output=$(mktemp -t kak-make.XXXXXXXX)
- make $@ >& ${output} < /dev/null &
+ output=$(mktemp -t -d kak-make.XXXXXXXX)/fifo
+ mkfifo ${output}
+ ( make $@ >& ${output} ) >& /dev/null < /dev/null &
echo "echo
try %{ db *make* } catch %{ }
edit -fifo ${output} *make*
setb filetype make
- hook buffer BufClose .* %{ %sh{ rm ${output} } }"
+ hook buffer BufClose .* %{ %sh{ rm -r $(dirname ${output}) } }"
}}
hook global WinSetOption filetype=make %{