Add syntax support for Yank language.
This commit is contained in:
73
vim/after/syntax/yank.vim
Normal file
73
vim/after/syntax/yank.vim
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: Yank Pipeline Language
|
||||||
|
" Maintainer: ADAM David Alan Martin <adam@recursive.engineer>
|
||||||
|
"
|
||||||
|
" Used for Yank language, from PYP-E
|
||||||
|
" Add an autocommand to vimrc for when the `ynk` file
|
||||||
|
" type is found.
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn include @luaInYank syntax/lua.vim
|
||||||
|
|
||||||
|
let b:current_syntax="yank"
|
||||||
|
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
syn match ynkPipe "|"
|
||||||
|
syn match ynkNamedPipeline "^.\{-\}\(<-\)\@="
|
||||||
|
syn match ynkVariableAssignment "^.\{-\}\(\(:=\)\|\(?=\)\)\@="
|
||||||
|
|
||||||
|
syn match ynkPipeDef '<-'
|
||||||
|
syn match ynkCondDef '?='
|
||||||
|
syn match ynkVarDef ':='
|
||||||
|
|
||||||
|
syn match ynkCommand "\.add-module-path"
|
||||||
|
syn match ynkCommand "\.load"
|
||||||
|
syn match ynkCommand "\.add-include-path"
|
||||||
|
syn match ynkCommand "\.include"
|
||||||
|
syn match ynkCommand "\.set-queue-size"
|
||||||
|
syn match ynkCommand "\.set-delimiter"
|
||||||
|
|
||||||
|
" TODO: Deal with nested strings... `[ [one] [two] ]` is a string of strings. Need escape char too...
|
||||||
|
syn region ynkString start="\[" end="\]"
|
||||||
|
syn region ynkComment start="#" end="$"
|
||||||
|
|
||||||
|
syn region ynkEmbeddedLua matchgroup=ynkComment start="^ *# Begin:Lua$" end="^ *# End:Lua$" contains=@luaInYank
|
||||||
|
syn region ynkCommentInLua start="#" end="$" containedin=@luaInYank
|
||||||
|
syn clear luaParenError
|
||||||
|
|
||||||
|
syn match ynkLuaIllegalComment containedin=@luaInYank "--.*$"
|
||||||
|
syn match ynkLegalComment containedin=ynkEmbeddedLua "--.*$"
|
||||||
|
|
||||||
|
|
||||||
|
syn match ynkVariableExpand "%.\{-}%"
|
||||||
|
syn match ynkVariableExpand "%.\{-}%" contained containedin=@luaInYank
|
||||||
|
syn match ynkExpandTee "@[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
syn match ynkExpandTap "+[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
syn match ynkExpandWye "&[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
syn match ynkExpandMerge "/[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
syn match ynkExpandInline "=[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
syn match ynkExpandSuperscalar "\*[a-zA-Z0-9][a-zA-Z0-9]*"
|
||||||
|
|
||||||
|
hi def link ynkPipe Operator
|
||||||
|
hi def link ynkVariableExpand PreProc
|
||||||
|
hi def link ynkCommand Type
|
||||||
|
hi def link ynkComment Comment
|
||||||
|
hi def link ynkPipeDef Object
|
||||||
|
hi def link ynkCondDef Operator
|
||||||
|
hi def link ynkVarDef Delimiter
|
||||||
|
hi def link ynkExpandTee Type
|
||||||
|
hi def link ynkExpandWye Object
|
||||||
|
hi def link ynkExpandInline Keyword
|
||||||
|
hi def link ynkLuaIllegalComment Dangerous
|
||||||
|
hi def link ynkCommentInLua Comment
|
||||||
|
hi def link luaComment Dangerous
|
||||||
|
hi def link ynkNamedPipeline Function
|
||||||
|
hi def link ynkVariableAssignment Identifier
|
||||||
|
hi def link ynkString String
|
||||||
|
|
@ -33,3 +33,5 @@ endfunction
|
|||||||
au BufNewFile,BufRead *.h setf cpp.cplusplus "call CheckForADAM()
|
au BufNewFile,BufRead *.h setf cpp.cplusplus "call CheckForADAM()
|
||||||
au BufNewFile,BufRead *.cxx,*.cpp,*.hpp,*.cc,*.h setf cpp.cplusplus
|
au BufNewFile,BufRead *.cxx,*.cpp,*.hpp,*.cc,*.h setf cpp.cplusplus
|
||||||
|
|
||||||
|
|
||||||
|
au BufNewFile,BufRead *.ynk setf yank
|
||||||
|
Reference in New Issue
Block a user