vim syntax files for *.ac and *.nas files. See nasal.vim for how to use them.
Note that for XML embedded Nasal you can type :set ft=nasal and back to XML with :set ft=xml (ft ... filetype)
This commit is contained in:
parent
7c8c8ff381
commit
f35ba3510f
2 changed files with 209 additions and 0 deletions
62
utils/syntax/ac3d.vim
Normal file
62
utils/syntax/ac3d.vim
Normal file
|
@ -0,0 +1,62 @@
|
|||
if !exists("main_syntax")
|
||||
if version < 600
|
||||
syntax clear
|
||||
" elseif exists("b:current_syntax")
|
||||
" finish
|
||||
endif
|
||||
let main_syntax = 'ac3d'
|
||||
endif
|
||||
|
||||
"setlocal iskeyword=46,95,97-122
|
||||
|
||||
syn keyword ac3dIdentifier AC3Db
|
||||
syn region ac3dMaterial start=+^MATERIAL+ end=+$+ contains=ac3dSTringS,ac3dStringD,ac3dMatKeyword
|
||||
syn match ac3dError display +^OBJECT+
|
||||
syn match ac3dObject display +^OBJECT\s\+\(world\|group\|poly\)\s*$+
|
||||
syn match ac3dMaterial display +^SURF.*+
|
||||
syn region ac3dStringS start=+'+ end=+'+
|
||||
syn region ac3dStringD start=+"+ end=+"+
|
||||
syn match ac3dFunction display +^\(crease\|mat\|texture\|texrep\|texoff\|url\|data\|refs\)+
|
||||
syn match ac3dFunction display +^\(numvert\|numsurf\|kids\|name\|SURF\|loc\)+
|
||||
syn keyword ac3dMatKeyword MATERIAL rgb amb emis spec shi trans
|
||||
|
||||
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_ac3d_syn_inits")
|
||||
if version < 508
|
||||
let did_ac3d_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
HiLink ac3dMatKeyword Statement
|
||||
HiLink ac3dStringS String
|
||||
HiLink ac3dStringD String
|
||||
HiLink ac3dIdentifier Identifier
|
||||
HiLink ac3dObject Identifier
|
||||
|
||||
HiLink ac3dFunction Function
|
||||
HiLink ac3dComment Comment
|
||||
HiLink ac3dSpecial Special
|
||||
HiLink ac3dCharacter Character
|
||||
HiLink ac3dNumber Number
|
||||
HiLink ac3dFloat Float
|
||||
HiLink ac3dIdentifier Identifier
|
||||
HiLink ac3dConditional Conditional
|
||||
HiLink ac3dRepeat Repeat
|
||||
HiLink ac3dOperator Operator
|
||||
HiLink ac3dType Type
|
||||
HiLink ac3dError Error
|
||||
HiLink ac3dBoolean Boolean
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "ac3d"
|
||||
if main_syntax == 'ac3d'
|
||||
unlet main_syntax
|
||||
endif
|
||||
|
||||
" vim: ts=8
|
147
utils/syntax/nasal.vim
Normal file
147
utils/syntax/nasal.vim
Normal file
|
@ -0,0 +1,147 @@
|
|||
" Vim syntax file
|
||||
" Language: Nasal (FlightGear)
|
||||
" Maintainer: Melchior FRANZ <mfranz # aon : at>
|
||||
" URL: http://members.aon.at/mfranz/nasal.vim
|
||||
" Last Change: 2005 Apr 25
|
||||
" $Id$
|
||||
|
||||
" ________________________________CUSTOMIZATION______________________________
|
||||
"
|
||||
" :let nasal_no_fgfs=1 " turn off FlightGear extensions
|
||||
" :hi nasalStatement ctermfg=Green " change statement color
|
||||
" ___________________________________________________________________________
|
||||
" for use in ~/.vimrc drop the initial colon
|
||||
" type ":help new-filetype" in vim for installation instructions
|
||||
|
||||
|
||||
if !exists("main_syntax")
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let main_syntax = 'nasal'
|
||||
endif
|
||||
|
||||
|
||||
syn keyword nasalCommentTodo TODO FIXME XXX contained
|
||||
syn match nasalComment "#.*$" contains=nasalCommentTodo
|
||||
syn region nasalStringS start=+'+ skip=+\\'+ end=+'+ contains=nasalSpecialS
|
||||
syn region nasalStringD start=+"+ skip=+\\"+ end=+"+ contains=nasalSpecialD,nasalSpecial
|
||||
syn match nasalSpecialS contained "\\'"
|
||||
syn match nasalSpecialD contained "\\[\\rnt\"]"
|
||||
syn match nasalSpecial contained "\\x[[:xdigit:]][[:xdigit:]]"
|
||||
|
||||
syn match nasalError "``\="
|
||||
syn match nasalError "`\\[^`\\rnt]`"
|
||||
syn match nasalError "`[^`][^`]\+`"
|
||||
syn match nasalCharConstant "`[^`\\]`"
|
||||
syn match nasalCharConstant "`\\[`\\rnt]`"
|
||||
syn match nasalCharConstant "`\\x[[:xdigit:]][[:xdigit:]]`"
|
||||
|
||||
syn match nasalNumber "-\=\<\d\+\>"
|
||||
syn match nasalNumber "\.\d\+\([eE][+-]\=\d\+\)\=\>"
|
||||
syn match nasalNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=\>"
|
||||
syn match nasalNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=\>"
|
||||
|
||||
syn keyword nasalStatement func return var
|
||||
syn keyword nasalConditional if elsif else
|
||||
syn keyword nasalRepeat while for foreach forindex
|
||||
syn keyword nasalBranch break continue
|
||||
syn keyword nasalVar me arg parents
|
||||
syn keyword nasalType nil
|
||||
syn keyword nasalOperator and or
|
||||
syn match nasalFoo "\~"
|
||||
|
||||
syn match nasalFunction display "\<contains\>"
|
||||
syn keyword nasalFunction size keys append pop setsize subvec delete int num streq substr
|
||||
syn keyword nasalFunction chr typeof compile call die sprintf caller closure find cmp
|
||||
syn keyword nasalFunction split rand bind sort ghosttype
|
||||
|
||||
" math lib
|
||||
syn match nasalFunction "\<math\.\(sin\|cos\|exp\|ln\|sqrt\|atan2\)\>"
|
||||
syn match nasalConstant "\<math\.\(e\|pi\)\>"
|
||||
|
||||
" io lib
|
||||
syn match nasalFunction "\<io\.\(close\|read\|write\|seek\|tell\|open\|readln\|stat\)\>"
|
||||
syn match nasalVar "\<io\.\(SEEK_SET\|SEEK_CUR\|SEEK_END\|stdin\|stdout\|stderr\)\>"
|
||||
|
||||
" bits lib
|
||||
syn match nasalFunction "\<bits\.\(sfld\|fld\|setfld\|buf\)\>"
|
||||
|
||||
|
||||
" FlightGear specific commands
|
||||
if !exists("nasal_no_fgfs")
|
||||
syn keyword nasalFGFSFunction getprop setprop print _fgcommand settimer _setlistener _cmdarg
|
||||
syn keyword nasalFGFSFunction _interpolate rand srand directory removelistener systime
|
||||
syn keyword nasalFGFSFunction geodtocart carttogeod geodinfo parsexml airportinfo
|
||||
|
||||
syn keyword nasalGlobalsFunction isa fgcommand cmdarg abs interpolate setlistener defined printlog
|
||||
|
||||
syn keyword nasalPropsFunction getType getName getIndex getValue setValue setIntValue
|
||||
syn keyword nasalPropsFunction setBoolValue setDoubleValue getParent getChild getChildren
|
||||
syn keyword nasalPropsFunction getAttribute setAttribute
|
||||
syn keyword nasalPropsFunction removeChild removeChildren getNode
|
||||
syn keyword nasalPropsFunction getPath getBoolValue setValues getValues
|
||||
syn match nasalPropsFunction "\<props\.\(_\?globals\|Node\|nodeList\|initNode\)\>\.\="
|
||||
endif
|
||||
|
||||
|
||||
syn sync fromstart
|
||||
syn sync maxlines=100
|
||||
|
||||
syn match nasalParenError ")"
|
||||
syn match nasalBrackError "]"
|
||||
syn match nasalBraceError "}"
|
||||
|
||||
syn region nasalEncl transparent matchgroup=nasalParenEncl start="(" matchgroup=nasalParenEncl end=")" contains=ALLBUT,nasalParenError
|
||||
syn region nasalEncl transparent matchgroup=nasalBrackEncl start="\[" matchgroup=nasalBrackEncl end="\]" contains=ALLBUT,nasalBrackError
|
||||
syn region nasalEncl transparent matchgroup=nasalBraceEncl start="{" matchgroup=nasalBraceEncl end="}" contains=ALLBUT,nasalBraceError
|
||||
|
||||
|
||||
if version >= 508 || !exists("did_nasal_syn_inits")
|
||||
if version < 508
|
||||
let did_nasal_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
HiLink nasalComment Comment
|
||||
HiLink nasalCommentTodo Todo
|
||||
HiLink nasalSpecial Special
|
||||
HiLink nasalSpecialS Special
|
||||
HiLink nasalSpecialD Special
|
||||
HiLink nasalStringS String
|
||||
HiLink nasalStringD String
|
||||
HiLink nasalNumber Number
|
||||
HiLink nasalConditional Conditional
|
||||
|
||||
HiLink nasalVar Macro
|
||||
HiLink nasalType Type
|
||||
HiLink nasalConstant Constant
|
||||
HiLink nasalCharConstant Type
|
||||
HiLink nasalFoo NonText
|
||||
|
||||
HiLink nasalRepeat Repeat
|
||||
HiLink nasalBranch Conditional
|
||||
HiLink nasalOperator Operator
|
||||
HiLink nasalStatement Statement
|
||||
HiLink nasalFunction Function
|
||||
|
||||
HiLink nasalFGFSFunction Function
|
||||
HiLink nasalGlobalsFunction Function
|
||||
HiLink nasalPropsFunction Function
|
||||
|
||||
HiLink nasalError Error
|
||||
HiLink nasalParenError nasalError
|
||||
HiLink nasalBrackError nasalError
|
||||
HiLink nasalBraceError nasalError
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "nasal"
|
||||
if main_syntax == 'nasal'
|
||||
unlet main_syntax
|
||||
endif
|
||||
|
||||
" vim: ts=8
|
Loading…
Add table
Reference in a new issue