mirror of
https://github.com/neovim/neovim.git
synced 2026-01-03 01:46:31 +10:00
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122
Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.
62d8f3dab5
N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses
Co-authored-by: Christian Brabandt <cb@256bit.org>
96 lines
4.0 KiB
VimL
96 lines
4.0 KiB
VimL
" Vim syntax file
|
|
" Language: printcap/termcap database
|
|
" Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
|
|
" URL: http://folk.uio.no/hakonrk/vim/syntax/ptcap.vim
|
|
" Last Change: 2001 May 15
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" Since I only highlight based on the structure of the databases, not
|
|
" specific keywords, case sensitivity isn't required
|
|
syn case ignore
|
|
|
|
" Since everything that is not caught by the syntax patterns is assumed
|
|
" to be an error, we start parsing 20 lines up, unless something else
|
|
" is specified
|
|
if exists("ptcap_minlines")
|
|
exe "syn sync lines=".ptcap_minlines
|
|
else
|
|
syn sync lines=20
|
|
endif
|
|
|
|
" Highlight everything that isn't caught by the rules as errors,
|
|
" except blank lines
|
|
syn match ptcapError "^.*\S.*$"
|
|
|
|
syn match ptcapLeadBlank "^\s\+" contained
|
|
|
|
" `:' and `|' are delimiters for fields and names, and should not be
|
|
" highlighted. Hence, they are linked to `NONE'
|
|
syn match ptcapDelimiter "[:|]" contained
|
|
|
|
" Escaped characters receive special highlighting
|
|
syn match ptcapEscapedChar "\\." contained
|
|
syn match ptcapEscapedChar "\^." contained
|
|
syn match ptcapEscapedChar "\\\o\{3}" contained
|
|
|
|
" A backslash at the end of a line will suppress the newline
|
|
syn match ptcapLineCont "\\$" contained
|
|
|
|
" A number follows the same rules as an integer in C
|
|
syn match ptcapNumber "#\(+\|-\)\=\d\+"lc=1 contained
|
|
syn match ptcapNumberError "#\d*[^[:digit:]:\\]"lc=1 contained
|
|
syn match ptcapNumber "#0x\x\{1,8}"lc=1 contained
|
|
syn match ptcapNumberError "#0x\X"me=e-1,lc=1 contained
|
|
syn match ptcapNumberError "#0x\x\{9}"lc=1 contained
|
|
syn match ptcapNumberError "#0x\x*[^[:xdigit:]:\\]"lc=1 contained
|
|
|
|
" The `@' operator clears a flag (i.e., sets it to zero)
|
|
" The `#' operator assigns a following number to the flag
|
|
" The `=' operator assigns a string to the preceding flag
|
|
syn match ptcapOperator "[@#=]" contained
|
|
|
|
" Some terminal capabilities have special names like `#5' and `@1', and we
|
|
" need special rules to match these properly
|
|
syn match ptcapSpecialCap "\W[#@]\d" contains=ptcapDelimiter contained
|
|
|
|
" If editing a termcap file, an entry in the database is terminated by
|
|
" a (non-escaped) newline. Otherwise, it is terminated by a line which
|
|
" does not start with a colon (:)
|
|
if exists("b:ptcap_type") && b:ptcap_type[0] == 't'
|
|
syn region ptcapEntry start="^\s*[^[:space:]:]" end="[^\\]\(\\\\\)*$" end="^$" contains=ptcapNames,ptcapField,ptcapLeadBlank keepend
|
|
else
|
|
syn region ptcapEntry start="^\s*[^[:space:]:]"me=e-1 end="^\s*[^[:space:]:#]"me=e-1 contains=ptcapNames,ptcapField,ptcapLeadBlank,ptcapComment
|
|
endif
|
|
syn region ptcapNames start="^\s*[^[:space:]:]" skip="[^\\]\(\\\\\)*\\:" end=":"me=e-1 contains=ptcapDelimiter,ptcapEscapedChar,ptcapLineCont,ptcapLeadBlank,ptcapComment keepend contained
|
|
syn region ptcapField start=":" skip="[^\\]\(\\\\\)*\\$" end="[^\\]\(\\\\\)*:"me=e-1 end="$" contains=ptcapDelimiter,ptcapString,ptcapNumber,ptcapNumberError,ptcapOperator,ptcapLineCont,ptcapSpecialCap,ptcapLeadBlank,ptcapComment keepend contained
|
|
syn region ptcapString matchgroup=ptcapOperator start="=" skip="[^\\]\(\\\\\)*\\:" matchgroup=ptcapDelimiter end=":"me=e-1 matchgroup=NONE end="[^\\]\(\\\\\)*[^\\]$" end="^$" contains=ptcapEscapedChar,ptcapLineCont keepend contained
|
|
syn region ptcapComment start="^\s*#" end="$" contains=ptcapLeadBlank
|
|
|
|
|
|
hi def link ptcapComment Comment
|
|
hi def link ptcapDelimiter Delimiter
|
|
" The highlighting of "ptcapEntry" should always be overridden by
|
|
" its contents, so I use Todo highlighting to indicate that there
|
|
" is work to be done with the syntax file if you can see it :-)
|
|
hi def link ptcapEntry Todo
|
|
hi def link ptcapError Error
|
|
hi def link ptcapEscapedChar SpecialChar
|
|
hi def link ptcapField Type
|
|
hi def link ptcapLeadBlank NONE
|
|
hi def link ptcapLineCont Special
|
|
hi def link ptcapNames Label
|
|
hi def link ptcapNumber NONE
|
|
hi def link ptcapNumberError Error
|
|
hi def link ptcapOperator Operator
|
|
hi def link ptcapSpecialCap Type
|
|
hi def link ptcapString NONE
|
|
|
|
|
|
let b:current_syntax = "ptcap"
|
|
|
|
" vim: sts=4 sw=4 ts=8
|