From 0dd17aeffbbe7e704cfb297a35a569bbe74aff2d Mon Sep 17 00:00:00 2001 From: jistone Date: Wed, 21 Dec 2005 00:44:16 +0000 Subject: 2005-12-20 Josh Stone * vim/filetype.vim: defines *.stp files as SystemTap scripts * vim/ftplugin/stap.vim: sets the comment styles * vim/indent/stap.vim: enables simple auto-indenting * vim/syntax/stap.vim: defines syntax highlighting --- vim/indent/stap.vim | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 vim/indent/stap.vim (limited to 'vim/indent') diff --git a/vim/indent/stap.vim b/vim/indent/stap.vim new file mode 100644 index 00000000..16658d6c --- /dev/null +++ b/vim/indent/stap.vim @@ -0,0 +1,35 @@ +" Vim indent file +" Language: SystemTap +" Maintainer: Josh Stone +" Last Change: 2005 Dec 15 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +" SystemTap indenting works *mostly* the same as C, so this gets things pretty +" close. For 'real' SystemTap indenting, we would have to write a custom +" indentexpr function. + +" indenting is similar to C, so start there... +setlocal cindent + +" Statements don't require a ';', so don't indent following lines +setlocal cino=+0 + +" Known issues: +" - need to detect when following lines are a continuation of the previous +" statement, and indent appropriately. +" - one-liners with control flow try to indent the next line if there's no +" ';'. For example: +" if (my_condition) break +" do_work() +" The second line should not be indented. +" - The embedded-C braces do not line up correctly +" - Preprocessor braces don't line up correctly, and internals of the +" preprocessor aren't getting any special handling. +" - Embedded-C statements across multiple lines don't indent +" - '#' comments don't maintain indenting (they get treated like C +" preprocessor statements) -- cgit