spice.vim (2243B)
1 " Vim syntax file 2 " Language: Spice circuit simulator input netlist 3 " Maintainer: Noam Halevy <Noam.Halevy.motorola.com> 4 " Last Change: 2012 Jun 01 5 " (Dominique Pelle added @Spell) 6 " 7 " This is based on sh.vim by Lennart Schultz 8 " but greatly simplified 9 10 " quit when a syntax file was already loaded 11 if exists("b:current_syntax") 12 finish 13 endif 14 15 " spice syntax is case INsensitive 16 syn case ignore 17 18 syn keyword spiceTodo contained TODO 19 20 syn match spiceComment "^ \=\*.*$" contains=@Spell 21 syn match spiceComment "\$.*$" contains=@Spell 22 23 " Numbers, all with engineering suffixes and optional units 24 "========================================================== 25 "floating point number, with dot, optional exponent 26 syn match spiceNumber "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" 27 "floating point number, starting with a dot, optional exponent 28 syn match spiceNumber "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" 29 "integer number with optional exponent 30 syn match spiceNumber "\<[0-9]\+\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" 31 32 " Misc 33 "===== 34 syn match spiceWrapLineOperator "\\$" 35 syn match spiceWrapLineOperator "^+" 36 37 syn match spiceStatement "^ \=\.\I\+" 38 39 " Matching pairs of parentheses 40 "========================================== 41 syn region spiceParen transparent matchgroup=spiceOperator start="(" end=")" contains=ALLBUT,spiceParenError 42 syn region spiceSinglequote matchgroup=spiceOperator start=+'+ end=+'+ 43 44 " Errors 45 "======= 46 syn match spiceParenError ")" 47 48 " Syncs 49 " ===== 50 syn sync minlines=50 51 52 " Define the default highlighting. 53 " Only when an item doesn't have highlighting yet 54 55 hi def link spiceTodo Todo 56 hi def link spiceWrapLineOperator spiceOperator 57 hi def link spiceSinglequote spiceExpr 58 hi def link spiceExpr Function 59 hi def link spiceParenError Error 60 hi def link spiceStatement Statement 61 hi def link spiceNumber Number 62 hi def link spiceComment Comment 63 hi def link spiceOperator Operator 64 65 66 let b:current_syntax = "spice" 67 68 " insert the following to $VIM/syntax/scripts.vim 69 " to autodetect HSpice netlists and text listing output: 70 " 71 " " Spice netlists and text listings 72 " elseif getline(1) =~ 'spice\>' || getline("$") =~ '^\.end' 73 " so <sfile>:p:h/spice.vim 74 75 " vim: ts=8