mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04: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" |