diff options
Diffstat (limited to '')
-rw-r--r-- | ftplugin/sass.vim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ftplugin/sass.vim b/ftplugin/sass.vim new file mode 100644 index 00000000..d13a9e18 --- /dev/null +++ b/ftplugin/sass.vim @@ -0,0 +1,41 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sass') == -1 + +" 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: + +endif |