blob: 20516a18531521581a0fe7d27e8ab105efe18182 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar071d4272004-06-13 20:20:40 +00002" Language: strace output
Bram Moolenaar8a94d872015-01-25 13:02:57 +01003" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
Bram Moolenaarf10911e2022-01-29 22:20:48 +00004" Last Change: 2022 Jan 29
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6" Setup
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02007" quit when a syntax file was already loaded
8if exists("b:current_syntax")
9 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000010endif
11
12syn case match
13
14" Parse the line
Bram Moolenaar8a94d872015-01-25 13:02:57 +010015syn match straceSpecialChar "\\\o\{1,3}\|\\." contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000016syn region straceString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=straceSpecialChar oneline
17syn match straceNumber "\W[+-]\=\(\d\+\)\=\.\=\d\+\([eE][+-]\=\d\+\)\="lc=1
18syn match straceNumber "\W0x\x\+"lc=1
19syn match straceNumberRHS "\W\(0x\x\+\|-\=\d\+\)"lc=1 contained
20syn match straceOtherRHS "?" contained
21syn match straceConstant "[A-Z_]\{2,}"
22syn region straceVerbosed start="(" end=")" matchgroup=Normal contained oneline
23syn region straceReturned start="\s=\s" end="$" contains=StraceEquals,straceNumberRHS,straceOtherRHS,straceConstant,straceVerbosed oneline transparent
24syn match straceEquals "\s=\s"ms=s+1,me=e-1
25syn match straceParenthesis "[][(){}]"
26syn match straceSysCall "^\w\+"
27syn match straceOtherPID "^\[[^]]*\]" contains=stracePID,straceNumber nextgroup=straceSysCallEmbed skipwhite
28syn match straceSysCallEmbed "\w\+" contained
29syn keyword stracePID pid contained
30syn match straceOperator "[-+=*/!%&|:,]"
31syn region straceComment start="/\*" end="\*/" oneline
32
33" Define the default highlighting
Bram Moolenaar071d4272004-06-13 20:20:40 +000034
Bram Moolenaarf37506f2016-08-31 22:22:10 +020035hi def link straceComment Comment
36hi def link straceVerbosed Comment
37hi def link stracePID PreProc
38hi def link straceNumber Number
39hi def link straceNumberRHS Type
40hi def link straceOtherRHS Type
41hi def link straceString String
42hi def link straceConstant Function
43hi def link straceEquals Type
44hi def link straceSysCallEmbed straceSysCall
45hi def link straceSysCall Statement
46hi def link straceParenthesis Statement
47hi def link straceOperator Normal
48hi def link straceSpecialChar Special
49hi def link straceOtherPID PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +000050
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
52let b:current_syntax = "strace"