1" Vim syntax file 2" Language: GNU Assembler 3" Maintainer: Kevin Dahlhausen <[email protected]> 4" Last Change: 2002 Sep 19 5 6" For version 5.x: Clear all syntax items 7" For version 6.x: Quit when a syntax file was already loaded 8if version < 600 9 syntax clear 10elseif exists("b:current_syntax") 11 finish 12endif 13 14syn case ignore 15 16 17" storage types 18syn match asmType "\.long" 19syn match asmType "\.ascii" 20syn match asmType "\.asciz" 21syn match asmType "\.byte" 22syn match asmType "\.double" 23syn match asmType "\.float" 24syn match asmType "\.hword" 25syn match asmType "\.int" 26syn match asmType "\.octa" 27syn match asmType "\.quad" 28syn match asmType "\.short" 29syn match asmType "\.single" 30syn match asmType "\.space" 31syn match asmType "\.string" 32syn match asmType "\.word" 33 34syn match asmLabel "[a-z_][a-z0-9_]*:"he=e-1 35syn match asmIdentifier "[a-z_][a-z0-9_]*" 36 37" Various #'s as defined by GAS ref manual sec 3.6.2.1 38" Technically, the first decNumber def is actually octal, 39" since the value of 0-7 octal is the same as 0-7 decimal, 40" I prefer to map it as decimal: 41syn match decNumber "0\+[1-7]\=[\t\n$,; ]" 42syn match decNumber "[1-9]\d*" 43syn match octNumber "0[0-7][0-7]\+" 44syn match hexNumber "0[xX][0-9a-fA-F]\+" 45syn match binNumber "0[bB][0-1]*" 46 47 48syn match asmSpecialComment ";\*\*\*.*" 49syn match asmComment ";.*"hs=s+1 50 51syn match asmInclude "\.include" 52syn match asmCond "\.if" 53syn match asmCond "\.else" 54syn match asmCond "\.endif" 55syn match asmMacro "\.macro" 56syn match asmMacro "\.endm" 57 58syn match asmDirective "\.[a-z][a-z]\+" 59 60 61syn case match 62 63" Define the default highlighting. 64" For version 5.7 and earlier: only when not done already 65" For version 5.8 and later: only when an item doesn't have highlighting yet 66if version >= 508 || !exists("did_asm_syntax_inits") 67 if version < 508 68 let did_asm_syntax_inits = 1 69 command -nargs=+ HiLink hi link <args> 70 else 71 command -nargs=+ HiLink hi def link <args> 72 endif 73 74 " The default methods for highlighting. Can be overridden later 75 HiLink asmSection Special 76 HiLink asmLabel Label 77 HiLink asmComment Comment 78 HiLink asmDirective Statement 79 80 HiLink asmInclude Include 81 HiLink asmCond PreCondit 82 HiLink asmMacro Macro 83 84 HiLink hexNumber Number 85 HiLink decNumber Number 86 HiLink octNumber Number 87 HiLink binNumber Number 88 89 HiLink asmSpecialComment Comment 90 HiLink asmIdentifier Identifier 91 HiLink asmType Type 92 93 " My default color overrides: 94 " hi asmSpecialComment ctermfg=red 95 " hi asmIdentifier ctermfg=lightcyan 96 " hi asmType ctermbg=black ctermfg=brown 97 98 delcommand HiLink 99endif 100 101let b:current_syntax = "asm" 102 103" vim: ts=8 104