add sh.kak for shell script highlighting
This commit is contained in:
parent
59941bcfa9
commit
f77509d498
|
@ -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
|
||||
|
|
25
src/rc/sh.kak
Normal file
25
src/rc/sh.kak
Normal file
|
@ -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
|
||||
}
|
Loading…
Reference in New Issue
Block a user