changeset 35451:489dee749f31

runtime(nohlsearch): include the the simple nohlsearch package Commit: https://github.com/vim/vim/commit/26de90c6312cf16d7a4f2b6942befb4e1f14b960 Author: Maxim Kim <habamax@gmail.com> Date: Tue Jun 18 19:32:39 2024 +0200 runtime(nohlsearch): include the the simple nohlsearch package fixes: https://github.com/vim/vim/issues/15039 closes: https://github.com/vim/vim/issues/15042 Signed-off-by: Maxim Kim <habamax@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 18 Jun 2024 19:45:06 +0200
parents 989e0288d2b9
children 1ae44c339d15
files .github/MAINTAINERS Filelist runtime/doc/pattern.txt runtime/doc/tags runtime/doc/usr_05.txt runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim
diffstat 6 files changed, 41 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/.github/MAINTAINERS
+++ b/.github/MAINTAINERS
@@ -343,6 +343,7 @@ runtime/lang/menu_ru_ru.utf-8.vim	@Resto
 runtime/pack/dist/opt/cfilter/plugin/cfilter.vim	@yegappan
 runtime/pack/dist/opt/comment/	@habamax
 runtime/pack/dist/opt/matchit/		@chrisbra
+runtime/pack/dist/opt/nohlsearch/		@habamax
 runtime/plugin/manpager.vim		@Konfekt
 runtime/syntax/shared/hgcommitDiff.vim	@vegerot
 runtime/syntax/abaqus.vim		@costerwi
--- a/Filelist
+++ b/Filelist
@@ -782,6 +782,7 @@ RT_ALL =	\
 		runtime/pack/dist/opt/matchit/doc/matchit.txt \
 		runtime/pack/dist/opt/matchit/doc/tags \
 		runtime/pack/dist/opt/matchit/autoload/*.vim \
+		runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim \
 		runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
 		runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
 		runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 9.1.  Last change: 2024 Jun 03
+*pattern.txt*   For Vim version 9.1.  Last change: 2024 Jun 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -151,13 +151,17 @@ CTRL-C			Interrupt current (search) comm
 			executing autocommands |autocmd-searchpat|.
 			Same thing for when invoking a user function.
 
+
 While typing the search pattern the current match will be shown if the
 'incsearch' option is on.  Remember that you still have to finish the search
 command with <CR> to actually position the cursor at the displayed match.  Or
 use <Esc> to abandon the search.
 
+							*nohlsearch-auto*
 All matches for the last used search pattern will be highlighted if you set
-the 'hlsearch' option.  This can be suspended with the |:nohlsearch| command.
+the 'hlsearch' option.  This can be suspended with the |:nohlsearch| command
+or auto suspended with nohlsearch plugin.  See |nohlsearch-install|.
+
 
 When 'shortmess' does not include the "S" flag, Vim will automatically show an
 index, on which the cursor is. This can look like this: >
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -9178,6 +9178,8 @@ no_buffers_menu	gui.txt	/*no_buffers_men
 no_mail_maps	filetype.txt	/*no_mail_maps*
 no_plugin_maps	filetype.txt	/*no_plugin_maps*
 nocombine	syntax.txt	/*nocombine*
+nohlsearch-auto	pattern.txt	/*nohlsearch-auto*
+nohlsearch-install	usr_05.txt	/*nohlsearch-install*
 non-greedy	pattern.txt	/*non-greedy*
 non-zero-arg	eval.txt	/*non-zero-arg*
 none-function_argument	userfunc.txt	/*none-function_argument*
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 9.1.  Last change: 2024 May 17
+*usr_05.txt*	For Vim version 9.1.  Last change: 2024 Jun 18
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -440,7 +440,7 @@ After restarting your Vim, the plugin is
 Adding comment package					*comment-install*
 
 Load the plugin with this command: >
-    packadd comment
+	packadd comment
 <
 This way you can use the plugin with the default key bindings `gc` and similar
 for commenting (which is a well-established mapping in the Vim community).
@@ -449,6 +449,21 @@ If you add this line to your vimrc file,
 the package loaded. Once the package is loaded, read about it at: >
 	:h comment.txt
 
+
+Adding nohlsearch package				*nohlsearch-install*
+
+Load the plugin with this command: >
+	packadd nohlsearch
+<
+Automatically execute |:nohlsearch| after 'updatetime' or getting into |Insert| mode.
+Thus assuming default updatetime, hlsearch would be suspended/turned off after
+4 seconds of idle time.
+
+To disable the effect of the plugin after is has been loaded: >
+	au! nohlsearch
+<
+
+
 More information about packages can be found here: |packages|.
 
 ==============================================================================
new file mode 100644
--- /dev/null
+++ b/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim
@@ -0,0 +1,14 @@
+" nohlsearch.vim: Auto turn off hlsearch
+" Last Change: 2024-06-18
+" Maintainer: Maxim Kim <habamax@gmail.com>
+"
+" turn off hlsearch after:
+" - doing nothing for 'updatetime'
+" - getting into insert mode
+augroup nohlsearch
+    au!
+    noremap <Plug>(nohlsearch) <cmd>nohlsearch<cr>
+    noremap! <expr> <Plug>(nohlsearch) execute('nohlsearch')[-1]
+    au CursorHold * call feedkeys("\<Plug>(nohlsearch)", 'm')
+    au InsertEnter * call feedkeys("\<Plug>(nohlsearch)", 'm')
+augroup END