diff options
Diffstat (limited to 'syntax/rust.vim')
-rw-r--r-- | syntax/rust.vim | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/syntax/rust.vim b/syntax/rust.vim index 0cf32ed9..d1e9d8d4 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -232,6 +232,27 @@ syn region rustCommentBlockDocNestError matchgroup=rustCommentBlockDocError star syn keyword rustTodo contained TODO FIXME XXX NB NOTE +" asm! macro {{{2 +syn region rustAsmMacro matchgroup=rustMacro start="\<asm!\s*(" end=")" contains=rustAsmDirSpec,rustAsmSym,rustAsmConst,rustAsmOptionsGroup,rustComment.*,rustString.* + +" Clobbered registers +syn keyword rustAsmDirSpec in out lateout inout inlateout contained nextgroup=rustAsmReg skipwhite skipempty +syn region rustAsmReg start="(" end=")" contained contains=rustString + +" Symbol operands +syn keyword rustAsmSym sym contained nextgroup=rustAsmSymPath skipwhite skipempty +syn region rustAsmSymPath start="\S" end=",\|)"me=s-1 contained contains=rustComment.*,rustIdentifier + +" Const +syn region rustAsmConstBalancedParens start="("ms=s+1 end=")" contained contains=@rustAsmConstExpr +syn cluster rustAsmConstExpr contains=rustComment.*,rust.*Number,rustString,rustAsmConstBalancedParens +syn region rustAsmConst start="const" end=",\|)"me=s-1 contained contains=rustStorage,@rustAsmConstExpr + +" Options +syn region rustAsmOptionsGroup start="options\s*(" end=")" contained contains=rustAsmOptions,rustAsmOptionsKey +syn keyword rustAsmOptionsKey options contained +syn keyword rustAsmOptions pure nomem readonly preserves_flags noreturn nostack att_syntax contained + " Folding rules {{{2 " Trivial folding rules to begin with. " FIXME: use the AST to make really good folding @@ -347,6 +368,10 @@ hi def link rustObsoleteExternMod Error hi def link rustQuestionMark Special hi def link rustAsync rustKeyword hi def link rustAwait rustKeyword +hi def link rustAsmDirSpec rustKeyword +hi def link rustAsmSym rustKeyword +hi def link rustAsmOptions rustKeyword +hi def link rustAsmOptionsKey rustAttribute " Other Suggestions: " hi rustAttribute ctermfg=cyan |