diff options
Diffstat (limited to 'runtime/syntax/asm.vim')
-rw-r--r-- | runtime/syntax/asm.vim | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/runtime/syntax/asm.vim b/runtime/syntax/asm.vim new file mode 100644 index 000000000..09bfe4fac --- /dev/null +++ b/runtime/syntax/asm.vim @@ -0,0 +1,103 @@ +" Vim syntax file +" Language: GNU Assembler +" Maintainer: Kevin Dahlhausen <kdahlhaus@yahoo.com> +" Last Change: 2002 Sep 19 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case ignore + + +" storage types +syn match asmType "\.long" +syn match asmType "\.ascii" +syn match asmType "\.asciz" +syn match asmType "\.byte" +syn match asmType "\.double" +syn match asmType "\.float" +syn match asmType "\.hword" +syn match asmType "\.int" +syn match asmType "\.octa" +syn match asmType "\.quad" +syn match asmType "\.short" +syn match asmType "\.single" +syn match asmType "\.space" +syn match asmType "\.string" +syn match asmType "\.word" + +syn match asmLabel "[a-z_][a-z0-9_]*:"he=e-1 +syn match asmIdentifier "[a-z_][a-z0-9_]*" + +" Various #'s as defined by GAS ref manual sec 3.6.2.1 +" Technically, the first decNumber def is actually octal, +" since the value of 0-7 octal is the same as 0-7 decimal, +" I prefer to map it as decimal: +syn match decNumber "0\+[1-7]\=[\t\n$,; ]" +syn match decNumber "[1-9]\d*" +syn match octNumber "0[0-7][0-7]\+" +syn match hexNumber "0[xX][0-9a-fA-F]\+" +syn match binNumber "0[bB][0-1]*" + + +syn match asmSpecialComment ";\*\*\*.*" +syn match asmComment ";.*"hs=s+1 + +syn match asmInclude "\.include" +syn match asmCond "\.if" +syn match asmCond "\.else" +syn match asmCond "\.endif" +syn match asmMacro "\.macro" +syn match asmMacro "\.endm" + +syn match asmDirective "\.[a-z][a-z]\+" + + +syn case match + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_asm_syntax_inits") + if version < 508 + let did_asm_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + " The default methods for highlighting. Can be overridden later + HiLink asmSection Special + HiLink asmLabel Label + HiLink asmComment Comment + HiLink asmDirective Statement + + HiLink asmInclude Include + HiLink asmCond PreCondit + HiLink asmMacro Macro + + HiLink hexNumber Number + HiLink decNumber Number + HiLink octNumber Number + HiLink binNumber Number + + HiLink asmSpecialComment Comment + HiLink asmIdentifier Identifier + HiLink asmType Type + + " My default color overrides: + " hi asmSpecialComment ctermfg=red + " hi asmIdentifier ctermfg=lightcyan + " hi asmType ctermbg=black ctermfg=brown + + delcommand HiLink +endif + +let b:current_syntax = "asm" + +" vim: ts=8 |