diff options
Diffstat (limited to '')
-rw-r--r-- | runtime/ftplugin/sass.vim | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/ftplugin/sass.vim b/runtime/ftplugin/sass.vim new file mode 100644 index 0000000..9ce4461 --- /dev/null +++ b/runtime/ftplugin/sass.vim @@ -0,0 +1,37 @@ +" Vim filetype plugin +" Language: Sass +" Maintainer: Tim Pope <vimNOSPAM@tpope.org> +" Last Change: 2019 Dec 05 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<" + +setlocal comments=:// +setlocal commentstring=//\ %s +setlocal includeexpr=SassIncludeExpr(v:fname) +setlocal omnifunc=csscomplete#CompleteCSS +setlocal suffixesadd=.sass,.scss,.css +if &filetype =~# '\<s[ac]ss]\>' + setlocal iskeyword+=- + setlocal iskeyword+=$ + setlocal iskeyword+=% + let b:undo_ftplugin .= ' isk<' +endif + +let &l:define = '^\C\v\s*%(\@function|\@mixin|\=)|^\s*%(\$[[:alnum:]-]+:|[%.][:alnum:]-]+\s*%(\{|$))@=' +let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' + +function! SassIncludeExpr(file) abort + let partial = substitute(a:file, '\%(.*/\|^\)\zs', '_', '') + if !empty(findfile(partial)) + return partial + endif + return a:file +endfunction + +" vim:set sw=2: |