summaryrefslogtreecommitdiffstats
path: root/runtime/indent/sass.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
committerBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
commitc236c16d0884c7d6cdc4dbaddb8cb3992085f83e (patch)
tree7d87344cdf07b6b9234abe26ccef39fbbee54f63 /runtime/indent/sass.vim
parentb316376b4893ac3ae62f7f33c483b28b7fc147c0 (diff)
updated for version 7.2b-000v7.2b.000
Diffstat (limited to 'runtime/indent/sass.vim')
-rw-r--r--runtime/indent/sass.vim39
1 files changed, 39 insertions, 0 deletions
diff --git a/runtime/indent/sass.vim b/runtime/indent/sass.vim
new file mode 100644
index 0000000000..45ca50f689
--- /dev/null
+++ b/runtime/indent/sass.vim
@@ -0,0 +1,39 @@
+" Vim indent file
+" Language: SASS
+" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
+" Last Change: 2007 Dec 16
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal autoindent sw=2 et
+setlocal indentexpr=GetSassIndent()
+setlocal indentkeys=o,O,*<Return>,<:>,!^F
+
+" Only define the function once.
+if exists("*GetSassIndent")
+ finish
+endif
+
+let s:property = '^\s*:\|^\s*[[:alnum:]-]\+:'
+
+function! GetSassIndent()
+ let lnum = prevnonblank(v:lnum-1)
+ let line = substitute(getline(lnum),'\s\+$','','')
+ let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
+ let lastcol = strlen(line)
+ let line = substitute(line,'^\s\+','','')
+ let indent = indent(lnum)
+ let cindent = indent(v:lnum)
+ if line !~ s:property && cline =~ s:property
+ return indent + &sw
+ "elseif line =~ s:property && cline !~ s:property
+ "return indent - &sw
+ else
+ return -1
+ endif
+endfunction
+
+" vim:set sw=2: