1
0
Fork 0

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:
mfranz 2008-06-07 17:21:47 +00:00
parent 7c8c8ff381
commit f35ba3510f
2 changed files with 209 additions and 0 deletions

62
utils/syntax/ac3d.vim Normal file
View 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
View 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