patch 9.1.1138: cmdline completion for :hi is too simplistic

Problem:  Existing cmdline completion for :highlight was barebone and
          only completed the highlight group names.

Solution: Implement full completion for the highlight group arguments
          such as guifg and cterm. If the user tries to complete
          immediately after the '=' (e.g. `hi Normal guifg=<Tab>`), the
          completion will fill in the existing value, similar to how
          cmdline completion for options work (Yee Cheng Chin).

closes: #16712

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index de38d08..99a4002 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.1.  Last change: 2025 Feb 11
+*version9.txt*  For Vim version 9.1.  Last change: 2025 Feb 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41573,8 +41573,11 @@
 changes between buffers on similar lines improving the diff highlighting in
 Vim
 
-Adjusted default values ~
------------------------
+							*changed-9.2*
+Changed~
+-------
+
+Default values: ~
 - the default 'history' option value has been increased to 200 and removed
   from |defaults.vim|
 - the default 'backspace' option for Vim has been set to "indent,eol,start"
@@ -41584,61 +41587,69 @@
 - the default value of the 'keyprotocol' option has been updated and support
   for the ghostty terminal emulator (using kitty protocol) has been added
 
-							*changed-9.2*
-Changed~
--------
-- use 'smoothscroll' logic for CTRL-F and CTRL-B for pagewise scrolling
-- use 'smoothscroll' logic for CTRL-D and CTRL-U for half-pagewise scrolling
-- the default for 'commentstring' contains whitespace padding to have
-  automatic comments look nicer |comment-install|
-- 'completeopt' is now a |global-local| option.
-- 'nrformats' accepts the new "blank" suboption, to determine a signed or
-  unsigned number based on whitespace in front of a minus sign.
-- allow to specify a priority when defining a new sign |:sign-define|
-- provide information about function arguments using the get(func, "arity")
-  function |get()-func|
-- |:bwipe| also wipes jumplist and tagstack data
-- moving in the buffer list using |:bnext| and similar commands, behaves as
-  documented and skips help buffers (if not run from a help buffer, else
-  moves to the next/previous help buffer).
+
+Completion: ~
 - allow to complete directories from 'cdpath' for |:cd| and similar commands,
   add the "cd_in_path" completion type for e.g. |:command-complete| and
   |getcompletion()|
 - allow to complete shell commands and files using the new shellcmdline
   completion type using |:command-complete| and |getcmdcomplpat()|
-- add 'cpoptions' flag "z" |cpo-z|, to disable some (traditional) vi
-  behaviour/inconsistency (see |d-special| and |cw|).
 - allow to specify additional attributes in the completion menu (allows to
   mark deprecated attributes from LSP server) |complete-items|
-- the regex engines match correctly case-insensitive multi-byte characters
-  (and apply proper case folding)
+- the completed word and completion type are provided when handling the
+  |CompleteDone| autocommand in the |v:event| dictionary
+- |complete_info()| returns the list of matches shown in the poppu menu via
+  the "matches" key
+- New option value for 'completeopt':
+	"nosort"	- do not sort completion results
+	"preinsert"	- highlight to be inserted values
+- handle multi-line completion as expected
+- improved commandline completion for the |:hi| command
+
+Options: ~
+- the default for 'commentstring' contains whitespace padding to have
+  automatic comments look nicer |comment-install|
+- 'completeopt' is now a |global-local| option.
+- 'nrformats' accepts the new "blank" suboption, to determine a signed or
+  unsigned number based on whitespace in front of a minus sign.
+- add 'cpoptions' flag "z" |cpo-z|, to disable some (traditional) vi
+  behaviour/inconsistency (see |d-special| and |cw|).
+- 'rulerformat' now supports the |stl-%!| item
+- use 'smoothscroll' logic for CTRL-F / CTRL-B for pagewise scrolling
+  and CTRL-D / CTRL-U for half-pagewise scrolling
+
+Ex commands: ~
+- allow to specify a priority when defining a new sign |:sign-define|
+- |:bwipe| also wipes jumplist and tagstack data
+- moving in the buffer list using |:bnext| and similar commands, behaves as
+  documented and skips help buffers (if not run from a help buffer, else
+  moves to the next/previous help buffer).
 - |:keeppatterns| preserves the last substitute pattern when used with |:s|
+
+Functions: ~
+- provide information about function arguments using the get(func, "arity")
+  function |get()-func|
 - |setqflist()| and |setloclist()| can optionally try to preserve the current
   selection in the quickfix list with the "u" action.
+- allow to pass local Vim script variables to python interpreter |py3eval()|
+- |getwininfo()| now also returns the "leftcol" property for a window
+- |v:stacktrace| The stack trace of the exception most recently caught and
+  not finished
+- Add the optional {opts} |Dict| argument to |getchar()| to control: cursor
+  behaviour, return type and whether or not to simplify the returned key
+
+Others: ~
+- the regex engines match correctly case-insensitive multi-byte characters
+  (and apply proper case folding)
 - the putty terminal is detected using an |TermResponse| autocommand in
   |defaults.vim| and Vim switches to a dark background
 - the |help-TOC| package is included to ease navigating the documentation.
 - an interactive tutor plugin has been included |vim-tutor-mode|, can be
   started via |:Tutor|
 - improve the |vimtutor| and add a second chapter for more advanced tips
-- allow to pass local Vim script variables to python interpreter |py3eval()|
-- |getwininfo()| now also returns the "leftcol" property for a window
-- 'rulerformat' now supports the |stl-%!| item
-- the completed word and completion type are provided when handling the
-  |CompleteDone| autocommand in the |v:event| dictionary
-- |complete_info()| returns the list of matches shown in the poppu menu via
-  the "matches" key
-- |v:stacktrace| The stack trace of the exception most recently caught and
-  not finished
-- New option value for 'completeopt':
-	"nosort"	- do not sort completion results
-	"preinsert"	- highlight to be inserted values
 - add |dist#vim9#Launch()| and |dist#vim9#Open()| to the |vim-script-library|
   and decouple it from |netrw|
 - new digraph "APPROACHES THE LIMIT" using ".="
-- Add the optional {opts} |Dict| argument to |getchar()| to control: cursor
-  behaviour, return type and whether or not to simplify the returned key
-- handle multi-line completion as expected
 
 							*added-9.2*
 Added ~