diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-08 13:33:25 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-08 13:33:25 +0200 |
commit | 9caa678708a97022ba44f0bf86de22b07e9bde86 (patch) | |
tree | 0a27834b06ae7894278a752e7875b64d3a09e5dd /syntax | |
parent | 8f2a71643a90a8aff03e69ba2b1f8fdb02cebdcf (diff) | |
download | vim-polyglot-9caa678708a97022ba44f0bf86de22b07e9bde86.tar.gz vim-polyglot-9caa678708a97022ba44f0bf86de22b07e9bde86.zip |
Add ion shell support, closes #404
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/ion.vim | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/syntax/ion.vim b/syntax/ion.vim new file mode 100644 index 00000000..1a55663a --- /dev/null +++ b/syntax/ion.vim @@ -0,0 +1,87 @@ +if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'ion') != -1 + finish +endif + +if v:version < 600 + syntax clear +elseif exists('b:current_syntax') + finish +endif + +syn region ionDoubleQuote start='"' skip='\'' end='"' contains=ionArrayVar,ionVariable,ionProcess +syn region ionSingleQuote start='\'' skip='"' end='\'' +syn region ionArrayVar start="@{" end="}" +syn match ionArrayVar "@[a-zA-Z0-9_]\+" +syn region ionVariable start="${" end="}" +syn match ionVariable "$[a-zA-Z0-9_]\+" +syn region ionProcess start="$(" end=")" transparent +syn region ionProcess start="@(" end=")" transparent +syn match ionNumber '[+-]\?\([0-9]*[.]\)\?[0-9]\+' +syn match ionComment '[#].*$' +syn match ionOperator '&' +syn match ionOperator '&&' +syn match ionOperator '||' +syn match ionOperator '[|<>&]' +syn match ionFlag '[ ]\([-]\)\w\+' + +syntax keyword ionKeyword . +syntax keyword ionKeyword .. +syntax keyword ionKeyword alias +syntax keyword ionKeyword and +syntax keyword ionKeyword bg +syntax keyword ionKeyword break +syntax keyword ionKeyword calc +syntax keyword ionKeyword case +syntax keyword ionKeyword cd +syntax keyword ionKeyword complete +syntax keyword ionKeyword continue +syntax keyword ionKeyword count +syntax keyword ionKeyword dirs +syntax keyword ionKeyword disown +syntax keyword ionKeyword drop +syntax keyword ionKeyword echo +syntax keyword ionKeyword else +syntax keyword ionKeyword end +syntax keyword ionKeyword eval +syntax keyword ionKeyword exec +syntax keyword ionKeyword exit +syntax keyword ionKeyword false +syntax keyword ionKeyword fg +syntax keyword ionKeyword fn +syntax keyword ionKeyword for +syntax keyword ionKeyword help +syntax keyword ionKeyword history +syntax keyword ionKeyword if +syntax keyword ionKeyword in +syntax keyword ionKeyword jobs +syntax keyword ionKeyword let +syntax keyword ionKeyword match +syntax keyword ionKeyword matches +syntax keyword ionKeyword mkdir +syntax keyword ionKeyword not +syntax keyword ionKeyword or +syntax keyword ionKeyword popd +syntax keyword ionKeyword pushd +syntax keyword ionKeyword pwd +syntax keyword ionKeyword read +syntax keyword ionKeyword set +syntax keyword ionKeyword source +syntax keyword ionKeyword status +syntax keyword ionKeyword suspend +syntax keyword ionKeyword test +syntax keyword ionKeyword time +syntax keyword ionKeyword true +syntax keyword ionKeyword unalias +syntax keyword ionKeyword wait +syntax keyword ionKeyword while + +hi def link ionKeyword Keyword +hi def link ionArrayVar Constant +hi def link ionVariable Identifier +hi def link ionNumber Number +hi def link ionDoubleQuote String +hi def link ionSingleQuote String +hi def link ionProcess PreProc +hi def link ionComment Comment +hi def link ionOperator Operator +hi def link ionFlag Boolean |