diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2013-12-13 01:37:01 +0100 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2013-12-13 01:37:01 +0100 |
commit | edd5ee63e66d9ef166034d9ac5bed132f501ecb9 (patch) | |
tree | fba293d90821eea5e067c7b5eea3526df0f26254 /indent/less.vim | |
parent | 8a255002df1f6d02ef7ca9503be1a7d7234acef8 (diff) | |
download | vim-polyglot-1.4.2.tar.gz vim-polyglot-1.4.2.zip |
Updatev1.4.2
Diffstat (limited to 'indent/less.vim')
-rw-r--r-- | indent/less.vim | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/indent/less.vim b/indent/less.vim index fea8846d..6161c93c 100644 --- a/indent/less.vim +++ b/indent/less.vim @@ -6,6 +6,36 @@ if exists("b:did_indent") finish endif +let b:did_indent = 1 + +setlocal autoindent sw=2 et +setlocal indentexpr=GetLessIndent() +setlocal indentkeys=o,O,*<Return>,<:>,!^F + +" Only define the function once. +if exists("*GetLessIndent") + finish +endif + +let s:property = '^\s*:\|^\s*[[:alnum:]#{}-]\+\%(:\|\s*=\)' + +function! GetLessIndent() + 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: -runtime! indent/css.vim |