diff options
Diffstat (limited to 'mnv/runtime/ftplugin/sass.mnv')
| -rw-r--r-- | mnv/runtime/ftplugin/sass.mnv | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mnv/runtime/ftplugin/sass.mnv b/mnv/runtime/ftplugin/sass.mnv new file mode 100644 index 0000000000..6d3206a59a --- /dev/null +++ b/mnv/runtime/ftplugin/sass.mnv @@ -0,0 +1,42 @@ +" MNV filetype plugin +" Language: Sass +" Maintainer: Tim Pope <mnvNOSPAM@tpope.org> +" Last Change: 2023 Dec 28 + +" 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 + +if get(g:, 'sass_recommended_style', 1) + setlocal shiftwidth=2 softtabstop=2 expandtab + let b:undo_ftplugin .= ' sw< sts< et<' +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 + +" mnv:set sw=2: |
