diff options
author | David Lamparter <equinox@diac24.net> | 2019-06-12 17:32:29 +0200 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2019-06-12 19:35:43 +0200 |
commit | b9a0d38d53d24bfbc59dd8087c248f5fe58d6461 (patch) | |
tree | 4f91d2230649aa7a0e474dd9f79c34434ff80451 /tools | |
parent | lib: make "%Ld" work for int64_t (diff) | |
download | frr-b9a0d38d53d24bfbc59dd8087c248f5fe58d6461.tar.xz frr-b9a0d38d53d24bfbc59dd8087c248f5fe58d6461.zip |
tools: add vim snippet
Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/frr.vim | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/frr.vim b/tools/frr.vim new file mode 100644 index 000000000..86aa0c0e3 --- /dev/null +++ b/tools/frr.vim @@ -0,0 +1,36 @@ +" settings & syntax hilighting for FRR codebase +" 2019 by David Lamparter, placed in public domain + +let c_gnu=1 + +function! CStyleFRR() + syn clear cFormat + syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbiuoxXDOUfFeEgGcCsSn]\|[pd]\([A-Z][A-Z0-9]*[a-z]*\|\)\|\[\^\=.[^]]*\]\)" contained + syn match cFormat display "%%" contained + + syn keyword cIterator frr_each frr_each_safe frr_each_from + syn keyword cMacroOp offsetof container_of container_of_null array_size + + syn keyword cStorageClass atomic + syn keyword cFormatConst PRId64 PRIu64 PRIx64 + syn keyword cFormatConst PRId32 PRIu32 PRIx32 + syn keyword cFormatConst PRId16 PRIu16 PRIx16 + syn keyword cFormatConst PRId8 PRIu8 PRIx8 + + " you can unlink these by just giving them their own hilighting / color + hi link cFormatConst cFormat + hi link cIterator cRepeat + hi link cMacroOp cOperator + + " indentation + setlocal cindent + setlocal cinoptions=:0,(0,u4,w1,W8 + setlocal shiftwidth=8 + setlocal softtabstop=0 + setlocal textwidth=0 + setlocal fo=croql + setlocal noet +endfunction + +" auto-apply the above based on path rules +"autocmd BufRead,BufNewFile /home/.../frr/*.[ch] call CStyleFRR() |