Mercurial > vim
view runtime/syntax/hb.vim @ 15247:336728a577f5 v8.1.0632
patch 8.1.0632: using sign group names is inefficient
commit https://github.com/vim/vim/commit/7a2d9892b7158edf8dc48e9bcaaae70a40787b37
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 24 20:23:49 2018 +0100
patch 8.1.0632: using sign group names is inefficient
Problem: Using sign group names is inefficient.
Solution: Store group names in a hash table and use a reference to them.
Also remove unnecessary use of ":exe" from the tests. (Yegappan
Lakshmanan, closes #3715)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 24 Dec 2018 20:30:04 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: Hyper Builder " Maintainer: Alejandro Forero Cuervo " URL: http://bachue.com/hb/vim/syntax/hb.vim " Last Change: 2012 Jan 08 by Thilo Six " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " Read the HTML syntax to start with "syn include @HTMLStuff <sfile>:p:h/htmlhb.vim "this would be nice but we are supposed not to do it "set mps=<:> "syn region HBhtmlString contained start=+"+ end=+"+ contains=htmlSpecialChar "syn region HBhtmlString contained start=+'+ end=+'+ contains=htmlSpecialChar "syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*" syn match htmlSpecialChar "&[^;]*;" contained syn match HBhtmlTagSk contained "[A-Za-z]*" syn match HBhtmlTagS contained "<\s*\(hb\s*\.\s*\(sec\|min\|hour\|day\|mon\|year\|input\|html\|time\|getcookie\|streql\|url-enc\)\|wall\s*\.\s*\(show\|info\|id\|new\|rm\|count\)\|auth\s*\.\s*\(chk\|add\|find\|user\)\|math\s*\.\s*exp\)\s*\([^.A-Za-z0-9]\|$\)" contains=HBhtmlTagSk transparent syn match HBhtmlTagN contained "[A-Za-z0-9\/\-]\+" syn match HBhtmlTagB contained "<\s*[A-Za-z0-9\/\-]\+\(\s*\.\s*[A-Za-z0-9\/\-]\+\)*" contains=HBhtmlTagS,HBhtmlTagN syn region HBhtmlTag contained start=+<+ end=+>+ contains=HBhtmlTagB,HBDirectiveError syn match HBFileName ".*" contained syn match HBDirectiveKeyword ":\s*\(include\|lib\|set\|out\)\s\+" contained syn match HBDirectiveError "^:.*$" contained "syn match HBDirectiveBlockEnd "^:\s*$" contained "syn match HBDirectiveOutHead "^:\s*out\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName "syn match HBDirectiveSetHead "^:\s*set\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName syn match HBInvalidLine "^.*$" syn match HBDirectiveInclude "^:\s*include\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword syn match HBDirectiveLib "^:\s*lib\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword syn region HBText matchgroup=HBDirectiveKeyword start=/^:\(set\|out\)\s*\S\+.*$/ end=/^:\s*$/ contains=HBDirectiveError,htmlSpecialChar,HBhtmlTag keepend "syn match HBLine "^:.*$" contains=HBDirectiveInclude,HBDirectiveLib,HBDirectiveError,HBDirectiveSet,HBDirectiveOut syn match HBComment "^#.*$" " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link HBhtmlString String hi def link HBhtmlTagN Function hi def link htmlSpecialChar String hi def link HBInvalidLine Error hi def link HBFoobar Comment hi HBFileName guibg=lightgray guifg=black hi def link HBDirectiveError Error hi def link HBDirectiveBlockEnd HBDirectiveKeyword hi HBDirectiveKeyword guibg=lightgray guifg=darkgreen hi def link HBComment Comment hi def link HBhtmlTagSk Statement syn sync match Normal grouphere NONE "^:\s*$" syn sync match Normal grouphere NONE "^:\s*lib\s\+[^ \t]\+$" syn sync match Normal grouphere NONE "^:\s*include\s\+[^ \t]\+$" "syn sync match Block grouphere HBDirectiveSet "^#:\s*set\s\+[^ \t]\+" "syn sync match Block grouphere HBDirectiveOut "^#:\s*out\s\+[^ \t]\+" let b:current_syntax = "hb" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8