Mercurial > vim
view runtime/syntax/chaiscript.vim @ 23043:6616bf17dc94 v8.2.2068
patch 8.2.2068: transparent syntax item uses start/end of containing region
Commit: https://github.com/vim/vim/commit/b46f57e87b3706a8c4b97d8e03f7853a7938b061
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Nov 29 14:11:41 2020 +0100
patch 8.2.2068: transparent syntax item uses start/end of containing region
Problem: Transparent syntax item uses start/end of containing region.
Solution: Do not change the startpos and endpos of a transparent region to
that of its containing region. (Adrian Ghizaru, closes #7349,
closes #7391)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 29 Nov 2020 14:15:05 +0100 |
parents | b9e314fe473f |
children | d46f974fd69e |
line wrap: on
line source
" Vim syntax file " Language: ChaiScript " Maintainer: Jason Turner <lefticus 'at' gmail com> " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") finish end syn case match " syncing method syn sync fromstart " Strings syn region chaiscriptString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=chaiscriptSpecial,chaiscriptEval,@Spell " Escape characters syn match chaiscriptSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}" " String evals syn region chaiscriptEval contained start="${" end="}" " integer number syn match chaiscriptNumber "\<\d\+\>" " floating point number, with dot, optional exponent syn match chaiscriptFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>" " floating point number, starting with a dot, optional exponent syn match chaiscriptFloat "\.\d\+\%(e[-+]\=\d\+\)\=\>" " floating point number, without dot, with exponent syn match chaiscriptFloat "\<\d\+e[-+]\=\d\+\>" " Hex strings syn match chaiscriptNumber "\<0x\x\+\>" " Binary strings syn match chaiscriptNumber "\<0b[01]\+\>" " Various language features syn keyword chaiscriptCond if else syn keyword chaiscriptRepeat while for do syn keyword chaiscriptStatement break continue return syn keyword chaiscriptExceptions try catch throw "Keyword syn keyword chaiscriptKeyword def true false attr "Built in types syn keyword chaiscriptType fun var "Built in funcs, keep it simple syn keyword chaiscriptFunc eval throw "Let's treat all backtick operator function lookups as built in too syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`" " Account for the "[1..10]" syntax, treating it as an operator " Intentionally leaving out all of the normal, well known operators syn match chaiscriptOperator "\.\." " Guard seperator as an operator syn match chaiscriptOperator ":" " Comments syn match chaiscriptComment "//.*$" contains=@Spell syn region chaiscriptComment matchgroup=chaiscriptComment start="/\*" end="\*/" contains=@Spell hi def link chaiscriptExceptions Exception hi def link chaiscriptKeyword Keyword hi def link chaiscriptStatement Statement hi def link chaiscriptRepeat Repeat hi def link chaiscriptString String hi def link chaiscriptNumber Number hi def link chaiscriptFloat Float hi def link chaiscriptOperator Operator hi def link chaiscriptConstant Constant hi def link chaiscriptCond Conditional hi def link chaiscriptFunction Function hi def link chaiscriptComment Comment hi def link chaiscriptTodo Todo hi def link chaiscriptError Error hi def link chaiscriptSpecial SpecialChar hi def link chaiscriptFunc Identifier hi def link chaiscriptType Type hi def link chaiscriptEval Special let b:current_syntax = "chaiscript" " vim: nowrap sw=2 sts=2 ts=8 noet