summaryrefslogtreecommitdiff
path: root/.vim
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2013-05-16 22:52:01 +0200
committerTobias Klauser <tklauser@distanz.ch>2013-05-16 22:52:01 +0200
commit21e2fa2ad06ee16537321cffb9c50145a6739509 (patch)
tree57a6755d253500c14e408627738c6b274eb71959 /.vim
parent4686141ba18734b748a42b7132b4fe470eebd880 (diff)
Add syntax highlighting for bpf (taken from netsniff-ng)
Diffstat (limited to '.vim')
-rw-r--r--.vim/filetype.vim3
-rw-r--r--.vim/syntax/bpf.vim45
2 files changed, 48 insertions, 0 deletions
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"