mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 04:17:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file for Godot shading language
 | |
| " Language:     gdshader
 | |
| " Maintainer:   Maxim Kim <habamax@gmail.com>
 | |
| " Filenames:    *.gdshader
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|     finish
 | |
| endif
 | |
| 
 | |
| syn keyword gdshaderConditional if else switch case default
 | |
| syn keyword gdshaderRepeat for while do
 | |
| syn keyword gdshaderStatement return discard
 | |
| syn keyword gdshaderBoolean true false
 | |
| 
 | |
| syn keyword gdshaderKeyword shader_type render_mode
 | |
| syn keyword gdshaderKeyword in out inout
 | |
| syn keyword gdshaderKeyword lowp mediump highp
 | |
| syn keyword gdshaderKeyword uniform varying const
 | |
| syn keyword gdshaderKeyword flat smooth
 | |
| 
 | |
| syn keyword gdshaderType float vec2 vec3 vec4
 | |
| syn keyword gdshaderType uint uvec2 uvec3 uvec4
 | |
| syn keyword gdshaderType int ivec2 ivec3 ivec4
 | |
| syn keyword gdshaderType void bool
 | |
| syn keyword gdshaderType bvec2 bvec3 bvec4
 | |
| syn keyword gdshaderType mat2 mat3 mat4
 | |
| syn keyword gdshaderType sampler2D isampler2D usampler2D samplerCube
 | |
| 
 | |
| syn match gdshaderMember "\v<(\.)@<=[a-z_]+\w*>"
 | |
| syn match gdshaderBuiltin "\v<[A-Z_]+[A-Z0-9_]*>"
 | |
| syn match gdshaderFunction "\v<\w*>(\()@="
 | |
| 
 | |
| syn match gdshaderNumber "\v<\d+(\.)@!>"
 | |
| syn match gdshaderFloat "\v<\d*\.\d+(\.)@!>"
 | |
| syn match gdshaderFloat "\v<\d*\.=\d+(e-=\d+)@="
 | |
| syn match gdshaderExponent "\v(\d*\.=\d+)@<=e-=\d+>"
 | |
| 
 | |
| syn match gdshaderComment "\v//.*$" contains=@Spell
 | |
| syn region gdshaderComment start="/\*" end="\*/" contains=@Spell
 | |
| syn keyword gdshaderTodo TODO FIXME XXX NOTE BUG HACK OPTIMIZE containedin=gdshaderComment
 | |
| 
 | |
| hi def link gdshaderConditional Conditional
 | |
| hi def link gdshaderRepeat Repeat
 | |
| hi def link gdshaderStatement Statement
 | |
| hi def link gdshaderBoolean Boolean
 | |
| hi def link gdshaderKeyword Keyword
 | |
| hi def link gdshaderMember Identifier
 | |
| hi def link gdshaderBuiltin Identifier
 | |
| hi def link gdshaderFunction Function
 | |
| hi def link gdshaderType Type
 | |
| hi def link gdshaderNumber Number
 | |
| hi def link gdshaderFloat Float
 | |
| hi def link gdshaderExponent Special
 | |
| hi def link gdshaderComment Comment
 | |
| hi def link gdshaderTodo Todo
 | |
| 
 | |
| let b:current_syntax = "gdshader"
 | 
