From 21e2fa2ad06ee16537321cffb9c50145a6739509 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 16 May 2013 22:52:01 +0200 Subject: Add syntax highlighting for bpf (taken from netsniff-ng) --- .vim/filetype.vim | 3 +++ .vim/syntax/bpf.vim | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 .vim/syntax/bpf.vim (limited to '.vim') diff --git a/.vim/filetype.vim b/.vim/filetype.vim index 9a53b1a..19d191c 100644 --- a/.vim/filetype.vim +++ b/.vim/filetype.vim @@ -271,6 +271,9 @@ au BufNewFile,BufRead *.bdf setf bdf " BibTeX bibliography database file au BufNewFile,BufRead *.bib setf bib +" Berkley Packet Filter +au BufRead,BufNewFile *.bpf setf bpf + " BibTeX Bibliography Style au BufNewFile,BufRead *.bst setf bst diff --git a/.vim/syntax/bpf.vim b/.vim/syntax/bpf.vim new file mode 100644 index 0000000..bb6322a --- /dev/null +++ b/.vim/syntax/bpf.vim @@ -0,0 +1,45 @@ +" Vim syntax file +" Language: Berkeley Packet Filter +" Maintainer: Daniel Borkmann +" Latest Revision: 08/16/2011 +" +" In order to make syntax highlighting for BPFs work in vim, copy this file +" to ~/.vim/syntax/ and activate it in vim by entering: +" +" :set syntax=bpf +" +" If you want to automatically load the BPF syntax highlighting for *.bpf +" files create the ~/.vim/filetype.vim with the following content: +" +" my filetype file +" if exists("did_load_filetypes") +" finish +" endif +" +" augroup filetypedetect +" au! BufRead,BufNewFile *.bpf setfiletype bpf +" augroup END +" + +if exists("b:current_syntax") + finish +endif + +syn keyword bpfTodo contained TODO FIXME XXX NOTE +syn keyword bpfKeywords ldb ldh ld ldi ldx ldxi ldxb st stx jmp ja jeq jneq jne skipwhite +syn keyword bpfKeywords jlt jle jgt jge jset add sub mul div mod neg and or xor skipwhite +syn keyword bpfKeywords lsh rsh ret tax txa skipwhite + +syn match bpfLabel /[a-zA-Z0-9_]\+/ +syn match bpfSpChar /[:,#\[\]\(\)+*&]\?/ contains=bpfNumber,bpfLabel +syn match bpfNumber /\(0[xX]\x\+\|\d\+\)/ +syn match bpfComment ";.*$" contains=bpfTodo + +hi def link bpfTodo Todo +hi def link bpfComment Comment +hi def link bpfKeywords Keyword +hi def link bpfLabel Type +hi def link bpfNumber Number +hi def link bpfSpChar Special + +let b:current_syntax = "bpf" -- cgit v1.2.3-54-g00ecf