diff options
author | jistone <jistone> | 2005-12-21 00:44:16 +0000 |
---|---|---|
committer | jistone <jistone> | 2005-12-21 00:44:16 +0000 |
commit | 0dd17aeffbbe7e704cfb297a35a569bbe74aff2d (patch) | |
tree | bc191167d4b4ed14b7403506b59841b12ad30f9b /vim/indent | |
parent | 0b2cecb78ce5c0dcef980124d7155263f39edd10 (diff) | |
download | systemtap-steved-0dd17aeffbbe7e704cfb297a35a569bbe74aff2d.tar.gz systemtap-steved-0dd17aeffbbe7e704cfb297a35a569bbe74aff2d.tar.xz systemtap-steved-0dd17aeffbbe7e704cfb297a35a569bbe74aff2d.zip |
2005-12-20 Josh Stone <joshua.i.stone@intel.com>
* 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
Diffstat (limited to 'vim/indent')
-rw-r--r-- | vim/indent/stap.vim | 35 |
1 files changed, 35 insertions, 0 deletions
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 <joshua.i.stone@intel.com> +" 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) |