summaryrefslogtreecommitdiffstats
path: root/syntax/odin.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/odin.vim')
-rw-r--r--syntax/odin.vim14
1 files changed, 9 insertions, 5 deletions
diff --git a/syntax/odin.vim b/syntax/odin.vim
index 9f8521ae..418aa8db 100644
--- a/syntax/odin.vim
+++ b/syntax/odin.vim
@@ -11,6 +11,7 @@ syntax keyword odinTransmute transmute
syntax keyword odinCast cast
syntax keyword odinDistinct distinct
syntax keyword odinOpaque opaque
+syntax keyword odinWhere where
syntax keyword odinStruct struct
syntax keyword odinEnum enum
@@ -47,10 +48,11 @@ syntax match odinFixMe "FIXME"
syntax match odinNoCheckin "NOCHECKIN"
syntax match odinHack "HACK"
-syntax keyword odinDataType string cstring bool b8 b16 b32 b64 rune any rawptr f32 f64 f32le f32be f64le f64be u8 u16 u32 u64 u128 u16le u32le u64le u128le u16be u32be u64be u128be uint uintptr i8 i16 i32 i64 i128 i16le i32le i64le i128le i16be i32be i64be i128be int complex complex32 complex64 complex128 quaternion quaternion64 quaternion128 quaternion256 matrix
+syntax keyword odinDataType string cstring bool b8 b16 b32 b64 rune any rawptr f16 f32 f64 f16le f16be f32le f32be f64le f64be u8 u16 u32 u64 u128 u16le u32le u64le u128le u16be u32be u64be u128be uint uintptr i8 i16 i32 i64 i128 i16le i32le i64le i128le i16be i32be i64be i128be int complex complex32 complex64 complex128 quaternion quaternion64 quaternion128 quaternion256 matrix typeid
syntax keyword odinBool true false
syntax keyword odinNull nil
syntax keyword odinDynamic dynamic
+syntax keyword odinMap map
syntax keyword odinProc proc
syntax keyword odinIn in
syntax keyword odinNotIn notin
@@ -65,9 +67,9 @@ syntax keyword odinPackage package
syntax keyword odinReturn return
syntax keyword odinDefer defer
-syntax region odinChar start=/\v'/ skip=/\v\\./ end=/\v'/
-syntax region odinString start=/\v"/ skip=/\v\\./ end=/\v"/
-syntax region odinRawString start=/\v`/ skip=/\v\\./ end=/\v`/
+syntax region odinRawString start=+`+ end=+`+
+syntax region odinChar start=+'+ skip=+\\\\\|\\'+ end=+'+
+syntax region odinString start=+"+ skip=+\\\\\|\\'+ end=+"+
syntax match odinFunction "\v<\w*>(\s*::\s*proc)@="
@@ -96,7 +98,7 @@ syntax match odinMacro "#\<\w\+\>" display
syntax match odinTemplate "$\<\w\+\>"
syntax match odinCommentNote "@\<\w\+\>" contained display
-syntax region odinLineComment start=/\/\// end=/$/ contains=odinLineComment, odinCommentNote, odinTodo, odinNote, odinXXX, odinFixMe, odinNoCheckin, odinHack
+syntax region odinLineComment start=/\/\// end=/$/ contains=odinCommentNote, odinTodo, odinNote, odinXXX, odinFixMe, odinNoCheckin, odinHack
syntax region odinBlockComment start=/\v\/\*/ end=/\v\*\// contains=odinBlockComment, odinCommentNote, odinTodo, odinNote, odinXXX, odinFixMe, odinNoCheckin, odinHack
highlight link odinUsing Keyword
@@ -121,6 +123,7 @@ highlight link odinAlignOf Keyword
highlight link odinPackage Keyword
highlight link odinOrReturn Keyword
highlight link odinOrElse Keyword
+highlight link odinWhere Keyword
highlight link odinInline Keyword
highlight link odinNoInline Keyword
@@ -133,6 +136,7 @@ highlight link odinDo Keyword
highlight link odinDefer Operator
highlight link odinDynamic Operator
+highlight link odinMap Operator
highlight link odinRange Operator
highlight link odinHalfRange Operator
highlight link odinAssign Operator