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