Add scss support
This commit is contained in:
parent
058bc93b29
commit
d496ce9353
37
autoload/scss_indent.vim
Normal file
37
autoload/scss_indent.vim
Normal file
@ -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
|
1
build.sh
1
build.sh
@ -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
|
||||
|
||||
|
1
ftdetect/scss.vim
Normal file
1
ftdetect/scss.vim
Normal file
@ -0,0 +1 @@
|
||||
au BufRead,BufNewFile *.scss set filetype=scss.css
|
Loading…
x
Reference in New Issue
Block a user