Undo ftplugin and indent settings when filetype changes

Set b:undo_ftplugin for matchpairs, matchit variables, b:syng_str and
the foldexpr settings, and b:undo_indent for indent settings, instead of
relying on whichever indent file was loaded last.
This commit is contained in:
leafOfTree committed 2026-10-21 12:12:56 +00:00
1 parent ee1a608c40
commit 07df7903af
5 files changed
+28

No files matched your search

+5
View File
@@ -1,8 +1,12 @@
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
let b:undo_ftplugin = (exists('b:undo_ftplugin') ? b:undo_ftplugin.' | ' : '')
\ . 'unlet! b:syng_str b:syng_strcom'
if !has('nvim')
setlocal matchpairs+=<:>
let b:undo_ftplugin .= ' | setlocal matchpairs<'
endif
if exists("loaded_matchit")
@@ -11,6 +15,7 @@ if exists("loaded_matchit")
\ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
\ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
endif
" Indent correctly with template string for vim-javascript/built-in
+2
View File
@@ -14,6 +14,8 @@ function! VueFoldMain(...)
setlocal foldexpr=GetVueFold(v:lnum)
setlocal foldmethod=expr
let b:undo_ftplugin = (exists('b:undo_ftplugin') ? b:undo_ftplugin.' | ' : '')
\ . 'setlocal foldexpr< foldmethod<'
endif
endfunction