Compare commits

...

3 Commits

Author SHA1 Message Date
Thomas Teixeira
8195d9ff04 Merge 8f9e5af32d into 692e359ad9 2024-10-22 11:09:02 -04:00
Thomas Teixeira
8f9e5af32d Remove incorrect special case
See https://github.com/gleam-lang/vscode-gleam/pull/86#issuecomment-2258635040
> @lpil
> Oh, that's a mistake. Nil, True, and False should not get special treatment. I will fix that bug.
2024-07-31 09:31:43 +02:00
Thomas Teixeira
5706338b69 Update gleam syntax to match last version 2024-07-29 15:13:52 +02:00

View File

@@ -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