diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 17:39:09 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 17:39:09 +0200 | 
| commit | d496ce9353e34e54a338a7e202461b3a5521fecc (patch) | |
| tree | bb8c4b93f73493364279a9a9ea091791cb3642d3 | |
| parent | 058bc93b29fcdc7b0e5e6eeba068e21633ac3273 (diff) | |
| download | vim-polyglot-d496ce9353e34e54a338a7e202461b3a5521fecc.tar.gz vim-polyglot-d496ce9353e34e54a338a7e202461b3a5521fecc.zip | |
Add scss support
Diffstat (limited to '')
| -rw-r--r-- | autoload/scss_indent.vim | 37 | ||||
| -rwxr-xr-x | build.sh | 1 | ||||
| -rw-r--r-- | ftdetect/scss.vim | 1 | 
3 files changed, 39 insertions, 0 deletions
| diff --git a/autoload/scss_indent.vim b/autoload/scss_indent.vim new file mode 100644 index 00000000..2e57ab2c --- /dev/null +++ b/autoload/scss_indent.vim @@ -0,0 +1,37 @@ +" usage: +" set indentexpr=scss_indent#GetIndent(v:lnum) +fun! scss_indent#GetIndent(lnum) +  " { -> increase indent +  " } -> decrease indent +  if a:lnum == 1 +    " start at 0 indentation +    return 0 +  endif + +  " try to find last line ending with { or } +  " ignoring // comments +  let regex = '\([{}]\)\%(\/\/.*\)\?$' +  let nr = search(regex, 'bnW') +  if nr > 0 +    let last = indent(nr) +    let m = matchlist(getline(nr), regex) +    let m_curr = matchlist(getline(a:lnum), regex) +    echoe string(m).string(m_curr) +    if !empty(m_curr) && m_curr[1] == '}' && m[1] == '{' +      " last was open, current is close, use same indent +      return last +    elseif !empty(m_curr) && m_curr[1] == '}' && m[1] == '}' +      " } line and last line was }: decrease +      return last - &sw +    endif +    if m[1] == '{' +      " line after {: increase indent +      return last + &sw +    else +      " line after } or { - same indent +      return last +    endif +  else +    return 0 +  endif +endfun @@ -70,6 +70,7 @@ syntax 'elixir-lang/vim-elixir' &  syntax 'jimenezrick/vimerl' &  syntax 'tpope/vim-git' &  syntax 'skwp/vim-rspec' & +syntax 'cakebaker/scss-syntax.vim' &  wait diff --git a/ftdetect/scss.vim b/ftdetect/scss.vim new file mode 100644 index 00000000..900752e5 --- /dev/null +++ b/ftdetect/scss.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.scss	set filetype=scss.css | 
