X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=vim%2Flilypond-indent.vim;h=ea82090ec822a1798863fca2dc0d741fc9300951;hb=1ba18009f32e46a6b25436bbdc20c7d1ceb832d2;hp=25d92e9baaaac42bae678df6ddd6d39692e2d1da;hpb=c8499b5d525a5b48e72bc1d134a333224bbd212a;p=lilypond.git 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 -" 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 "