mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Compare commits
3 Commits
60d3a0a354
...
8195d9ff04
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8195d9ff04 | ||
|
|
8f9e5af32d | ||
|
|
5706338b69 |
@@ -12,32 +12,63 @@ let b:current_syntax = "gleam"
|
||||
|
||||
" Keywords
|
||||
syntax keyword gleamKeyword
|
||||
\ module import pub external
|
||||
\ import pub panic use
|
||||
\ type let as if else todo const
|
||||
\ case assert tuple try opaque
|
||||
\ case assert try opaque
|
||||
highlight link gleamKeyword Keyword
|
||||
|
||||
" Function definition
|
||||
syntax keyword gleamDef fn nextgroup=gleamFunctionDef skipwhite skipempty
|
||||
highlight link gleamDef Keyword
|
||||
|
||||
syntax match gleamFunctionDef "[a-z_-][0-9a-z_-]*" contained skipwhite skipnl
|
||||
syntax match gleamFunctionDef "[a-z][a-z0-9_]*\ze\s*(" skipwhite skipnl
|
||||
highlight link gleamFunctionDef Function
|
||||
highlight link gleamFunctionDef Function
|
||||
|
||||
" Int
|
||||
syntax match gleamInt '\<[0-9][0-9_]*\>'
|
||||
" Number
|
||||
"" Int
|
||||
syntax match gleamInt '\<\(0*[1-9][0-9_]*|0\)\>'
|
||||
highlight link gleamInt Number
|
||||
|
||||
" Float
|
||||
syntax match gleamFloat '\<[0-9][0-9_]*\.[0-9_]*\>'
|
||||
"" Binary
|
||||
syntax match gleamBinary '\<0[bB]\(0*1[01_]*\|0\)\>'
|
||||
highlight link gleamBinary Number
|
||||
|
||||
"" Octet
|
||||
syntax match gleamOctet '\<0[oO]\(0*[1-7][0-7_]*\|0\)\>'
|
||||
highlight link gleamOctet Number
|
||||
|
||||
"" Hexadecimal
|
||||
syntax match gleamHexa '\<0[xX]\(0*[1-9a-zA-Z][0-9a-zA-Z_]*\|0\)\>'
|
||||
highlight link gleamHexa Number
|
||||
|
||||
"" Float
|
||||
syntax match gleamFloat '\(0*[1-9][0-9_]*\|0\)\.\(0*[1-9][0-9_]*\|0\)\=\(e-\=0*[1-9][0-9_]*\)\='
|
||||
highlight link gleamFloat Float
|
||||
|
||||
" Operators
|
||||
syntax match gleamOperator "\([-!#$%`&\*\+./<=>@\\^|~:]\|\<\>\)"
|
||||
"" Basic
|
||||
syntax match gleamOperator "[-+/*]\.\=\|[%=]"
|
||||
highlight link gleamOperator Operator
|
||||
|
||||
"" Arrows + Pipeline
|
||||
syntax match gleamOperator "<-\|[-|]>"
|
||||
highlight link gleamOperator Operator
|
||||
|
||||
"" Bool
|
||||
syntax match gleamOperator "&&\|||"
|
||||
highlight link gleamOperator Operator
|
||||
|
||||
"" Comparison
|
||||
syntax match gleamOperator "[<>]=\=\.\=\|[=!]="
|
||||
highlight link gleamOperator Operator
|
||||
|
||||
"" Misc
|
||||
syntax match gleamOperator "\.\.\|<>\||"
|
||||
highlight link gleamOperator Operator
|
||||
|
||||
" Type
|
||||
syntax match gleamType "\([a-z]\)\@<![A-Z]\w*"
|
||||
syntax match gleamType "\<[A-Z][a-zA-Z0-9]*\>"
|
||||
highlight link gleamType Identifier
|
||||
|
||||
" Comments
|
||||
@@ -54,5 +85,5 @@ highlight link gleamString String
|
||||
highlight link gleamStringModifier Special
|
||||
|
||||
" Attribute
|
||||
syntax match gleamAttribute "#[a-z][a-z_]*"
|
||||
syntax match gleamAttribute "@[a-z][a-z_]*"
|
||||
highlight link gleamAttribute PreProc
|
||||
|
||||
Reference in New Issue
Block a user