From 7a0db9620687f7cee57ff73507d0d7fdf8401e5b Mon Sep 17 00:00:00 2001 From: kianryan Date: Fri, 11 Jan 2013 19:48:27 +0000 Subject: [PATCH] Included Aquila Deus' cs indent file. Fixes attribute indenting - #6 --- indent/cs.vim | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 indent/cs.vim diff --git a/indent/cs.vim b/indent/cs.vim new file mode 100644 index 0000000..6b438be --- /dev/null +++ b/indent/cs.vim @@ -0,0 +1,34 @@ +" Vim indent file +" Language: C# +" Maintainer: Aquila Deus +" + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + + +setlocal indentexpr=GetCSIndent() + + +function! GetCSIndent() + + let this_line = getline(v:lnum) + let previous_line = getline(v:lnum - 1) + + " Hit the start of the file, use zero indent. + if a:lnum == 0 + return 0 + endif + + " If previous_line is an attribute line: + if previous_line =~? '^\s*\[[A-Za-z]' && previous_line =~? '\]$' + let ind = indent(v:lnum - 1) + return ind + else + return cindent(v:lnum) + endif + +endfunction