codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: OpenSCAD3" Maintainer: Niklas Adam <adam@oddodd.org>4" Last change: 2022-04-155"6"7" From salkin-mada/openscad.nvim8" Building on the work of Sirtaj Singh Kang and others for vim-openscad9"10 11" quit when a syntax file was already loaded12if exists("b:current_syntax")13 finish14endif15 16syntax case ignore17 18setlocal iskeyword=a-z,A-Z,48-57,_19 20syn match openscadAoperator "{"21syn match openscadAoperator "}"22syn match openscadLi "\["23syn match openscadLi "\]"24syn match openscadPar "("25syn match openscadPar ")"26 27syn match openscadSpecialVariable "\$[a-zA-Z_]\+\>" display28syn match openscadModifier "^\s*[\*\!\#\%]" display29 30syn match openscadBinaryoperator "+"31syn match openscadBinaryoperator "-"32syn match openscadBinaryoperator "*"33syn match openscadBinaryoperator "/"34syn match openscadBinaryoperator "%"35syn match openscadBinaryoperator "\*\*"36syn match openscadBinaryoperator "<"37syn match openscadBinaryoperator "<="38syn match openscadBinaryoperator ">"39syn match openscadBinaryoperator ">="40syn match openscadBinaryoperator "="41syn match openscadBinaryoperator "=="42syn match openscadBinaryoperator "==="43syn match openscadBinaryoperator "!="44syn match openscadBinaryoperator "!=="45syn match openscadBinaryoperator "&"46syn match openscadBinaryoperator "|"47syn match openscadBinaryoperator "<!"48syn match openscadBinaryoperator "?"49syn match openscadBinaryoperator "??"50syn match openscadBinaryoperator "!?"51syn match openscadBinaryoperator "!"52syn match openscadBinaryoperator "#"53syn match openscadBinaryoperator "_"54syn match openscadBinaryoperator "\.\."55syn match openscadBinaryoperator "\.\.\."56syn match openscadBinaryoperator "`"57syn match openscadBinaryoperator ":"58 59syn keyword openscadFunctionDef function nextgroup=openscadFunction skipwhite skipempty60syn match openscadFunction /\<\h\w*\>/ contained display61 62syn keyword openscadModuleDef module nextgroup=openscadModule skipwhite skipempty63syn match openscadModule /\<\h\w*\>/ contained display64 65syn keyword openscadStatement echo assign let assert66syn keyword openscadConditional if else67syn keyword openscadRepeat for intersection_for68syn keyword openscadInclude include use69syn keyword openscadCsgKeyword union difference intersection render intersection_for70syn keyword openscadTransform scale rotate translate resize mirror multmatrix color minkowski hull projection linear_extrude rotate_extrude offset71syn keyword openscadPrimitiveSolid cube sphere cylinder polyhedron surface72syn keyword openscadPrimitive2D square circle polygon import_dxf text73syn keyword openscadPrimitiveImport import child children74 75syn match openscadNumbers "\<\d\|\.\d" contains=openscadNumber display transparent76syn match openscadNumber "\d\+" display contained 77syn match openscadNumber "\.\d\+" display contained 78 79syn region openscadString start=/"/ skip=/\\"/ end=/"/80 81syn keyword openscadBoolean true false82 83syn keyword openscadCommentTodo TODO FIXME XXX NOTE contained display84syn match openscadInlineComment ://.*$: contains=openscadCommentTodo85syn region openscadBlockComment start=:/\*: end=:\*/: fold contains=openscadCommentTodo86 87syn region openscadBlock start="{" end="}" transparent fold88syn region openscadVector start="\[" end="\]" transparent fold89 90syn keyword openscadBuiltin abs acos asin atan atan2 ceil cos exp floor ln log91syn keyword openscadBuiltin lookup max min pow rands round sign sin sqrt tan92syn keyword openscadBuiltin str len search version version_num concat chr ord cross norm93syn keyword openscadBuiltin parent_module94syn keyword openscadBuiltin dxf_cross dxf_dim95syn keyword openscadBuiltinSpecial PI undef96 97"""""""""""""""""""""""""""""""""""""""""98" linkage99"""""""""""""""""""""""""""""""""""""""""100hi def link openscadFunctionDef Structure101hi def link openscadAoperator Function102hi def link openscadLi Function103" hi def link openscadPar Structure104hi def link openscadBuiltinSpecial Special105hi def link openscadBinaryoperator Special106hi def link openscadFunction Function107hi def link openscadModuleDef Structure108hi def link openscadModule Function109hi def link openscadBlockComment Comment110hi def link openscadBoolean Boolean111hi def link openscadBuiltin Function112hi def link openscadConditional Conditional113hi def link openscadCsgKeyword Structure114hi def link openscadInclude Include115hi def link openscadInlineComment Comment116hi def link openscadModifier Special117hi def link openscadStatement Statement118hi def link openscadNumbers Number119hi def link openscadNumber Number120hi def link openscadPrimitiveSolid Keyword121hi def link openscadPrimitive2D Keyword122hi def link openscadPrimitiveImport Keyword123hi def link openscadRepeat Repeat124hi def link openscadSpecialVariable Special125hi def link openscadString String126hi def link openscadTransform Statement127hi def link openscadCommentTodo Todo128 129let b:current_syntax = 'openscad'130 