Mercurial > vim
view runtime/syntax/wast.vim @ 19822:fc3cdc819d80 v8.2.0467
patch 8.2.0467: Vim9: some errors are not tested
Commit: https://github.com/vim/vim/commit/33fa29cf74ea314f89cfa58ec9ffc2d6781a59d4
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 28 19:41:33 2020 +0100
patch 8.2.0467: Vim9: some errors are not tested
Problem: Vim9: some errors are not tested
Solution: Add more tests. Fix that Vim9 script flag is not reset.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 28 Mar 2020 19:45:04 +0100 |
parents | 172f18a3a6cd |
children | 2023f0835f75 |
line wrap: on
line source
" Vim syntax file " Language: WebAssembly " Maintainer: rhysd <lin90162@yahoo.co.jp> " Last Change: Jul 29, 2018 " For bugs, patches and license go to https://github.com/rhysd/vim-wasm if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn cluster wastCluster contains=wastModule,wastInstWithType,wastInstGeneral,wastParamInst,wastControlInst,wastString,wastNamedVar,wastUnnamedVar,wastFloat,wastNumber,wastComment,wastList,wastType " Instructions " https://webassembly.github.io/spec/core/text/instructions.html " Note: memarg (align=,offset=) can be added to memory instructions syn match wastInstWithType "\%((\s*\)\@<=\<\%(i32\|i64\|f32\|f64\|memory\)\.[[:alnum:]_]\+\%(/\%(i32\|i64\|f32\|f64\)\)\=\>\%(\s\+\%(align\|offset\)=\)\=" contained display syn match wastInstGeneral "\%((\s*\)\@<=\<[[:alnum:]_]\+\>" contained display " https://webassembly.github.io/spec/core/text/instructions.html#control-instructions syn match wastControlInst "\%((\s*\)\@<=\<\%(block\|end\|loop\|if\|else\|unreachable\|nop\|br\|br_if\|br_table\|return\|call\|call_indirect\)\>" contained display " https://webassembly.github.io/spec/core/text/instructions.html#parametric-instructions syn match wastParamInst "\%((\s*\)\@<=\<\%(drop\|select\)\>" contained display " Identifiers " https://webassembly.github.io/spec/core/text/values.html#text-id syn match wastNamedVar "$\+[[:alnum:]!#$%&'∗./:=><?@\\^_`~+-]*" contained display syn match wastUnnamedVar "$\+\d\+[[:alnum:]!#$%&'∗./:=><?@\\^_`~+-]\@!" contained display " String literals " https://webassembly.github.io/spec/core/text/values.html#strings syn region wastString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained contains=wastStringSpecial syn match wastStringSpecial "\\\x\x\|\\[tnr'\\\"]\|\\u\x\+" contained containedin=wastString " Float literals " https://webassembly.github.io/spec/core/text/values.html#floating-point syn match wastFloat "\<-\=\d\%(_\=\d\)*\%(\.\d\%(_\=\d\)*\)\=\%([eE][-+]\=\d\%(_\=\d\)*\)\=" display contained syn match wastFloat "\<-\=0x\x\%(_\=\d\)*\%(\.\x\%(_\=\x\)*\)\=\%([pP][-+]\=\d\%(_\=\d\)*\)\=" display contained syn keyword wastFloat inf nan contained " Integer literals " https://webassembly.github.io/spec/core/text/values.html#integers syn match wastNumber "\<-\=\d\%(_\=\d\)*\>" display contained syn match wastNumber "\<-\=0x\x\%(_\=\x\)*\>" display contained " Comments " https://webassembly.github.io/spec/core/text/lexical.html#comments syn region wastComment start=";;" end="$" display syn region wastComment start="(;;\@!" end=";)" syn region wastList matchgroup=wastListDelimiter start="(;\@!" matchgroup=wastListDelimiter end=";\@<!)" contains=@wastCluster " Types " https://webassembly.github.io/spec/core/text/types.html syn keyword wastType i64 i32 f64 f32 param result anyfunc mut contained syn match wastType "\%((\_s*\)\@<=func\%(\_s*[()]\)\@=" display contained " Modules " https://webassembly.github.io/spec/core/text/modules.html syn keyword wastModule module type export import table memory global data elem contained syn match wastModule "\%((\_s*\)\@<=func\%(\_s\+\$\)\@=" display contained syn sync lines=100 hi def link wastModule PreProc hi def link wastListDelimiter Delimiter hi def link wastInstWithType Operator hi def link wastInstGeneral Operator hi def link wastControlInst Statement hi def link wastParamInst Conditional hi def link wastString String hi def link wastStringSpecial Special hi def link wastNamedVar Identifier hi def link wastUnnamedVar PreProc hi def link wastFloat Float hi def link wastNumber Number hi def link wastComment Comment hi def link wastType Type let b:current_syntax = "wast" let &cpo = s:cpo_save unlet s:cpo_save