mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	Update runtime files
75ab590f85
omit builtin.txt change to `expand()` (depends on 8.2.4726)
		
	
		
			
				
	
	
		
			130 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:		OpenSCAD
 | 
						|
" Maintainer:	Niklas Adam <adam@oddodd.org>
 | 
						|
" Last change:	2022-04-15
 | 
						|
"
 | 
						|
"
 | 
						|
" From salkin-mada/openscad.nvim
 | 
						|
" Building on the work of Sirtaj Singh Kang and others for vim-openscad
 | 
						|
"
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if exists("b:current_syntax")
 | 
						|
	finish
 | 
						|
endif
 | 
						|
 | 
						|
syntax case ignore
 | 
						|
 | 
						|
setlocal iskeyword=a-z,A-Z,48-57,_
 | 
						|
 | 
						|
syn match openscadAoperator "{"
 | 
						|
syn match openscadAoperator "}"
 | 
						|
syn match openscadLi "\["
 | 
						|
syn match openscadLi "\]"
 | 
						|
syn match openscadPar "("
 | 
						|
syn match openscadPar ")"
 | 
						|
 | 
						|
syn match openscadSpecialVariable "\$[a-zA-Z_]\+\>" display
 | 
						|
syn match openscadModifier "^\s*[\*\!\#\%]" display
 | 
						|
 | 
						|
syn match openscadBinaryoperator "+"
 | 
						|
syn match openscadBinaryoperator "-"
 | 
						|
syn match openscadBinaryoperator "*"
 | 
						|
syn match openscadBinaryoperator "/"
 | 
						|
syn match openscadBinaryoperator "%"
 | 
						|
syn match openscadBinaryoperator "\*\*"
 | 
						|
syn match openscadBinaryoperator "<"
 | 
						|
syn match openscadBinaryoperator "<="
 | 
						|
syn match openscadBinaryoperator ">"
 | 
						|
syn match openscadBinaryoperator ">="
 | 
						|
syn match openscadBinaryoperator "="
 | 
						|
syn match openscadBinaryoperator "=="
 | 
						|
syn match openscadBinaryoperator "==="
 | 
						|
syn match openscadBinaryoperator "!="
 | 
						|
syn match openscadBinaryoperator "!=="
 | 
						|
syn match openscadBinaryoperator "&"
 | 
						|
syn match openscadBinaryoperator "|"
 | 
						|
syn match openscadBinaryoperator "<!"
 | 
						|
syn match openscadBinaryoperator "?"
 | 
						|
syn match openscadBinaryoperator "??"
 | 
						|
syn match openscadBinaryoperator "!?"
 | 
						|
syn match openscadBinaryoperator "!"
 | 
						|
syn match openscadBinaryoperator "#"
 | 
						|
syn match openscadBinaryoperator "_"
 | 
						|
syn match openscadBinaryoperator "\.\."
 | 
						|
syn match openscadBinaryoperator "\.\.\."
 | 
						|
syn match openscadBinaryoperator "`"
 | 
						|
syn match openscadBinaryoperator ":"
 | 
						|
 | 
						|
syn keyword openscadFunctionDef function nextgroup=openscadFunction skipwhite skipempty
 | 
						|
syn match openscadFunction /\<\h\w*\>/ contained display
 | 
						|
 | 
						|
syn keyword openscadModuleDef module nextgroup=openscadModule skipwhite skipempty
 | 
						|
syn match openscadModule /\<\h\w*\>/ contained display
 | 
						|
 | 
						|
syn keyword openscadStatement echo assign let assert
 | 
						|
syn keyword openscadConditional if else
 | 
						|
syn keyword openscadRepeat for intersection_for
 | 
						|
syn keyword openscadInclude include use
 | 
						|
syn keyword openscadCsgKeyword union difference intersection render intersection_for
 | 
						|
syn keyword openscadTransform scale rotate translate resize mirror multmatrix color minkowski hull projection linear_extrude rotate_extrude offset
 | 
						|
syn keyword openscadPrimitiveSolid cube sphere cylinder polyhedron surface
 | 
						|
syn keyword openscadPrimitive2D square circle polygon import_dxf text
 | 
						|
syn keyword openscadPrimitiveImport import child children
 | 
						|
 | 
						|
syn match openscadNumbers "\<\d\|\.\d" contains=openscadNumber display transparent
 | 
						|
syn match openscadNumber "\d\+" display contained 
 | 
						|
syn match openscadNumber "\.\d\+" display contained 
 | 
						|
 | 
						|
syn region openscadString start=/"/ skip=/\\"/ end=/"/
 | 
						|
 | 
						|
syn keyword openscadBoolean true false
 | 
						|
 | 
						|
syn keyword openscadCommentTodo TODO FIXME XXX NOTE contained display
 | 
						|
syn match openscadInlineComment ://.*$: contains=openscadCommentTodo
 | 
						|
syn region openscadBlockComment start=:/\*: end=:\*/: fold contains=openscadCommentTodo
 | 
						|
 | 
						|
syn region openscadBlock start="{" end="}" transparent fold
 | 
						|
syn region openscadVector start="\[" end="\]" transparent fold
 | 
						|
 | 
						|
syn keyword openscadBuiltin abs acos asin atan atan2 ceil cos exp floor ln log
 | 
						|
syn keyword openscadBuiltin lookup max min pow rands round sign sin sqrt tan
 | 
						|
syn keyword openscadBuiltin str len search version version_num concat chr ord cross norm
 | 
						|
syn keyword openscadBuiltin parent_module
 | 
						|
syn keyword openscadBuiltin dxf_cross dxf_dim
 | 
						|
syn keyword openscadBuiltinSpecial PI undef
 | 
						|
 | 
						|
"""""""""""""""""""""""""""""""""""""""""
 | 
						|
" linkage
 | 
						|
"""""""""""""""""""""""""""""""""""""""""
 | 
						|
hi def link openscadFunctionDef			Structure
 | 
						|
hi def link openscadAoperator 			Function
 | 
						|
hi def link openscadLi 		 			Function
 | 
						|
" hi def link openscadPar 	 			Structure
 | 
						|
hi def link openscadBuiltinSpecial 		Special
 | 
						|
hi def link openscadBinaryoperator 		Special
 | 
						|
hi def link openscadFunction			Function
 | 
						|
hi def link openscadModuleDef			Structure
 | 
						|
hi def link openscadModule			    Function
 | 
						|
hi def link openscadBlockComment		Comment
 | 
						|
hi def link openscadBoolean			    Boolean
 | 
						|
hi def link openscadBuiltin			    Function
 | 
						|
hi def link openscadConditional			Conditional
 | 
						|
hi def link openscadCsgKeyword			Structure
 | 
						|
hi def link openscadInclude			    Include
 | 
						|
hi def link openscadInlineComment	    Comment
 | 
						|
hi def link openscadModifier			Special
 | 
						|
hi def link openscadStatement			Statement
 | 
						|
hi def link openscadNumbers			    Number
 | 
						|
hi def link openscadNumber			    Number
 | 
						|
hi def link openscadPrimitiveSolid		Keyword
 | 
						|
hi def link openscadPrimitive2D 		Keyword
 | 
						|
hi def link openscadPrimitiveImport 	Keyword
 | 
						|
hi def link openscadRepeat			    Repeat
 | 
						|
hi def link openscadSpecialVariable		Special
 | 
						|
hi def link openscadString			    String
 | 
						|
hi def link openscadTransform			Statement
 | 
						|
hi def link openscadCommentTodo			Todo
 | 
						|
 | 
						|
let b:current_syntax = 'openscad'
 |