mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Add support for PEG syntax (#615)
* feat: add pest syntax * feat: add pest into packages * feat: increase the package count
This commit is contained in:
131
syntax/pest.vim
Normal file
131
syntax/pest.vim
Normal file
@@ -0,0 +1,131 @@
|
||||
" Comments
|
||||
syntax keyword pestTodo contained TODO FIXME XXX NOTE
|
||||
syntax match pestComment "\/\/.*$" contains=celTodo
|
||||
|
||||
" Rule names
|
||||
syntax match pestName "^[a-z_][a-z0-9_]*"
|
||||
|
||||
" String types
|
||||
syntax region pestString start=/"/ skip=/\\\\\|\\"/ end=/"/ oneline contained
|
||||
syntax region pestStringIcase start=/\^"/ skip=/\\\\\|\\"/ end=/"/ oneline contained
|
||||
syntax region pestChar start=/'/ end=/'/ oneline contained
|
||||
|
||||
" Operators, modifiers, keywords
|
||||
syntax match pestModifier "\v[_@$!]"
|
||||
syntax match pestOperator "\v[~|*+?&!]" contained
|
||||
syntax keyword pestKeyword PUSH POP POP_ALL PEEK PEEK_ALL DROP contained
|
||||
syntax keyword pestSpecial WHITESPACE COMMENT ANY SOI EOI ASCII_DIGIT ASCII_NONZERO_DIGIT ASCII_BIN_DIGIT ASCII_OCT_DIGIT ASCII_HEX_DIGIT
|
||||
\ ASCII_ALPHA_LOWER ASCII_ALPHA_UPPER ASCII_ALPHA ASCII_ALPHANUMERIC ASCII NEWLINE
|
||||
syntax keyword pestGeneral contained
|
||||
\ LETTER
|
||||
\ CASED_LETTER
|
||||
\ UPPERCASE_LETTER
|
||||
\ LOWERCASE_LETTER
|
||||
\ TITLECASE_LETTER
|
||||
\ MODIFIER_LETTER
|
||||
\ OTHER_LETTER
|
||||
\ MARK
|
||||
\ NONSPACING_MARK
|
||||
\ SPACING_MARK
|
||||
\ ENCLOSING_MARK
|
||||
\ NUMBER
|
||||
\ DECIMAL_NUMBER
|
||||
\ LETTER_NUMBER
|
||||
\ OTHER_NUMBER
|
||||
\ PUNCTUATION
|
||||
\ CONNECTOR_PUNCTUATION
|
||||
\ DASH_PUNCTUATION
|
||||
\ OPEN_PUNCTUATION
|
||||
\ CLOSE_PUNCTUATION
|
||||
\ INITIAL_PUNCTUATION
|
||||
\ FINAL_PUNCTUATION
|
||||
\ OTHER_PUNCTUATION
|
||||
\ SYMBOL
|
||||
\ MATH_SYMBOL
|
||||
\ CURRENCY_SYMBOL
|
||||
\ MODIFIER_SYMBOL
|
||||
\ OTHER_SYMBOL
|
||||
\ SEPARATOR
|
||||
\ SPACE_SEPARATOR
|
||||
\ LINE_SEPARATOR
|
||||
\ PARAGRAPH_SEPARATOR
|
||||
\ OTHER
|
||||
\ CONTROL
|
||||
\ FORMAT
|
||||
\ SURROGATE
|
||||
\ PRIVATE_USE
|
||||
\ UNASSIGNED
|
||||
syntax keyword pestBinary contained
|
||||
\ ALPHABETIC
|
||||
\ BIDI_CONTROL
|
||||
\ CASE_IGNORABLE
|
||||
\ CASED
|
||||
\ CHANGES_WHEN_CASEFOLDED
|
||||
\ CHANGES_WHEN_CASEMAPPED
|
||||
\ CHANGES_WHEN_LOWERCASED
|
||||
\ CHANGES_WHEN_TITLECASED
|
||||
\ CHANGES_WHEN_UPPERCASED
|
||||
\ DASH
|
||||
\ DEFAULT_IGNORABLE_CODE_POINT
|
||||
\ DEPRECATED
|
||||
\ DIACRITIC
|
||||
\ EXTENDER
|
||||
\ GRAPHEME_BASE
|
||||
\ GRAPHEME_EXTEND
|
||||
\ GRAPHEME_LINK
|
||||
\ HEX_DIGIT
|
||||
\ HYPHEN
|
||||
\ IDS_BINARY_OPERATOR
|
||||
\ IDS_TRINARY_OPERATOR
|
||||
\ ID_CONTINUE
|
||||
\ ID_START
|
||||
\ IDEOGRAPHIC
|
||||
\ JOIN_CONTROL
|
||||
\ LOGICAL_ORDER_EXCEPTION
|
||||
\ LOWERCASE
|
||||
\ MATH
|
||||
\ NONCHARACTER_CODE_POINT
|
||||
\ OTHER_ALPHABETIC
|
||||
\ OTHER_DEFAULT_IGNORABLE_CODE_POINT
|
||||
\ OTHER_GRAPHEME_EXTEND
|
||||
\ OTHER_ID_CONTINUE
|
||||
\ OTHER_ID_START
|
||||
\ OTHER_LOWERCASE
|
||||
\ OTHER_MATH
|
||||
\ OTHER_UPPERCASE
|
||||
\ PATTERN_SYNTAX
|
||||
\ PATTERN_WHITE_SPACE
|
||||
\ PREPENDED_CONCATENATION_MARK
|
||||
\ QUOTATION_MARK
|
||||
\ RADICAL
|
||||
\ REGIONAL_INDICATOR
|
||||
\ SENTENCE_TERMINAL
|
||||
\ SOFT_DOTTED
|
||||
\ TERMINAL_PUNCTUATION
|
||||
\ UNIFIED_IDEOGRAPH
|
||||
\ UPPERCASE
|
||||
\ VARIATION_SELECTOR
|
||||
\ WHITE_SPACE
|
||||
\ XID_CONTINUE
|
||||
\ XID_START
|
||||
syntax keyword pestForbidden abstract alignof as become box break const continue crate do else enum extern false
|
||||
\ final fn for if impl in let loop macro match mod move mut offsetof override priv proc pure pub ref return
|
||||
\ Self self sizeof static struct super trait true type typeof unsafe unsized use virtual where while yield
|
||||
|
||||
" Rule blocks
|
||||
syntax region pestBlock start=/{/ end=/}/ fold transparent contains=pestString,pestStringIcase,pestChar,pestOperator,pestKeyword,pestSpecial,pestGeneral,pestBinary,pestForbidden,pestComment,pestBlock
|
||||
syntax region pestRule start=/^/ end=/ / fold transparent contains=pestName,pestForbidden,pestComment
|
||||
|
||||
highlight default link pestTodo Todo
|
||||
highlight default link pestComment Comment
|
||||
highlight default link pestString String
|
||||
highlight default link pestStringIcase String
|
||||
highlight default link pestChar Character
|
||||
highlight default link pestName Identifier
|
||||
highlight default link pestModifier Operator
|
||||
highlight default link pestOperator Operator
|
||||
highlight default link pestKeyword Keyword
|
||||
highlight default link pestSpecial Type
|
||||
highlight default link pestGeneral Type
|
||||
highlight default link pestBinary Type
|
||||
highlight default link pestForbidden Error
|
||||
Reference in New Issue
Block a user