title: How to trigger end of search or nohlsearch was called
body: <p>I have the following code inside my vimrc</p>
  
  <pre><code>hi CurrentWordUL cterm=underline gui=underline
  hi Search cterm=underline ctermfg=124 gui=underline guifg=#af0000
  
  augroup MyHighlighter
    autocmd!
    " autocmd User IncSearchEnter MatchHighlighter 0
    " autocmd User IncSearchExecute MatchHighlighter 1
  
    set updatetime=700
    autocmd CursorHold * if (get(g:, 'matchhl', 1) &amp;&amp; (&amp;ft !~ join(g:ft_blacklist, '\|')))
  \ | silent! exe printf('match CurrentWordUL /\&lt;%s\&gt;/', expand('&lt;cword&gt;'))
  \ | endif
    autocmd CursorMoved * if (get(g:, 'matchhl', 1) &amp;&amp; (&amp;ft !~ join(g:ft_blacklist, '\|')))
  \ | silent! exe printf('match none')
  \ | endif
  augroup END
  
  nnoremap &lt;silent&gt; &lt;f4&gt; :MatchHighlighter&lt;CR&gt;
  command! -nargs=? MatchHighlighter
  \  call ToggleSetMatchHL(
  \  empty(&lt;q-args&gt;) ? !get(g:, 'matchhl', 1) : expand(&lt;q-args&gt;))
  
  function! ToggleSetMatchHL(arg) abort
  match none | diffupdate | syntax sync fromstart
  let g:matchhl = a:arg
  endfunction
  </code></pre>
  
  <p>The purpose of this is to highlight (underline)  matching word under the cursor.</p>
  
  <p>The issue I have is when I'm searching with /, ?, *, # etc. The matching highlight overwrite the search highlight.</p>
  
  <p>Is there anyway I can know "end of search" (I don't know the definition of "end of search" but maybe someone can suggest something) or "nohlsearch" was called?</p>
  
  <p>Thanks in advance.</p>