blob: 64e89cce7fac2a026b6b47cbe9635cb9217c153a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: GDB command files
3" Maintainer: Claudio Fleiner <claudio@fleiner.com>
4" URL: http://www.fleiner.com/vim/syntax/gdb.vim
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +02005" Last Change: 2012 Oct 05
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7" For version 5.x: Clear all syntax items
8" For version 6.x: Quit when a syntax file was already loaded
9if version < 600
10 syntax clear
11elseif exists("b:current_syntax")
12 finish
13endif
14
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020015let s:cpo_save = &cpo
16set cpo&vim
17
Bram Moolenaar071d4272004-06-13 20:20:40 +000018syn keyword gdbInfo contained address architecture args breakpoints catch common copying dcache
19syn keyword gdbInfo contained display files float frame functions handle line
20syn keyword gdbInfo contained locals program registers scope set sharedlibrary signals
21syn keyword gdbInfo contained source sources stack symbol target terminal threads
22syn keyword gdbInfo contained syn keyword tracepoints types udot variables warranty watchpoints
23syn match gdbInfo contained "all-registers"
24
25
26syn keyword gdbStatement contained actions apply attach awatch backtrace break bt call catch cd clear collect commands
27syn keyword gdbStatement contained complete condition continue delete detach directory disable disassemble display down
28syn keyword gdbStatement contained echo else enable end file finish frame handle hbreak help if ignore
29syn keyword gdbStatement contained inspect jump kill list load maintenance make next nexti ni output overlay
30syn keyword gdbStatement contained passcount path print printf ptype pwd quit rbreak remote return run rwatch
31syn keyword gdbStatement contained search section set sharedlibrary shell show si signal source step stepi stepping
32syn keyword gdbStatement contained stop target tbreak tdump tfind thbreak thread tp trace tstart tstatus tstop
33syn keyword gdbStatement contained tty undisplay unset until up watch whatis where while ws x
34syn match gdbFuncDef "\<define\>.*"
35syn match gdbStatmentContainer "^\s*\S\+" contains=gdbStatement,gdbFuncDef
36syn match gdbStatement "^\s*info" nextgroup=gdbInfo skipwhite skipempty
37
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020038" some commonly used abbreviations
Bram Moolenaar071d4272004-06-13 20:20:40 +000039syn keyword gdbStatement c disp undisp disas p
40
Bram Moolenaar5c736222010-01-06 20:54:52 +010041syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end\s*$"
Bram Moolenaar071d4272004-06-13 20:20:40 +000042
43syn match gdbStatement "\<add-shared-symbol-files\>"
44syn match gdbStatement "\<add-symbol-file\>"
45syn match gdbStatement "\<core-file\>"
46syn match gdbStatement "\<dont-repeat\>"
47syn match gdbStatement "\<down-silently\>"
48syn match gdbStatement "\<exec-file\>"
49syn match gdbStatement "\<forward-search\>"
50syn match gdbStatement "\<reverse-search\>"
51syn match gdbStatement "\<save-tracepoints\>"
52syn match gdbStatement "\<select-frame\>"
53syn match gdbStatement "\<symbol-file\>"
54syn match gdbStatement "\<up-silently\>"
55syn match gdbStatement "\<while-stepping\>"
56
57syn keyword gdbSet annotate architecture args check complaints confirm editing endian
58syn keyword gdbSet environment gnutarget height history language listsize print prompt
59syn keyword gdbSet radix remotebaud remotebreak remotecache remotedebug remotedevice remotelogbase
60syn keyword gdbSet remotelogfile remotetimeout remotewritesize targetdebug variable verbose
61syn keyword gdbSet watchdog width write
62syn match gdbSet "\<auto-solib-add\>"
63syn match gdbSet "\<solib-absolute-prefix\>"
64syn match gdbSet "\<solib-search-path\>"
65syn match gdbSet "\<stop-on-solib-events\>"
66syn match gdbSet "\<symbol-reloading\>"
67syn match gdbSet "\<input-radix\>"
68syn match gdbSet "\<demangle-style\>"
69syn match gdbSet "\<output-radix\>"
70
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020071syn match gdbComment "^\s*#.*" contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000072
73syn match gdbVariable "\$\K\k*"
74
75" Strings and constants
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020076syn region gdbString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000077syn match gdbCharacter "'[^']*'" contains=gdbSpecialChar,gdbSpecialCharError
78syn match gdbCharacter "'\\''" contains=gdbSpecialChar
79syn match gdbCharacter "'[^\\]'"
80syn match gdbNumber "\<[0-9_]\+\>"
81syn match gdbNumber "\<0x[0-9a-fA-F_]\+\>"
82
83
84if !exists("gdb_minlines")
85 let gdb_minlines = 10
86endif
87exec "syn sync ccomment gdbComment minlines=" . gdb_minlines
88
89" Define the default highlighting.
90" For version 5.7 and earlier: only when not done already
91" For version 5.8 and later: only when an item doesn't have highlighting yet
92if version >= 508 || !exists("did_gdb_syn_inits")
93 if version < 508
94 let did_gdb_syn_inits = 1
95 command -nargs=+ HiLink hi link <args>
96 else
97 command -nargs=+ HiLink hi def link <args>
98 endif
99 HiLink gdbFuncDef Function
100 HiLink gdbComment Comment
101 HiLink gdbStatement Statement
102 HiLink gdbString String
103 HiLink gdbCharacter Character
104 HiLink gdbVariable Identifier
105 HiLink gdbSet Constant
106 HiLink gdbInfo Type
107 HiLink gdbDocument Special
108 HiLink gdbNumber Number
109 delcommand HiLink
110endif
111
112let b:current_syntax = "gdb"
113
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200114let &cpo = s:cpo_save
115unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116" vim: ts=8