motiejus/dotfiles

Unnamed repository; edit this file 'description' to name the repository.
git clone https://git.jakstys.lt/motiejus/dotfiles.git
Log | Tree | Refs | README | LICENSE

commit b9b66264af6f8366bb11fe2564fcd05dd08bc3d1 (tree)
parent 0e914f2ab5ab9a9554c31b90be189dca5c4ee3a8
Author: Michael Dusan <michael.dusan@gmail.com>
Date:   Sat, 25 Apr 2020 20:08:10 -0400

minimal zir syntax

Diffstat:
Mftdetect/zig.vim | 1+
Mftplugin/zig.vim | 1+
Asyntax/zir.vim | 50++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/ftdetect/zig.vim b/ftdetect/zig.vim @@ -1 +1,2 @@ au BufRead,BufNewFile *.zig set filetype=zig +au BufRead,BufNewFile *.zir set filetype=zir diff --git a/ftplugin/zig.vim b/ftplugin/zig.vim @@ -10,5 +10,6 @@ setlocal tabstop=4 setlocal shiftwidth=4 setlocal suffixesadd=.zig +setlocal suffixesadd=.zir setlocal commentstring=//\ %s setlocal makeprg=zig\ build diff --git a/syntax/zir.vim b/syntax/zir.vim @@ -0,0 +1,50 @@ +" Vim syntax file +" Language: Zir +" Maintainer: Andrew Kelley +" Latest Revision: 00 April 2020 + +if exists("b:current_syntax") + finish +endif +let b:current_syntax = "zir" + +syn region zirCommentLine start=";" end="$" contains=zirTodo,@Spell + +syn region zirBlock start="{" end="}" transparent fold + +syn keyword zirKeyword primitive fntype int str as ptrtoint fieldptr deref asm unreachable export + +syn keyword zirTodo contained TODO + +syn region zirString start=+c\?"+ skip=+\\\\\|\\"+ end=+"+ oneline contains=zirEscape,zirEscapeUnicode,zirEscapeError,@Spell + +syn match zirEscapeError display contained /\\./ +syn match zirEscape display contained /\\\([nrt\\'"]\|x\x\{2}\)/ +syn match zirEscapeUnicode display contained /\\\(u\x\{4}\|U\x\{6}\)/ + +syn match zirDecNumber display "\<[0-9]\+\%(.[0-9]\+\)\=\%([eE][+-]\?[0-9]\+\)\=" +syn match zirHexNumber display "\<0x[a-fA-F0-9]\+\%([a-fA-F0-9]\+\%([pP][+-]\?[0-9]\+\)\?\)\=" +syn match zirOctNumber display "\<0o[0-7]\+" +syn match zirBinNumber display "\<0b[01]\+\%(.[01]\+\%([eE][+-]\?[0-9]\+\)\?\)\=" + +syn match zirGlobal display "[^a-zA-Z0-9_]\?\zs@[a-zA-Z0-9_]\+" +syn match zirLocal display "[^a-zA-Z0-9_]\?\zs%[a-zA-Z0-9_]\+" + +hi def link zirCommentLine Comment +hi def link zirTodo Todo + +hi def link zirKeyword Keyword + +hi def link zirString Constant + +hi def link zirEscape Special +hi def link zirEscapeUnicode zirEscape +hi def link zirEscapeError Error + +hi def link zirDecNumber Constant +hi def link zirHexNumber Constant +hi def link zirOctNumber Constant +hi def link zirBinNumber Constant + +hi def link zirGlobal Constant +hi def link zirLocal Identifier