AutoYADM commit: 2025-07-01 15:55:01
This commit is contained in:
parent
378349c544
commit
0b5efac511
1 changed files with 27 additions and 8 deletions
|
@ -7,12 +7,21 @@ provide-module search-highlight %—
|
||||||
declare-option -docstring %{
|
declare-option -docstring %{
|
||||||
Face definition for search highlighting. See :doc faces.
|
Face definition for search highlighting. See :doc faces.
|
||||||
} str search_highlight_face rgb:D87C4A+i
|
} str search_highlight_face rgb:D87C4A+i
|
||||||
|
declare-option -docstring %{
|
||||||
|
Whether escaping the search prompt should clear the highlighting.
|
||||||
|
} bool search_highlight_prompt_escape false
|
||||||
|
declare-option -docstring %{
|
||||||
|
Whether the highlighting should always be cleared when returning to
|
||||||
|
normal mode. Takes priority over search_highlight_prompt_escape.
|
||||||
|
} bool search_highlight_auto_clear false
|
||||||
## end
|
## end
|
||||||
|
|
||||||
# track current highlighting status
|
# track current highlighting status
|
||||||
declare-option -hidden str search_highlight_status 'search-highlight-off'
|
declare-option -hidden str search_highlight_status 'search-highlight-off'
|
||||||
def -hidden -override search-highlight-on nop
|
def -hidden -override search-highlight-on nop
|
||||||
def -hidden -override search-highlight-off fail
|
def -hidden -override search-highlight-off fail
|
||||||
|
def -hidden -override true nop
|
||||||
|
def -hidden -override false fail
|
||||||
|
|
||||||
declare-option -hidden bool search_highlight_quit false
|
declare-option -hidden bool search_highlight_quit false
|
||||||
|
|
||||||
|
@ -35,9 +44,13 @@ provide-module search-highlight %—
|
||||||
try %{
|
try %{
|
||||||
%opt{search_highlight_status}
|
%opt{search_highlight_status}
|
||||||
} catch %{
|
} catch %{
|
||||||
# if the user escapes search, we should immediately clear the highlight
|
try %{
|
||||||
# in normal mode so we set the flag before escaping
|
# if the user escapes search, we should immediately clear the highlight
|
||||||
# map window prompt <esc> '<a-;>: set-option window search_highlight_quit true<ret><esc>'
|
# in normal mode so we set the flag before escaping
|
||||||
|
# but only if the option is set
|
||||||
|
%opt{search_highlight_prompt_escape}
|
||||||
|
map window prompt <esc> '<a-;>: set-option window search_highlight_quit true<ret><esc>'
|
||||||
|
}
|
||||||
# if not already enabled, add the highlighter
|
# if not already enabled, add the highlighter
|
||||||
add-highlighter window/search-highlight dynregex '%reg{/}' %exp{0:%opt{search_highlight_face}}
|
add-highlighter window/search-highlight dynregex '%reg{/}' %exp{0:%opt{search_highlight_face}}
|
||||||
# update status tracker
|
# update status tracker
|
||||||
|
@ -45,15 +58,21 @@ provide-module search-highlight %—
|
||||||
|
|
||||||
# register hook to clear highlighter after leaving search
|
# register hook to clear highlighter after leaving search
|
||||||
hook -once -group search-highlight window NormalIdle .* %{
|
hook -once -group search-highlight window NormalIdle .* %{
|
||||||
# check if user escaped search
|
# check if auto clear is set
|
||||||
try %{
|
try %{
|
||||||
%opt{search_highlight_quit}
|
%opt{search_highlight_auto_clear}
|
||||||
# if so, clear immediately
|
|
||||||
search-highlight-clear
|
search-highlight-clear
|
||||||
} catch %{
|
} catch %{
|
||||||
# otherwise, we clear on escape
|
# check if user escaped search
|
||||||
hook -once -group search-highlight window NormalKey <esc> %{
|
try %{
|
||||||
|
%opt{search_highlight_quit}
|
||||||
|
# if so, clear immediately
|
||||||
search-highlight-clear
|
search-highlight-clear
|
||||||
|
} catch %{
|
||||||
|
# otherwise, we clear on escape
|
||||||
|
hook -once -group search-highlight window NormalKey <esc> %{
|
||||||
|
search-highlight-clear
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# clear the prompt mapping so it doesn't conflict with
|
# clear the prompt mapping so it doesn't conflict with
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue