Mercurial > vim
view runtime/syntax/gdshader.vim @ 33083:79b2eb83f2df v9.0.1827
patch 9.0.1827: xxd: no color support
Commit: https://github.com/vim/vim/commit/e2528ae11134cdf35c312754b124aba4963d8054
Author: Aapo Rantalainen <aapo.rantalainen@gmail.com>
Date: Thu Aug 31 17:58:13 2023 +0200
patch 9.0.1827: xxd: no color support
Problem: xxd: no color support
Solution: Add color support using xxd -R
Add some basic color support for xxd
The hex-value and value are both colored with the same color depending
on the hex-value, e.g.:
0x00 = white
0xff = blue
printable = green
non-printable = red
tabs and linebreaks = yellow
Each character needs 11 more bytes to contain color. (Same color in a
row could contain only one overhead but the logic how xxd creates colums
must be then changed.) Size of colored output is increased by factor of
~6. Also grepping the output will break when colors is used.
Flag for color is "-R", because less uses "-R".
Color uses parameters auto,always,never same as less and grep (among
others).
E.g.
xxd -R always $FILE | less -R
Add some screen-tests (that currently on work on linux) to verify the
feature works as expected.
closes: #12131
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Aapo Rantalainen <aapo.rantalainen@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 31 Aug 2023 18:15:03 +0200 |
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"