" Vim syntax file " Language: Trace32 script " Maintainer: Stefan Liebl " URL: " Credits: Based on the java.vim syntax file by Claudio Fleiner " Last change: 2004 Mar 03 if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " we define it here so that included files can test for it if !exists("main_syntax") let main_syntax='trace' endif " ignore case syn case ignore " keyword definitions syn keyword traceConditional if then syn keyword traceRepeat repeat " trace commands syn match traceCommand '\<\w\+\(\.\w\+\)*\>' transparent contains=traceFlashCommand,traceDataCommand,traceGlobalCommand,traceWinpageCommand,traceAreaCommand,tracePrintCommand,traceEntryCommand,traceWaitCommand,traceChdirCommand,traceEnddoCommand,traceOsCommand,traceDoCommand,traceStringCommand,traceGotoCommand,traceSystemCommand,traceRegisterCommand " trace commands syn match traceFlashCommand '\<\(flash\|f\)\>\.' contained nextgroup=traceFlashResetCommand,traceFlashCreateCommand,traceFlashTargetCommand,traceFlashEraseCommand,traceFlashProgramCommand hi link traceFlashCommand traceCommand syn match traceDataCommand '\<\(data\|d\)\>\.' contained nextgroup=traceDataLoadCommand,traceDataSetCommand hi link traceDataCommand traceCommand syn match traceGlobalCommand '\<\(global\)\>' contained hi link traceGlobalCommand traceCommand syn match traceWinpageCommand '\<\(winpage\)\>\.' contained nextgroup=traceWinpageResetCommand,traceWinpageCreateCommand,traceWinpageSelectCommand hi link traceWinpageCommand traceCommand syn match traceAreaCommand '\<\(area\)\>\.' contained nextgroup=traceAreaResetCommand,traceAreaCreateCommand,traceAreaSelectCommand,traceAreaViewCommand hi link traceAreaCommand traceCommand syn match tracePrintCommand '\<\(print\)\>' contained hi link tracePrintCommand traceCommand syn match traceEntryCommand '\<\(entry\)\>' contained hi link traceEntryCommand traceCommand syn match traceWaitCommand '\<\(wait\)\>' contained hi link traceWaitCommand traceCommand syn match traceChdirCommand '\<\(chdir\)\.\?\>' contained nextgroup=traceChdirDoCommand hi link traceChdirCommand traceCommand syn match traceEnddoCommand '\<\(enddo\)\>' contained hi link traceEnddoCommand traceCommand syn match traceOsCommand '\<\(os\)\>\.' contained nextgroup=traceOsPsdCommand,traceOsPtdCommand,traceOsEnvCommand,traceOsFileCommand hi link traceOsCommand traceCommand syn match traceDoCommand '\<\(do\)\>' contained hi link traceDoCommand traceCommand syn match traceStringCommand '\<\(string\)\>\.' contained nextgroup=traceStringCutCommand,traceStringScanCommand hi link traceStringCommand traceCommand syn match traceGotoCommand '\<\(goto\)\>' contained hi link traceGotoCommand traceCommand syn match traceSystemCommand '\<\(system\|sys\)\>\.' contained nextgroup=traceSystemCpuCommand,traceSystemBdmclockCommand,traceSystemUpCommand hi link traceSystemCommand traceCommand syn match traceRegisterCommand '\<\(register\)\>\.' contained nextgroup=traceRegisterSetCommand hi link traceRegisterCommand traceCommand " second commands syn match traceDataLoadCommand '\(load\.\?\)' contained nextgroup=traceDataLoadBinaryCommand,traceDataLoadElfCommand hi link traceDataLoadCommand traceCommand syn match traceDataSetCommand '\(set\)' contained hi link traceDataSetCommand traceCommand syn match traceFlashResetCommand '\(reset\)' contained hi link traceFlashResetCommand traceCommand syn match traceFlashEraseCommand '\(erase\.\?\)' contained nextgroup=traceFlashEraseAllCommand hi link traceFlashEraseCommand traceCommand syn match traceFlashProgramCommand '\(program\.\?\)' contained nextgroup=traceFlashProgramAllCommand,traceFlashProgramOffCommand hi link traceFlashProgramCommand traceCommand syn match traceFlashCreateCommand '\(create\)' contained hi link traceFlashCreateCommand traceCommand syn match traceFlashTargetCommand '\(target\)' contained hi link traceFlashTargetCommand traceCommand syn match traceChdirDoCommand '\(do\)' contained hi link traceChdirDoCommand traceCommand syn match traceWinpageResetCommand '\(reset\)' contained hi link traceWinpageResetCommand traceCommand syn match traceWinpageCreateCommand '\(create\)' contained hi link traceWinpageCreateCommand traceCommand syn match traceWinpageSelectCommand '\(select\)' contained hi link traceWinpageSelectCommand traceCommand syn match traceAreaResetCommand '\(reset\)' contained hi link traceAreaResetCommand traceCommand syn match traceAreaCreateCommand '\(create\)' contained hi link traceAreaCreateCommand traceCommand syn match traceAreaSelectCommand '\(select\)' contained hi link traceAreaSelectCommand traceCommand syn match traceAreaViewCommand '\(view\)' contained hi link traceAreaViewCommand traceCommand syn match traceOsPsdCommand '\(psd()\)' contained hi link traceOsPsdCommand traceCommand syn match traceOsPtdCommand '\(ptd()\)' contained hi link traceOsPtdCommand traceCommand syn match traceOsEnvCommand '\(env\)' contained hi link traceOsEnvCommand traceCommand syn match traceOsFileCommand '\(file\)' contained hi link traceOsFileCommand traceCommand syn match traceStringCutCommand '\(cut\)' contained hi link traceStringCutCommand traceCommand syn match traceStringScanCommand '\(scan\)' contained hi link traceStringScanCommand traceCommand syn match traceSystemCpuCommand '\(cpu\)' contained hi link traceSystemCpuCommand traceCommand syn match traceSystemBdmclockCommand '\(bdmclock\)' contained hi link traceSystemBdmclockCommand traceCommand syn match traceSystemUpCommand '\(up\)' contained hi link traceSystemUpCommand traceCommand syn match traceRegisterSetCommand '\(set\)' contained hi link traceRegisterSetCommand traceCommand " third commands syn match traceDataLoadBinaryCommand '\(binary\|b\)' contained hi link traceDataLoadBinaryCommand traceCommand syn match traceDataLoadElfCommand '\(elf\)' contained hi link traceDataLoadElfCommand traceCommand syn match traceFlashEraseAllCommand '\(all\)' contained hi link traceFlashEraseAllCommand traceCommand syn match traceFlashProgramAllCommand '\(all\)' contained hi link traceFlashProgramAllCommand traceCommand syn match traceFlashProgramOffCommand '\(off\)' contained hi link traceFlashProgramOffCommand traceCommand syn match traceFunction '\\)\|\(>>\)\|[+-]" "syn match traceEOS "[.,;:]\(\s\|\n\)" syn match traceSeperator "[.,;:]" " Comments syn keyword traceTodo contained TODO FIXME XXX " string inside comments syn region traceCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=traceSpecial,traceCommentStar,traceSpecialChar syn region traceComment2String contained start=+"+ end=+$\|"+ contains=traceSpecial,traceSpecialChar syn match traceCommentCharacter contained "'\\[^']\{1,6\}'" contains=traceSpecialChar syn match traceCommentCharacter contained "'\\''" contains=traceSpecialChar syn match traceCommentCharacter contained "'[^\\]'" "syn region traceComment start="(\*" end="\*)" contains=traceCommentString,traceCommentCharacter,traceNumber,traceTodo "syn match traceCommentStar contained "^\s*\*[^/]"me=e-1 "syn match traceCommentStar contained "^\s*\*$" syn match traceLineComment ";.*" contains=traceComment2String,traceCommentCharacter,traceNumber,traceTodo hi link traceLineComment traceComment hi link traceCommentString traceString hi link traceComment2String traceString "hi link traceCommentCharacter traceCharacter " Strings and constants syn region traceString start=+"+ end=+"+ contains=ucSpecialChar,ucSpecialError "syn match traceNumber "#\?\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" "syn match traceNumber "#\?$\?\<\x\+\>" " 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_trace_syntax_inits") if version < 508 let did_trace_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink traceConditional Conditional HiLink traceRepeat Repeat HiLink traceNumber Number HiLink traceComment Comment HiLink traceString String HiLink traceBranch Statement HiLink traceOperator String HiLink traceEOS String HiLink traceSeperator String HiLink traceLabel Label HiLink traceCommand Statement HiLink traceFunction Function delcommand HiLink endif let b:current_syntax = "trace" if main_syntax == 'trace' unlet main_syntax endif " vim: ts=8