aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFamiu Haque <famiuhaque@proton.me>2024-10-22 22:14:01 +0600
committerGitHub <noreply@github.com>2024-10-22 09:14:01 -0700
commit07b4cb6ada2da108bbf8277bec63068234ceaa67 (patch)
tree2c05eaeb18d11ddb767be03a58aaf9a123fa7095
parente178331488a0fb6a9c48152511a21a3f95d66750 (diff)
downloadrneovim-07b4cb6ada2da108bbf8277bec63068234ceaa67.tar.gz
rneovim-07b4cb6ada2da108bbf8277bec63068234ceaa67.tar.bz2
rneovim-07b4cb6ada2da108bbf8277bec63068234ceaa67.zip
docs(options): remove description for hidden options #30903
Problem: Hidden options are documented despite being no-ops. Solution: Remove docs for hidden options. Move tags for options that we plan to restore, to ":help nvim-missing". Move tags for permanently removed options, to ":help nvim-removed".
-rw-r--r--runtime/doc/filetype.txt2
-rw-r--r--runtime/doc/gui.txt1
-rw-r--r--runtime/doc/options.txt230
-rw-r--r--runtime/doc/syntax.txt2
-rw-r--r--runtime/doc/vim_diff.txt8
-rw-r--r--runtime/lua/vim/_meta/options.lua259
-rwxr-xr-xscripts/gen_eval_files.lua2
7 files changed, 11 insertions, 493 deletions
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index a0f2abbb44..52697778f0 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -40,7 +40,7 @@ Detail: The ":filetype on" command will load these files:
$VIMRUNTIME/scripts.vim is used to detect it from the contents of the
file.
When the GUI is running or will start soon, the |menu.vim| script is
- also sourced. See |'go-M'| about avoiding that.
+ also sourced.
To add your own file types, see |new-filetype| below. To search for help on a
filetype prepend "ft-" and optionally append "-syntax", "-indent" or
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index 9ab5bf4e1e..21f1ba8241 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -164,7 +164,6 @@ menus and menu items. They are most useful for things that you can't remember
what the key sequence was.
For creating menus in a different language, see |:menutrans|.
-If you don't want to use menus at all, see |'go-M'|.
*menu.vim*
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 44c5934233..2b81c408ed 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1141,16 +1141,6 @@ A jump table for the options with a short description can be found at |Q_op|.
added for the 'showbreak' setting.
(default: off)
- *'browsedir'* *'bsdir'*
-'browsedir' 'bsdir' string (default "last")
- global
- Which directory to use for the file browser:
- last Use same directory as with last file browser, where a
- file was opened or saved.
- buffer Use the directory of the related buffer.
- current Use the current directory.
- {path} Use the specified directory
-
*'bufhidden'* *'bh'*
'bufhidden' 'bh' string (default "")
local to buffer |local-noglobal|
@@ -3100,136 +3090,6 @@ A jump table for the options with a short description can be found at |Q_op|.
When 'guifont' has a valid font and 'guifontwide' is empty Vim will
attempt to set 'guifontwide' to a matching double-width font.
- *'guioptions'* *'go'*
-'guioptions' 'go' string (default "egmrLT" (MS-Windows))
- global
- This option only has an effect in the GUI version of Vim. It is a
- sequence of letters which describes what components and options of the
- GUI should be used.
- To avoid problems with flags that are added in the future, use the
- "+=" and "-=" feature of ":set" |add-option-flags|.
-
- Valid letters are as follows:
- *guioptions_a* *'go-a'*
- 'a' Autoselect: If present, then whenever VISUAL mode is started,
- or the Visual area extended, Vim tries to become the owner of
- the windowing system's global selection. This means that the
- Visually highlighted text is available for pasting into other
- applications as well as into Vim itself. When the Visual mode
- ends, possibly due to an operation on the text, or when an
- application wants to paste the selection, the highlighted text
- is automatically yanked into the "* selection register.
- Thus the selection is still available for pasting into other
- applications after the VISUAL mode has ended.
- If not present, then Vim won't become the owner of the
- windowing system's global selection unless explicitly told to
- by a yank or delete operation for the "* register.
- The same applies to the modeless selection.
- *'go-P'*
- 'P' Like autoselect but using the "+ register instead of the "*
- register.
- *'go-A'*
- 'A' Autoselect for the modeless selection. Like 'a', but only
- applies to the modeless selection.
-
- 'guioptions' autoselect Visual autoselect modeless ~
- "" - -
- "a" yes yes
- "A" - yes
- "aA" yes yes
-
- *'go-c'*
- 'c' Use console dialogs instead of popup dialogs for simple
- choices.
- *'go-d'*
- 'd' Use dark theme variant if available.
- *'go-e'*
- 'e' Add tab pages when indicated with 'showtabline'.
- 'guitablabel' can be used to change the text in the labels.
- When 'e' is missing a non-GUI tab pages line may be used.
- The GUI tabs are only supported on some systems, currently
- Mac OS/X and MS-Windows.
- *'go-i'*
- 'i' Use a Vim icon.
- *'go-m'*
- 'm' Menu bar is present.
- *'go-M'*
- 'M' The system menu "$VIMRUNTIME/menu.vim" is not sourced. Note
- that this flag must be added in the vimrc file, before
- switching on syntax or filetype recognition (when the |gvimrc|
- file is sourced the system menu has already been loaded; the
- `:syntax on` and `:filetype on` commands load the menu too).
- *'go-g'*
- 'g' Grey menu items: Make menu items that are not active grey. If
- 'g' is not included inactive menu items are not shown at all.
- *'go-T'*
- 'T' Include Toolbar. Currently only in Win32 GUI.
- *'go-r'*
- 'r' Right-hand scrollbar is always present.
- *'go-R'*
- 'R' Right-hand scrollbar is present when there is a vertically
- split window.
- *'go-l'*
- 'l' Left-hand scrollbar is always present.
- *'go-L'*
- 'L' Left-hand scrollbar is present when there is a vertically
- split window.
- *'go-b'*
- 'b' Bottom (horizontal) scrollbar is present. Its size depends on
- the longest visible line, or on the cursor line if the 'h'
- flag is included. |gui-horiz-scroll|
- *'go-h'*
- 'h' Limit horizontal scrollbar size to the length of the cursor
- line. Reduces computations. |gui-horiz-scroll|
-
- And yes, you may even have scrollbars on the left AND the right if
- you really want to :-). See |gui-scrollbars| for more information.
-
- *'go-v'*
- 'v' Use a vertical button layout for dialogs. When not included,
- a horizontal layout is preferred, but when it doesn't fit a
- vertical layout is used anyway. Not supported in GTK 3.
- *'go-p'*
- 'p' Use Pointer callbacks for X11 GUI. This is required for some
- window managers. If the cursor is not blinking or hollow at
- the right moment, try adding this flag. This must be done
- before starting the GUI. Set it in your |gvimrc|. Adding or
- removing it after the GUI has started has no effect.
- *'go-k'*
- 'k' Keep the GUI window size when adding/removing a scrollbar, or
- toolbar, tabline, etc. Instead, the behavior is similar to
- when the window is maximized and will adjust 'lines' and
- 'columns' to fit to the window. Without the 'k' flag Vim will
- try to keep 'lines' and 'columns' the same when adding and
- removing GUI components.
-
- *'guitablabel'* *'gtl'*
-'guitablabel' 'gtl' string (default "")
- global
- When non-empty describes the text to use in a label of the GUI tab
- pages line. When empty and when the result is empty Vim will use a
- default label. See |setting-guitablabel| for more info.
-
- The format of this option is like that of 'statusline'.
- 'guitabtooltip' is used for the tooltip, see below.
- The expression will be evaluated in the |sandbox| when set from a
- modeline, see |sandbox-option|.
- This option cannot be set in a modeline when 'modelineexpr' is off.
-
- Only used when the GUI tab pages line is displayed. 'e' must be
- present in 'guioptions'. For the non-GUI tab pages line 'tabline' is
- used.
-
- *'guitabtooltip'* *'gtt'*
-'guitabtooltip' 'gtt' string (default "")
- global
- When non-empty describes the text to use in a tooltip for the GUI tab
- pages line. When empty Vim will use a default tooltip.
- This option is otherwise just like 'guitablabel' above.
- You can include a line break. Simplest method is to use |:let|: >vim
- let &guitabtooltip = "line one\nline two"
-<
-
*'helpfile'* *'hf'*
'helpfile' 'hf' string (default (MS-Windows) "$VIMRUNTIME\doc\help.txt"
(others) "$VIMRUNTIME/doc/help.txt")
@@ -3347,23 +3207,6 @@ A jump table for the options with a short description can be found at |Q_op|.
Can be overruled by using "\c" or "\C" in the pattern, see
|/ignorecase|.
- *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
-'imcmdline' 'imc' boolean (default off)
- global
- When set the Input Method is always on when starting to edit a command
- line, unless entering a search pattern (see 'imsearch' for that).
- Setting this option is useful when your input method allows entering
- English characters directly, e.g., when it's used to type accented
- characters with dead keys.
-
- *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
-'imdisable' 'imd' boolean (default off, on for some systems (SGI))
- global
- When set the Input Method is never used. This is useful to disable
- the IM when it doesn't work properly.
- Currently this option is on by default for SGI/IRIX machines. This
- may change in later releases.
-
*'iminsert'* *'imi'*
'iminsert' 'imi' number (default 0)
local to buffer
@@ -4395,69 +4238,6 @@ A jump table for the options with a short description can be found at |Q_op|.
< Will make Nvim scroll 5 lines at a time when scrolling vertically, and
scroll 2 columns at a time when scrolling horizontally.
- *'mouseshape'* *'mouses'* *E547*
-'mouseshape' 'mouses' string (default "i:beam,r:beam,s:updown,sd:cross,
- m:no,ml:up-arrow,v:rightup-arrow")
- global
- This option tells Vim what the mouse pointer should look like in
- different modes. The option is a comma-separated list of parts, much
- like used for 'guicursor'. Each part consist of a mode/location-list
- and an argument-list:
- mode-list:shape,mode-list:shape,..
- The mode-list is a dash separated list of these modes/locations:
- In a normal window: ~
- n Normal mode
- v Visual mode
- ve Visual mode with 'selection' "exclusive" (same as 'v',
- if not specified)
- o Operator-pending mode
- i Insert mode
- r Replace mode
-
- Others: ~
- c appending to the command-line
- ci inserting in the command-line
- cr replacing in the command-line
- m at the 'Hit ENTER' or 'More' prompts
- ml idem, but cursor in the last line
- e any mode, pointer below last window
- s any mode, pointer on a status line
- sd any mode, while dragging a status line
- vs any mode, pointer on a vertical separator line
- vd any mode, while dragging a vertical separator line
- a everywhere
-
- The shape is one of the following:
- avail name looks like ~
- w x arrow Normal mouse pointer
- w x blank no pointer at all (use with care!)
- w x beam I-beam
- w x updown up-down sizing arrows
- w x leftright left-right sizing arrows
- w x busy The system's usual busy pointer
- w x no The system's usual "no input" pointer
- x udsizing indicates up-down resizing
- x lrsizing indicates left-right resizing
- x crosshair like a big thin +
- x hand1 black hand
- x hand2 white hand
- x pencil what you write with
- x question big ?
- x rightup-arrow arrow pointing right-up
- w x up-arrow arrow pointing up
- x <number> any X11 pointer number (see X11/cursorfont.h)
-
- The "avail" column contains a 'w' if the shape is available for Win32,
- x for X11.
- Any modes not specified or shapes not available use the normal mouse
- pointer.
-
- Example: >vim
- set mouseshape=s:udsizing,m:no
-< will make the mouse turn to a sizing arrow over the status lines and
- indicate no input when the hit-enter prompt is displayed (since
- clicking the mouse has no effect in this state.)
-
*'mousetime'* *'mouset'*
'mousetime' 'mouset' number (default 500)
global
@@ -4561,16 +4341,6 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
-'opendevice' 'odev' boolean (default off)
- global
- only for Windows
- Enable reading and writing from devices. This may get Vim stuck on a
- device that can be opened but doesn't actually do the I/O. Therefore
- it is off by default.
- Note that on Windows editing "aux.h", "lpt1.txt" and the like also
- result in editing a device.
-
*'operatorfunc'* *'opfunc'*
'operatorfunc' 'opfunc' string (default "")
global
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index c1b762a52f..3cb96226da 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -45,7 +45,7 @@ directory where the Vim stuff is located. For example, if your syntax files
are in the "/usr/vim/vim82/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim82". You must do this in the shell, before starting Vim.
This command also sources the |menu.vim| script when the GUI is running or
-will start soon. See |'go-M'| about avoiding that.
+will start soon.
*:hi-normal* *:highlight-normal*
If you are running in the GUI, you can get white text on a black background
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 78d0329b00..94c0578872 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -623,7 +623,12 @@ These legacy Vim features are not yet implemented:
- *:gui*
- *:gvim*
+- *'browsedir'* *'bsdir'*
- *'completepopup'*
+- *'guioptions'* *'go'*
+- *'guitablabel'* *'gtl'*
+- *'guitabtooltip'* *'gtt'*
+- *'mouseshape'* *'mouses'*
- *'previewpopup'*
==============================================================================
@@ -730,6 +735,8 @@ Options:
CMD-v (macOS), middle-click, …).
- *'imactivatefunc'* *'imaf'*
- *'imactivatekey'* *'imak'*
+- *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
+- *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
- *'imstatusfunc'* *'imsf'*
- *'insertmode'* *'im'* Use the following script to emulate 'insertmode': >vim
autocmd BufWinEnter * startinsert
@@ -767,6 +774,7 @@ Options:
6 composing chars only.
- *'maxmem'* Nvim delegates memory-management to the OS.
- *'maxmemtot'* Nvim delegates memory-management to the OS.
+- *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
- printoptions
- *'printdevice'*
- *'printencoding'*
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index cf70429ce5..00f7554832 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -575,19 +575,6 @@ vim.o.briopt = vim.o.breakindentopt
vim.wo.breakindentopt = vim.o.breakindentopt
vim.wo.briopt = vim.wo.breakindentopt
---- Which directory to use for the file browser:
---- last Use same directory as with last file browser, where a
---- file was opened or saved.
---- buffer Use the directory of the related buffer.
---- current Use the current directory.
---- {path} Use the specified directory
----
---- @type string
-vim.o.browsedir = ""
-vim.o.bsdir = vim.o.browsedir
-vim.go.browsedir = vim.o.browsedir
-vim.go.bsdir = vim.go.browsedir
-
--- This option specifies what happens when a buffer is no longer
--- displayed in a window:
--- <empty> follow the global 'hidden' option
@@ -2900,148 +2887,6 @@ vim.o.gfw = vim.o.guifontwide
vim.go.guifontwide = vim.o.guifontwide
vim.go.gfw = vim.go.guifontwide
---- This option only has an effect in the GUI version of Vim. It is a
---- sequence of letters which describes what components and options of the
---- GUI should be used.
---- To avoid problems with flags that are added in the future, use the
---- "+=" and "-=" feature of ":set" `add-option-flags`.
----
---- Valid letters are as follows:
---- *guioptions_a* *'go-a'*
---- 'a' Autoselect: If present, then whenever VISUAL mode is started,
---- or the Visual area extended, Vim tries to become the owner of
---- the windowing system's global selection. This means that the
---- Visually highlighted text is available for pasting into other
---- applications as well as into Vim itself. When the Visual mode
---- ends, possibly due to an operation on the text, or when an
---- application wants to paste the selection, the highlighted text
---- is automatically yanked into the "* selection register.
---- Thus the selection is still available for pasting into other
---- applications after the VISUAL mode has ended.
---- If not present, then Vim won't become the owner of the
---- windowing system's global selection unless explicitly told to
---- by a yank or delete operation for the "* register.
---- The same applies to the modeless selection.
---- *'go-P'*
---- 'P' Like autoselect but using the "+ register instead of the "*
---- register.
---- *'go-A'*
---- 'A' Autoselect for the modeless selection. Like 'a', but only
---- applies to the modeless selection.
----
---- 'guioptions' autoselect Visual autoselect modeless ~
---- "" - -
---- "a" yes yes
---- "A" - yes
---- "aA" yes yes
----
---- *'go-c'*
---- 'c' Use console dialogs instead of popup dialogs for simple
---- choices.
---- *'go-d'*
---- 'd' Use dark theme variant if available.
---- *'go-e'*
---- 'e' Add tab pages when indicated with 'showtabline'.
---- 'guitablabel' can be used to change the text in the labels.
---- When 'e' is missing a non-GUI tab pages line may be used.
---- The GUI tabs are only supported on some systems, currently
---- Mac OS/X and MS-Windows.
---- *'go-i'*
---- 'i' Use a Vim icon.
---- *'go-m'*
---- 'm' Menu bar is present.
---- *'go-M'*
---- 'M' The system menu "$VIMRUNTIME/menu.vim" is not sourced. Note
---- that this flag must be added in the vimrc file, before
---- switching on syntax or filetype recognition (when the `gvimrc`
---- file is sourced the system menu has already been loaded; the
---- `:syntax on` and `:filetype on` commands load the menu too).
---- *'go-g'*
---- 'g' Grey menu items: Make menu items that are not active grey. If
---- 'g' is not included inactive menu items are not shown at all.
---- *'go-T'*
---- 'T' Include Toolbar. Currently only in Win32 GUI.
---- *'go-r'*
---- 'r' Right-hand scrollbar is always present.
---- *'go-R'*
---- 'R' Right-hand scrollbar is present when there is a vertically
---- split window.
---- *'go-l'*
---- 'l' Left-hand scrollbar is always present.
---- *'go-L'*
---- 'L' Left-hand scrollbar is present when there is a vertically
---- split window.
---- *'go-b'*
---- 'b' Bottom (horizontal) scrollbar is present. Its size depends on
---- the longest visible line, or on the cursor line if the 'h'
---- flag is included. `gui-horiz-scroll`
---- *'go-h'*
---- 'h' Limit horizontal scrollbar size to the length of the cursor
---- line. Reduces computations. `gui-horiz-scroll`
----
---- And yes, you may even have scrollbars on the left AND the right if
---- you really want to :-). See `gui-scrollbars` for more information.
----
---- *'go-v'*
---- 'v' Use a vertical button layout for dialogs. When not included,
---- a horizontal layout is preferred, but when it doesn't fit a
---- vertical layout is used anyway. Not supported in GTK 3.
---- *'go-p'*
---- 'p' Use Pointer callbacks for X11 GUI. This is required for some
---- window managers. If the cursor is not blinking or hollow at
---- the right moment, try adding this flag. This must be done
---- before starting the GUI. Set it in your `gvimrc`. Adding or
---- removing it after the GUI has started has no effect.
---- *'go-k'*
---- 'k' Keep the GUI window size when adding/removing a scrollbar, or
---- toolbar, tabline, etc. Instead, the behavior is similar to
---- when the window is maximized and will adjust 'lines' and
---- 'columns' to fit to the window. Without the 'k' flag Vim will
---- try to keep 'lines' and 'columns' the same when adding and
---- removing GUI components.
----
---- @type string
-vim.o.guioptions = ""
-vim.o.go = vim.o.guioptions
-vim.go.guioptions = vim.o.guioptions
-vim.go.go = vim.go.guioptions
-
---- When non-empty describes the text to use in a label of the GUI tab
---- pages line. When empty and when the result is empty Vim will use a
---- default label. See `setting-guitablabel` for more info.
----
---- The format of this option is like that of 'statusline'.
---- 'guitabtooltip' is used for the tooltip, see below.
---- The expression will be evaluated in the `sandbox` when set from a
---- modeline, see `sandbox-option`.
---- This option cannot be set in a modeline when 'modelineexpr' is off.
----
---- Only used when the GUI tab pages line is displayed. 'e' must be
---- present in 'guioptions'. For the non-GUI tab pages line 'tabline' is
---- used.
----
---- @type string
-vim.o.guitablabel = ""
-vim.o.gtl = vim.o.guitablabel
-vim.go.guitablabel = vim.o.guitablabel
-vim.go.gtl = vim.go.guitablabel
-
---- When non-empty describes the text to use in a tooltip for the GUI tab
---- pages line. When empty Vim will use a default tooltip.
---- This option is otherwise just like 'guitablabel' above.
---- You can include a line break. Simplest method is to use `:let`:
----
---- ```vim
---- let &guitabtooltip = "line one\nline two"
---- ```
----
----
---- @type string
-vim.o.guitabtooltip = ""
-vim.o.gtt = vim.o.guitabtooltip
-vim.go.guitabtooltip = vim.o.guitabtooltip
-vim.go.gtt = vim.go.guitabtooltip
-
--- Name of the main help file. All distributed help files should be
--- placed together in one directory. Additionally, all "doc" directories
--- in 'runtimepath' will be used.
@@ -3184,29 +3029,6 @@ vim.o.ic = vim.o.ignorecase
vim.go.ignorecase = vim.o.ignorecase
vim.go.ic = vim.go.ignorecase
---- When set the Input Method is always on when starting to edit a command
---- line, unless entering a search pattern (see 'imsearch' for that).
---- Setting this option is useful when your input method allows entering
---- English characters directly, e.g., when it's used to type accented
---- characters with dead keys.
----
---- @type boolean
-vim.o.imcmdline = false
-vim.o.imc = vim.o.imcmdline
-vim.go.imcmdline = vim.o.imcmdline
-vim.go.imc = vim.go.imcmdline
-
---- When set the Input Method is never used. This is useful to disable
---- the IM when it doesn't work properly.
---- Currently this option is on by default for SGI/IRIX machines. This
---- may change in later releases.
----
---- @type boolean
-vim.o.imdisable = false
-vim.o.imd = vim.o.imdisable
-vim.go.imdisable = vim.o.imdisable
-vim.go.imd = vim.go.imdisable
-
--- Specifies whether :lmap or an Input Method (IM) is to be used in
--- Insert mode. Valid values:
--- 0 :lmap is off and IM is off
@@ -4491,74 +4313,6 @@ vim.go.mousemev = vim.go.mousemoveevent
vim.o.mousescroll = "ver:3,hor:6"
vim.go.mousescroll = vim.o.mousescroll
---- This option tells Vim what the mouse pointer should look like in
---- different modes. The option is a comma-separated list of parts, much
---- like used for 'guicursor'. Each part consist of a mode/location-list
---- and an argument-list:
---- mode-list:shape,mode-list:shape,..
---- The mode-list is a dash separated list of these modes/locations:
---- In a normal window: ~
---- n Normal mode
---- v Visual mode
---- ve Visual mode with 'selection' "exclusive" (same as 'v',
---- if not specified)
---- o Operator-pending mode
---- i Insert mode
---- r Replace mode
----
---- Others: ~
---- c appending to the command-line
---- ci inserting in the command-line
---- cr replacing in the command-line
---- m at the 'Hit ENTER' or 'More' prompts
---- ml idem, but cursor in the last line
---- e any mode, pointer below last window
---- s any mode, pointer on a status line
---- sd any mode, while dragging a status line
---- vs any mode, pointer on a vertical separator line
---- vd any mode, while dragging a vertical separator line
---- a everywhere
----
---- The shape is one of the following:
---- avail name looks like ~
---- w x arrow Normal mouse pointer
---- w x blank no pointer at all (use with care!)
---- w x beam I-beam
---- w x updown up-down sizing arrows
---- w x leftright left-right sizing arrows
---- w x busy The system's usual busy pointer
---- w x no The system's usual "no input" pointer
---- x udsizing indicates up-down resizing
---- x lrsizing indicates left-right resizing
---- x crosshair like a big thin +
---- x hand1 black hand
---- x hand2 white hand
---- x pencil what you write with
---- x question big ?
---- x rightup-arrow arrow pointing right-up
---- w x up-arrow arrow pointing up
---- x <number> any X11 pointer number (see X11/cursorfont.h)
----
---- The "avail" column contains a 'w' if the shape is available for Win32,
---- x for X11.
---- Any modes not specified or shapes not available use the normal mouse
---- pointer.
----
---- Example:
----
---- ```vim
---- set mouseshape=s:udsizing,m:no
---- ```
---- will make the mouse turn to a sizing arrow over the status lines and
---- indicate no input when the hit-enter prompt is displayed (since
---- clicking the mouse has no effect in this state.)
----
---- @type string
-vim.o.mouseshape = ""
-vim.o.mouses = vim.o.mouseshape
-vim.go.mouseshape = vim.o.mouseshape
-vim.go.mouses = vim.go.mouseshape
-
--- Defines the maximum time in msec between two mouse clicks for the
--- second click to be recognized as a multi click.
---
@@ -4678,19 +4432,6 @@ vim.o.ofu = vim.o.omnifunc
vim.bo.omnifunc = vim.o.omnifunc
vim.bo.ofu = vim.bo.omnifunc
---- only for Windows
---- Enable reading and writing from devices. This may get Vim stuck on a
---- device that can be opened but doesn't actually do the I/O. Therefore
---- it is off by default.
---- Note that on Windows editing "aux.h", "lpt1.txt" and the like also
---- result in editing a device.
----
---- @type boolean
-vim.o.opendevice = false
-vim.o.odev = vim.o.opendevice
-vim.go.opendevice = vim.o.opendevice
-vim.go.odev = vim.go.opendevice
-
--- This option specifies a function to be called by the `g@` operator.
--- See `:map-operator` for more info and an example. The value can be
--- the name of a function, a `lambda` or a `Funcref`. See
diff --git a/scripts/gen_eval_files.lua b/scripts/gen_eval_files.lua
index eb92e10401..2928361695 100755
--- a/scripts/gen_eval_files.lua
+++ b/scripts/gen_eval_files.lua
@@ -717,7 +717,7 @@ local function get_option_meta()
local optinfo = vim.api.nvim_get_all_options_info()
local ret = {} --- @type table<string,vim.option_meta>
for _, o in ipairs(opts) do
- if o.desc then
+ if not o.immutable and not o.hidden and o.enable_if ~= false and o.desc then
if o.full_name == 'cmdheight' then
table.insert(o.scope, 'tab')
end