" Vim syntax file " Language: bpftrace " Maintainer: Stanislaw Gruszka " Last Change: 2025 Dec 22 " Quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword bpftraceConditional if else syn keyword bpftraceRepeat while for unroll syn keyword bpftraceStatement break continue return syn keyword bpftraceKeyword let macro import config syn keyword bpftraceOperator sizeof offsetof syn keyword bpftraceProbe BEGIN END begin end syn match bpftraceProbe "\v<(bench|self|test)\ze:" syn match bpftraceProbe "\v<(fentry|fexit|kfunc|kretfunc|kprobe|kretprobe)\ze:" syn match bpftraceProbe "\v<(profile|interval|iterator|hardware|software|uprobe|uretprobe)\ze:" syn match bpftraceProbe "\v<(usdt|tracepoint|rawtracepoint|watchpoint|asyncwatchpoint)\ze:" syn match bpftraceProbe "\v(^|[^:])<\zs(h|i|it|f|fr|k|kr|p|rt|s|t|u|ur|U|w|aw)\ze:" syn keyword bpftraceType bool int8 int16 int32 int64 syn keyword bpftraceType uint8 uint16 uint32 uint64 syn keyword bpftraceType struct syn match bpftraceMacro "\<\h\w*\ze\_s*(" syn match bpftraceNumber display "[+-]\=\<\d\+\>" syn match bpftraceNumber display "\<0x\x\+\>" syn keyword bpftraceBoolean true false syn region bpftraceString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell extend syn keyword bpftraceTodo contained TODO FIXME XXX syn match bpftraceShebang /\%^#![^[].*/ syn region bpftraceCommentLine start="//" end="$" contains=bpftraceTodo,@Spell syn region bpftraceCommentBlock matchgroup=bpftraceCommentBlock start="/\*" end="\*/" contains=bpftraceTodo,@Spell " Define the default highlighting. hi def link bpftraceConditional Conditional hi def link bpftraceMacro Macro hi def link bpftraceRepeat Repeat hi def link bpftraceKeyword Keyword hi def link bpftraceNumber Number hi def link bpftraceBoolean Boolean hi def link bpftraceShebang Comment hi def link bpftraceCommentLine Comment hi def link bpftraceCommentBlock Comment hi def link bpftraceString String hi def link bpftraceType Type hi def link bpftraceProbe Identifier syn sync minlines=100 let b:current_syntax = "bpftrace" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8 sw=8 noexpandtab