view runtime/syntax/gdshader.vim @ 31489:966c87c57912 v9.0.1077

patch 9.0.1077: can add text property with negative ID before virtual text Commit: https://github.com/vim/vim/commit/4ce1f99a2d58b809ab5a5c602bd031426f8527e8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 19 13:31:06 2022 +0000 patch 9.0.1077: can add text property with negative ID before virtual text Problem: Can add text property with negative ID before virtual text property. Solution: Remember that a text property with a negative ID was used and give an appropriate error message. (closes #11725) Fix index computation.
author Bram Moolenaar <Bram@vim.org>
date Mon, 19 Dec 2022 14:45:04 +0100
parents e37754a13778
children
line wrap: on
line source

" 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"