summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McCarty <pnorcks@gmail.com>2010-07-26 12:39:44 -0700
committerPatrick McCarty <pnorcks@gmail.com>2010-07-26 12:50:02 -0700
commit1ba18009f32e46a6b25436bbdc20c7d1ceb832d2 (patch)
treeadd30dea6209e3530a6cbe1ad3433aea74966a5d
parentc8499b5d525a5b48e72bc1d134a333224bbd212a (diff)
Vim: Use Lisp-style indentation where appropriate.
-rw-r--r--vim/lilypond-indent.vim12
1 files changed, 11 insertions, 1 deletions
diff --git a/vim/lilypond-indent.vim b/vim/lilypond-indent.vim
index 25d92e9baa..ea82090ec8 100644
--- a/vim/lilypond-indent.vim
+++ b/vim/lilypond-indent.vim
@@ -1,7 +1,7 @@
" LilyPond indent file
" Language: LilyPond
" Maintainer: Heikki Junes <hjunes@cc.hut.fi>
-" Last Change: 2004 Mar 01
+" Last Change: 2010 Jul 26
"
" Installed As: vim/indent/lilypond.vim
"
@@ -38,6 +38,16 @@ function GetLilyPondIndent()
let ind = ind - &sw
endif
+ " Check if the previous line is a `lilyScheme' region, and if
+ " so, use lisp-style indentation for the current line.
+ " TODO: only works in version 7.1.215 or later, though it should
+ " silently fail in older versions.
+ for id in synstack(lnum, 1)
+ if synIDattr(id, "name") == "lilyScheme"
+ let ind = lispindent(v:lnum)
+ endif
+ endfor
+
return ind
endfunction
"