diff runtime/ftplugin/sass.vim @ 18818:5c40013d45ee

Update runtime files. Commit: https://github.com/vim/vim/commit/c08ee7476b19f9b4de5df287797af87c4e3fba0a Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 5 22:47:25 2019 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Thu, 05 Dec 2019 23:00:04 +0100
parents 43efa4f5a8ea
children 92fd65eac53a
line wrap: on
line diff
--- a/runtime/ftplugin/sass.vim
+++ b/runtime/ftplugin/sass.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:	Sass
 " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
-" Last Change:	2016 Aug 29
+" Last Change:	2019 Dec 05
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -13,11 +13,25 @@ let b:undo_ftplugin = "setl com< cms< de
 
 setlocal comments=://
 setlocal commentstring=//\ %s
-setlocal define=^\\s*\\%(@mixin\\\|=\\)
-setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','')
+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: