xref: /vim-8.2.3635/runtime/ftplugin/sass.vim (revision c08ee747)
1c236c16dSBram Moolenaar" Vim filetype plugin
2c236c16dSBram Moolenaar" Language:	Sass
37a329911SBram Moolenaar" Maintainer:	Tim Pope <[email protected]>
4*c08ee747SBram Moolenaar" Last Change:	2019 Dec 05
5c236c16dSBram Moolenaar
6c236c16dSBram Moolenaar" Only do this when not done yet for this buffer
7c236c16dSBram Moolenaarif exists("b:did_ftplugin")
8c236c16dSBram Moolenaar  finish
9c236c16dSBram Moolenaarendif
10c236c16dSBram Moolenaarlet b:did_ftplugin = 1
11c236c16dSBram Moolenaar
1289bcfda6SBram Moolenaarlet b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<"
13c236c16dSBram Moolenaar
1489bcfda6SBram Moolenaarsetlocal comments=://
15c236c16dSBram Moolenaarsetlocal commentstring=//\ %s
16*c08ee747SBram Moolenaarsetlocal includeexpr=SassIncludeExpr(v:fname)
17c236c16dSBram Moolenaarsetlocal omnifunc=csscomplete#CompleteCSS
180ed0eea2SBram Moolenaarsetlocal suffixesadd=.sass,.scss,.css
19*c08ee747SBram Moolenaarif &filetype =~# '\<s[ac]ss]\>'
20*c08ee747SBram Moolenaar  setlocal iskeyword+=-
21*c08ee747SBram Moolenaar  setlocal iskeyword+=$
22*c08ee747SBram Moolenaar  setlocal iskeyword+=%
23*c08ee747SBram Moolenaar  let b:undo_ftplugin .= ' isk<'
24*c08ee747SBram Moolenaarendif
25c236c16dSBram Moolenaar
26*c08ee747SBram Moolenaarlet &l:define = '^\C\v\s*%(\@function|\@mixin|\=)|^\s*%(\$[[:alnum:]-]+:|[%.][:alnum:]-]+\s*%(\{|$))@='
270ed0eea2SBram Moolenaarlet &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
28c236c16dSBram Moolenaar
29*c08ee747SBram Moolenaarfunction! SassIncludeExpr(file) abort
30*c08ee747SBram Moolenaar  let partial = substitute(a:file, '\%(.*/\|^\)\zs', '_', '')
31*c08ee747SBram Moolenaar  if !empty(findfile(partial))
32*c08ee747SBram Moolenaar    return partial
33*c08ee747SBram Moolenaar  endif
34*c08ee747SBram Moolenaar  return a:file
35*c08ee747SBram Moolenaarendfunction
36*c08ee747SBram Moolenaar
37c236c16dSBram Moolenaar" vim:set sw=2:
38