blob: 677f948172033e92596c2a4b411d98f19d20322e [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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02007" quit when a syntax file was already loaded
8if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 finish
10endif
11
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020012let s:cpo_save = &cpo
13set cpo&vim
14
Bram Moolenaar071d4272004-06-13 20:20:40 +000015syn keyword gdbInfo contained address architecture args breakpoints catch common copying dcache
16syn keyword gdbInfo contained display files float frame functions handle line
17syn keyword gdbInfo contained locals program registers scope set sharedlibrary signals
18syn keyword gdbInfo contained source sources stack symbol target terminal threads
19syn keyword gdbInfo contained syn keyword tracepoints types udot variables warranty watchpoints
20syn match gdbInfo contained "all-registers"
21
22
23syn keyword gdbStatement contained actions apply attach awatch backtrace break bt call catch cd clear collect commands
24syn keyword gdbStatement contained complete condition continue delete detach directory disable disassemble display down
25syn keyword gdbStatement contained echo else enable end file finish frame handle hbreak help if ignore
26syn keyword gdbStatement contained inspect jump kill list load maintenance make next nexti ni output overlay
27syn keyword gdbStatement contained passcount path print printf ptype pwd quit rbreak remote return run rwatch
28syn keyword gdbStatement contained search section set sharedlibrary shell show si signal source step stepi stepping
29syn keyword gdbStatement contained stop target tbreak tdump tfind thbreak thread tp trace tstart tstatus tstop
30syn keyword gdbStatement contained tty undisplay unset until up watch whatis where while ws x
31syn match gdbFuncDef "\<define\>.*"
32syn match gdbStatmentContainer "^\s*\S\+" contains=gdbStatement,gdbFuncDef
33syn match gdbStatement "^\s*info" nextgroup=gdbInfo skipwhite skipempty
34
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020035" some commonly used abbreviations
Bram Moolenaar071d4272004-06-13 20:20:40 +000036syn keyword gdbStatement c disp undisp disas p
37
Bram Moolenaar5c736222010-01-06 20:54:52 +010038syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end\s*$"
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
40syn match gdbStatement "\<add-shared-symbol-files\>"
41syn match gdbStatement "\<add-symbol-file\>"
42syn match gdbStatement "\<core-file\>"
43syn match gdbStatement "\<dont-repeat\>"
44syn match gdbStatement "\<down-silently\>"
45syn match gdbStatement "\<exec-file\>"
46syn match gdbStatement "\<forward-search\>"
47syn match gdbStatement "\<reverse-search\>"
48syn match gdbStatement "\<save-tracepoints\>"
49syn match gdbStatement "\<select-frame\>"
50syn match gdbStatement "\<symbol-file\>"
51syn match gdbStatement "\<up-silently\>"
52syn match gdbStatement "\<while-stepping\>"
53
54syn keyword gdbSet annotate architecture args check complaints confirm editing endian
55syn keyword gdbSet environment gnutarget height history language listsize print prompt
56syn keyword gdbSet radix remotebaud remotebreak remotecache remotedebug remotedevice remotelogbase
57syn keyword gdbSet remotelogfile remotetimeout remotewritesize targetdebug variable verbose
58syn keyword gdbSet watchdog width write
59syn match gdbSet "\<auto-solib-add\>"
60syn match gdbSet "\<solib-absolute-prefix\>"
61syn match gdbSet "\<solib-search-path\>"
62syn match gdbSet "\<stop-on-solib-events\>"
63syn match gdbSet "\<symbol-reloading\>"
64syn match gdbSet "\<input-radix\>"
65syn match gdbSet "\<demangle-style\>"
66syn match gdbSet "\<output-radix\>"
67
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020068syn match gdbComment "^\s*#.*" contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000069
70syn match gdbVariable "\$\K\k*"
71
72" Strings and constants
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020073syn region gdbString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000074syn match gdbCharacter "'[^']*'" contains=gdbSpecialChar,gdbSpecialCharError
75syn match gdbCharacter "'\\''" contains=gdbSpecialChar
76syn match gdbCharacter "'[^\\]'"
77syn match gdbNumber "\<[0-9_]\+\>"
78syn match gdbNumber "\<0x[0-9a-fA-F_]\+\>"
79
80
81if !exists("gdb_minlines")
82 let gdb_minlines = 10
83endif
84exec "syn sync ccomment gdbComment minlines=" . gdb_minlines
85
86" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020087" Only when an item doesn't have highlighting yet
88command -nargs=+ HiLink hi def link <args>
89HiLink gdbFuncDef Function
90HiLink gdbComment Comment
91HiLink gdbStatement Statement
92HiLink gdbString String
93HiLink gdbCharacter Character
94HiLink gdbVariable Identifier
95HiLink gdbSet Constant
96HiLink gdbInfo Type
97HiLink gdbDocument Special
98HiLink gdbNumber Number
99delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
101let b:current_syntax = "gdb"
102
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200103let &cpo = s:cpo_save
104unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105" vim: ts=8