neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

hb.vim (3158B)


      1 " Vim syntax file
      2 " Language:	Hyper Builder
      3 " Maintainer:	Alejandro Forero Cuervo
      4 " URL:		http://bachue.com/hb/vim/syntax/hb.vim
      5 " Last Change:	2012 Jan 08 by Thilo Six
      6 
      7 " quit when a syntax file was already loaded
      8 if exists("b:current_syntax")
      9  finish
     10 endif
     11 
     12 let s:cpo_save = &cpo
     13 set cpo&vim
     14 
     15 " Read the HTML syntax to start with
     16 "syn include @HTMLStuff <sfile>:p:h/htmlhb.vim
     17 
     18 "this would be nice but we are supposed not to do it
     19 "set mps=<:>
     20 
     21 "syn region  HBhtmlString contained start=+"+ end=+"+ contains=htmlSpecialChar
     22 "syn region  HBhtmlString contained start=+'+ end=+'+ contains=htmlSpecialChar
     23 
     24 "syn match   htmlValue    contained "=[\t ]*[^'" \t>][^ \t>]*"
     25 
     26 syn match   htmlSpecialChar "&[^;]*;" contained
     27 
     28 syn match   HBhtmlTagSk  contained "[A-Za-z]*"
     29 
     30 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
     31 
     32 syn match   HBhtmlTagN   contained "[A-Za-z0-9\/\-]\+"
     33 
     34 syn match   HBhtmlTagB   contained "<\s*[A-Za-z0-9\/\-]\+\(\s*\.\s*[A-Za-z0-9\/\-]\+\)*" contains=HBhtmlTagS,HBhtmlTagN
     35 
     36 syn region  HBhtmlTag contained start=+<+ end=+>+ contains=HBhtmlTagB,HBDirectiveError
     37 
     38 syn match HBFileName ".*" contained
     39 
     40 syn match HBDirectiveKeyword	":\s*\(include\|lib\|set\|out\)\s\+" contained
     41 
     42 syn match HBDirectiveError	"^:.*$" contained
     43 
     44 "syn match HBDirectiveBlockEnd "^:\s*$" contained
     45 
     46 "syn match HBDirectiveOutHead "^:\s*out\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName
     47 
     48 "syn match HBDirectiveSetHead "^:\s*set\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName
     49 
     50 syn match HBInvalidLine "^.*$"
     51 
     52 syn match HBDirectiveInclude "^:\s*include\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword
     53 
     54 syn match HBDirectiveLib "^:\s*lib\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword
     55 
     56 syn region HBText matchgroup=HBDirectiveKeyword start=/^:\(set\|out\)\s*\S\+.*$/ end=/^:\s*$/ contains=HBDirectiveError,htmlSpecialChar,HBhtmlTag keepend
     57 
     58 "syn match HBLine "^:.*$" contains=HBDirectiveInclude,HBDirectiveLib,HBDirectiveError,HBDirectiveSet,HBDirectiveOut
     59 
     60 syn match HBComment "^#.*$"
     61 
     62 " Define the default highlighting.
     63 " Only when an item doesn't have highlighting yet
     64 
     65 hi def link HBhtmlString			 String
     66 hi def link HBhtmlTagN			 Function
     67 hi def link htmlSpecialChar		 String
     68 
     69 hi def link HBInvalidLine Error
     70 hi def link HBFoobar Comment
     71 hi HBFileName guibg=lightgray guifg=black
     72 hi def link HBDirectiveError Error
     73 hi def link HBDirectiveBlockEnd HBDirectiveKeyword
     74 hi HBDirectiveKeyword guibg=lightgray guifg=darkgreen
     75 hi def link HBComment Comment
     76 hi def link HBhtmlTagSk Statement
     77 
     78 
     79 syn sync match Normal grouphere NONE "^:\s*$"
     80 syn sync match Normal grouphere NONE "^:\s*lib\s\+[^ \t]\+$"
     81 syn sync match Normal grouphere NONE "^:\s*include\s\+[^ \t]\+$"
     82 "syn sync match Block  grouphere HBDirectiveSet "^#:\s*set\s\+[^ \t]\+"
     83 "syn sync match Block  grouphere HBDirectiveOut "^#:\s*out\s\+[^ \t]\+"
     84 
     85 let b:current_syntax = "hb"
     86 
     87 let &cpo = s:cpo_save
     88 unlet s:cpo_save
     89 " vim: ts=8