diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-01-08 14:01:22 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-01-08 14:01:22 +0100 |
| commit | f77509d498d9972da476d90f4c180ed5976be71d (patch) | |
| tree | 590edb513783d50f76e6f4ba4e3baf6b930d2e2a /src | |
| parent | 59941bcfa932d81c82491d9433c4c25fee1e8a02 (diff) | |
add sh.kak for shell script highlighting
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 2 | ||||
| -rw-r--r-- | src/rc/sh.kak | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/Makefile b/src/Makefile index 617c085c..b2b0ea14 100644 --- a/src/Makefile +++ b/src/Makefile @@ -23,6 +23,6 @@ XDG_CONFIG_HOME ?= $(HOME)/.config userconfig: mkdir -p $(XDG_CONFIG_HOME)/kak/autoload - ln -s $(CURDIR)/rc/{asciidoc,client,cpp,diff,git,grep,kakrc,make}.kak $(XDG_CONFIG_HOME)/kak/autoload/ + ln -s $(CURDIR)/rc/{asciidoc,client,cpp,diff,git,grep,kakrc,make,sh}.kak $(XDG_CONFIG_HOME)/kak/autoload/ .PHONY: tags userconfig diff --git a/src/rc/sh.kak b/src/rc/sh.kak new file mode 100644 index 00000000..fb338dbd --- /dev/null +++ b/src/rc/sh.kak @@ -0,0 +1,25 @@ +hook global BufCreate .*\.(sh) %{ + setb filetype sh +} + +hook global BufOpen .* %{ %sh{ + mimetype="$(file -b --mime-type ${kak_bufname})" + if [[ "${mimetype}" == "text/x-shellscript" ]]; then + echo setb filetype sh; + fi +} } + +hook global WinSetOption filetype=sh %~ + addhl group sh-highlight + addhl -group sh-highlight regex \<(if|then|fi|while|for|do|done|case|esac|echo|cd|shift|return|exit|local)\> 0:keyword + addhl -group sh-highlight regex [\[\]\(\)&|]{2} 0:operator + addhl -group sh-highlight regex (\w+)= 1:identifier + addhl -group sh-highlight regex ^\h*(\w+)\h*\(\) 1:identifier + addhl -group sh-highlight regex "(^|\h)#.*?$" 0:comment + addhl -group sh-highlight regex (["'])(?:\\\1|.)*?\1 0:string + addhl -group sh-highlight regex \$(\w+|\{.+?\}) 0:identifier +~ + +hook global WinSetOption filetype=(?!sh).* %{ + rmhl sh-highlight +} |
