" 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 loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendifsyn case ignore" storage typessyn 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-1syn 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+1syn 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 yetif 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 HiLinkendiflet b:current_syntax = "asm"" vim: ts=8
" 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