aboutsummaryrefslogtreecommitdiff
path: root/runtime/plugin
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-11-19 22:05:22 +0300
committerZyX <kp-pav@yandex.ru>2017-11-19 22:05:22 +0300
commit03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f (patch)
treea3a05c99fe20de98aafbdea9314aa0d76f71aee9 /runtime/plugin
parent6ea3a08fdbb276fe64dda60c5fb934360327ed39 (diff)
parentde8b1fd1dee5a91b2893fccc53cfd11631ccba38 (diff)
downloadrneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.tar.gz
rneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.tar.bz2
rneovim-03a129aacf7e4b77ceaccc71251ecb5bf41d2a8f.zip
Merge branch 'master' into expression-parser
Diffstat (limited to 'runtime/plugin')
-rw-r--r--runtime/plugin/matchit.vim24
-rw-r--r--runtime/plugin/matchparen.vim22
2 files changed, 33 insertions, 13 deletions
diff --git a/runtime/plugin/matchit.vim b/runtime/plugin/matchit.vim
index f275f7b36d..e3171e5cbb 100644
--- a/runtime/plugin/matchit.vim
+++ b/runtime/plugin/matchit.vim
@@ -1,7 +1,7 @@
" matchit.vim: (global plugin) Extended "%" matching
-" Last Change: 2016 Aug 21
+" Last Change: 2017 Sep 15
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
-" Version: 1.13.2, for Vim 6.3+
+" Version: 1.13.3, for Vim 6.3+
" Fix from Tommy Allen included.
" Fix from Fernando Torres included.
" Improvement from Ken Takata included.
@@ -90,12 +90,15 @@ let s:notslash = '\\\@<!\%(\\\\\)*'
function! s:Match_wrapper(word, forward, mode) range
" In s:CleanUp(), :execute "set" restore_options .
- let restore_options = (&ic ? " " : " no") . "ignorecase"
- if exists("b:match_ignorecase")
+ let restore_options = ""
+ if exists("b:match_ignorecase") && b:match_ignorecase != &ic
+ let restore_options .= (&ic ? " " : " no") . "ignorecase"
let &ignorecase = b:match_ignorecase
endif
- let restore_options = " ve=" . &ve . restore_options
- set ve=
+ if &ve != ''
+ let restore_options = " ve=" . &ve . restore_options
+ set ve=
+ endif
" If this function was called from Visual mode, make sure that the cursor
" is at the correct end of the Visual range:
if a:mode == "v"
@@ -283,7 +286,9 @@ endfun
" Restore options and do some special handling for Operator-pending mode.
" The optional argument is the tail of the matching group.
fun! s:CleanUp(options, mode, startline, startcol, ...)
- execute "set" a:options
+ if strlen(a:options)
+ execute "set" a:options
+ endif
" Open folds, if appropriate.
if a:mode != "o"
if &foldopen =~ "percent"
@@ -635,8 +640,9 @@ fun! s:MultiMatch(spflag, mode)
if !exists("b:match_words") || b:match_words == ""
return {}
end
- let restore_options = (&ic ? "" : "no") . "ignorecase"
- if exists("b:match_ignorecase")
+ let restore_options = ""
+ if exists("b:match_ignorecase") && b:match_ignorecase != &ic
+ let restore_options .= (&ic ? " " : " no") . "ignorecase"
let &ignorecase = b:match_ignorecase
endif
let startline = line(".")
diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim
index 5db1f64c78..4f68fd87bc 100644
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2016 Feb 16
+" Last Change: 2017 Sep 30
" Exit quickly when:
" - this plugin was already loaded (or disabled)
@@ -186,9 +186,23 @@ function! s:Highlight_Matching_Pair()
endfunction
" Define commands that will disable and enable the plugin.
-command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
- \ au! matchparen
-command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
+command! DoMatchParen call s:DoMatchParen()
+command! NoMatchParen call s:NoMatchParen()
+
+func! s:NoMatchParen()
+ let w = winnr()
+ noau windo silent! call matchdelete(3)
+ unlet! g:loaded_matchparen
+ exe "noau ". w . "wincmd w"
+ au! matchparen
+endfunc
+
+func! s:DoMatchParen()
+ runtime plugin/matchparen.vim
+ let w = winnr()
+ silent windo doau CursorMoved
+ exe "noau ". w . "wincmd w"
+endfunc
let &cpo = s:cpo_save
unlet s:cpo_save