* doc/emacs/programs.texi (Imenu): Document how Imenu completions
can be sorted.
* lisp/imenu.el (imenu-sort-function): Explain in the docstring
how to sort Imenu completions.
(cherry picked from commit
407b88333bec69faba2d9d0a889a556e01247a76)
symbol @code{imenu--sort-by-name} as the value. You can also
define your own comparison function by writing Lisp code.
+ You can also customize how Imenu completions are sorted by changing
+the variable @code{completion-category-overrides} and setting its
+@code{display-sort-function} for the category @code{imenu}.
+
If Eglot is activated for the current buffer's project
(@pxref{Projects}) and the current buffer's major mode, Eglot provides
its own facility for producing the buffer's index based on the
It defines whether to flatten the list of sections in an imenu
or show it nested.
++++
+*** Imenu completions now can be sorted.
+You can customize the option 'completion-category-overrides'
+and set 'display-sort-function' for the category 'imenu'.
+
** Which Function mode
+++
(defcustom imenu-sort-function nil
"The function to use for sorting the index mouse-menu.
-Affects only the mouse index menu.
+Affects only the mouse index menu. If you want to change
+the sorting order of completions, you can customize
+the option `completion-category-overrides' and set
+`display-sort-function' for the category `imenu'.
Set this to nil if you don't want any sorting (faster).
The items in the menu are then presented in the order they were found