aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta/options.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-08-04 21:26:53 +0100
committerGitHub <noreply@github.com>2023-08-04 21:26:53 +0100
commit6fa17da39b270bf230764859a9537124b18d3ed5 (patch)
tree5b92ade39c691fd1c36fcfd9fb9eef49d8cf5870 /runtime/lua/vim/_meta/options.lua
parentcc87dda31a5b5637ade7ddcfe5199f2df5fd47df (diff)
downloadrneovim-6fa17da39b270bf230764859a9537124b18d3ed5.tar.gz
rneovim-6fa17da39b270bf230764859a9537124b18d3ed5.tar.bz2
rneovim-6fa17da39b270bf230764859a9537124b18d3ed5.zip
docs(options): take ownership of options.txt (#24528)
* docs(options): take ownership of options.txt - `src/nvim/options.lua` is now the source of truth - generate runtime/lua/vim/_meta/options.lua * fixup! zeer comments * fixup! zeer comments (2) * fixup! re-enable luacheck * fixup! regen
Diffstat (limited to 'runtime/lua/vim/_meta/options.lua')
-rw-r--r--runtime/lua/vim/_meta/options.lua7908
1 files changed, 7908 insertions, 0 deletions
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
new file mode 100644
index 0000000000..94e26742e6
--- /dev/null
+++ b/runtime/lua/vim/_meta/options.lua
@@ -0,0 +1,7908 @@
+--- @meta
+-- THIS FILE IS GENERATED
+-- DO NOT EDIT
+error('Cannot require a meta file')
+
+---@class vim.bo
+---@field [integer] vim.bo
+vim.bo = vim.bo
+
+---@class vim.wo
+---@field [integer] vim.wo
+vim.wo = vim.wo
+
+--- Allow CTRL-_ in Insert and Command-line mode. This is default off, to
+--- avoid that users that accidentally type CTRL-_ instead of SHIFT-_ get
+--- into reverse Insert mode, and don't know how to get out. See
+--- 'revins'.
+---
+--- @type boolean
+vim.o.allowrevins = false
+vim.o.ari = vim.o.allowrevins
+vim.go.allowrevins = vim.o.allowrevins
+vim.go.ari = vim.go.allowrevins
+
+--- Tells Vim what to do with characters with East Asian Width Class
+--- Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
+--- letters, Cyrillic letters).
+---
+--- There are currently two possible values:
+--- "single": Use the same width as characters in US-ASCII. This is
+--- expected by most users.
+--- "double": Use twice the width of ASCII characters.
+--- *E834* *E835*
+--- The value "double" cannot be used if 'listchars' or 'fillchars'
+--- contains a character that would be double width. These errors may
+--- also be given when calling setcellwidths().
+---
+--- The values are overruled for characters specified with
+--- `setcellwidths()`.
+---
+--- There are a number of CJK fonts for which the width of glyphs for
+--- those characters are solely based on how many octets they take in
+--- legacy/traditional CJK encodings. In those encodings, Euro,
+--- Registered sign, Greek/Cyrillic letters are represented by two octets,
+--- therefore those fonts have "wide" glyphs for them. This is also
+--- true of some line drawing characters used to make tables in text
+--- file. Therefore, when a CJK font is used for GUI Vim or
+--- Vim is running inside a terminal (emulators) that uses a CJK font
+--- (or Vim is run inside an xterm invoked with "-cjkwidth" option.),
+--- this option should be set to "double" to match the width perceived
+--- by Vim with the width of glyphs in the font. Perhaps it also has
+--- to be set to "double" under CJK MS-Windows when the system locale is
+--- set to one of CJK locales. See Unicode Standard Annex #11
+--- (https://www.unicode.org/reports/tr11).
+---
+--- @type string
+vim.o.ambiwidth = "single"
+vim.o.ambw = vim.o.ambiwidth
+vim.go.ambiwidth = vim.o.ambiwidth
+vim.go.ambw = vim.go.ambiwidth
+
+--- This option can be set to start editing Arabic text.
+--- Setting this option will:
+--- - Set the 'rightleft' option, unless 'termbidi' is set.
+--- - Set the 'arabicshape' option, unless 'termbidi' is set.
+--- - Set the 'keymap' option to "arabic"; in Insert mode CTRL-^ toggles
+--- between typing English and Arabic key mapping.
+--- - Set the 'delcombine' option
+---
+--- Resetting this option will:
+--- - Reset the 'rightleft' option.
+--- - Disable the use of 'keymap' (without changing its value).
+--- Note that 'arabicshape' and 'delcombine' are not reset (it is a global
+--- option).
+--- Also see `arabic.txt`.
+---
+--- @type boolean
+vim.o.arabic = false
+vim.o.arab = vim.o.arabic
+vim.wo.arabic = vim.o.arabic
+vim.wo.arab = vim.wo.arabic
+
+--- When on and 'termbidi' is off, the required visual character
+--- corrections that need to take place for displaying the Arabic language
+--- take effect. Shaping, in essence, gets enabled; the term is a broad
+--- one which encompasses:
+--- a) the changing/morphing of characters based on their location
+--- within a word (initial, medial, final and stand-alone).
+--- b) the enabling of the ability to compose characters
+--- c) the enabling of the required combining of some characters
+--- When disabled the display shows each character's true stand-alone
+--- form.
+--- Arabic is a complex language which requires other settings, for
+--- further details see `arabic.txt`.
+---
+--- @type boolean
+vim.o.arabicshape = true
+vim.o.arshape = vim.o.arabicshape
+vim.go.arabicshape = vim.o.arabicshape
+vim.go.arshape = vim.go.arabicshape
+
+--- When on, Vim will change the current working directory whenever you
+--- open a file, switch buffers, delete a buffer or open/close a window.
+--- It will change to the directory containing the file which was opened
+--- or selected. When a buffer has no name it also has no directory, thus
+--- the current directory won't change when navigating to it.
+--- Note: When this option is on some plugins may not work.
+---
+--- @type boolean
+vim.o.autochdir = false
+vim.o.acd = vim.o.autochdir
+vim.go.autochdir = vim.o.autochdir
+vim.go.acd = vim.go.autochdir
+
+--- Copy indent from current line when starting a new line (typing <CR>
+--- in Insert mode or when using the "o" or "O" command). If you do not
+--- type anything on the new line except <BS> or CTRL-D and then type
+--- <Esc>, CTRL-O or <CR>, the indent is deleted again. Moving the cursor
+--- to another line has the same effect, unless the 'I' flag is included
+--- in 'cpoptions'.
+--- When autoindent is on, formatting (with the "gq" command or when you
+--- reach 'textwidth' in Insert mode) uses the indentation of the first
+--- line.
+--- When 'smartindent' or 'cindent' is on the indent is changed in
+--- a different way.
+---
+--- @type boolean
+vim.o.autoindent = true
+vim.o.ai = vim.o.autoindent
+vim.bo.autoindent = vim.o.autoindent
+vim.bo.ai = vim.bo.autoindent
+
+--- When a file has been detected to have been changed outside of Vim and
+--- it has not been changed inside of Vim, automatically read it again.
+--- When the file has been deleted this is not done, so you have the text
+--- from before it was deleted. When it appears again then it is read.
+--- `timestamp`
+--- If this option has a local value, use this command to switch back to
+--- using the global value:
+--- ```
+--- :set autoread<
+--- ```
+---
+--- @type boolean
+vim.o.autoread = true
+vim.o.ar = vim.o.autoread
+vim.bo.autoread = vim.o.autoread
+vim.bo.ar = vim.bo.autoread
+vim.go.autoread = vim.o.autoread
+vim.go.ar = vim.go.autoread
+
+--- Write the contents of the file, if it has been modified, on each
+--- `:next`, `:rewind`, `:last`, `:first`, `:previous`, `:stop`,
+--- `:suspend`, `:tag`, `:!`, `:make`, CTRL-] and CTRL-^ command; and when
+--- a `:buffer`, CTRL-O, CTRL-I, '{A-Z0-9}, or `{A-Z0-9} command takes one
+--- to another file.
+--- A buffer is not written if it becomes hidden, e.g. when 'bufhidden' is
+--- set to "hide" and `:next` is used.
+--- Note that for some commands the 'autowrite' option is not used, see
+--- 'autowriteall' for that.
+--- Some buffers will not be written, specifically when 'buftype' is
+--- "nowrite", "nofile", "terminal" or "prompt".
+--- USE WITH CARE: If you make temporary changes to a buffer that you
+--- don't want to be saved this option may cause it to be saved anyway.
+--- Renaming the buffer with ":file {name}" may help avoid this.
+---
+--- @type boolean
+vim.o.autowrite = false
+vim.o.aw = vim.o.autowrite
+vim.go.autowrite = vim.o.autowrite
+vim.go.aw = vim.go.autowrite
+
+--- Like 'autowrite', but also used for commands ":edit", ":enew", ":quit",
+--- ":qall", ":exit", ":xit", ":recover" and closing the Vim window.
+--- Setting this option also implies that Vim behaves like 'autowrite' has
+--- been set.
+---
+--- @type boolean
+vim.o.autowriteall = false
+vim.o.awa = vim.o.autowriteall
+vim.go.autowriteall = vim.o.autowriteall
+vim.go.awa = vim.go.autowriteall
+
+--- When set to "dark" or "light", adjusts the default color groups for
+--- that background type. The `TUI` or other UI sets this on startup
+--- (triggering `OptionSet`) if it can detect the background color.
+---
+--- This option does NOT change the background color, it tells Nvim what
+--- the "inherited" (terminal/GUI) background looks like.
+--- See `:hi-normal` if you want to set the background color explicitly.
+--- *g:colors_name*
+--- When a color scheme is loaded (the "g:colors_name" variable is set)
+--- setting 'background' will cause the color scheme to be reloaded. If
+--- the color scheme adjusts to the value of 'background' this will work.
+--- However, if the color scheme sets 'background' itself the effect may
+--- be undone. First delete the "g:colors_name" variable when needed.
+---
+--- Normally this option would be set in the vimrc file. Possibly
+--- depending on the terminal name. Example:
+--- ```
+--- :if $TERM ==# "xterm"
+--- : set background=dark
+--- :endif
+--- ```
+--- When this option is set, the default settings for the highlight groups
+--- will change. To use other settings, place ":highlight" commands AFTER
+--- the setting of the 'background' option.
+--- This option is also used in the "$VIMRUNTIME/syntax/syntax.vim" file
+--- to select the colors for syntax highlighting. After changing this
+--- option, you must load syntax.vim again to see the result. This can be
+--- done with ":syntax on".
+---
+--- @type string
+vim.o.background = "dark"
+vim.o.bg = vim.o.background
+vim.go.background = vim.o.background
+vim.go.bg = vim.go.background
+
+--- Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
+--- mode. This is a list of items, separated by commas. Each item allows
+--- a way to backspace over something:
+--- value effect ~
+--- indent allow backspacing over autoindent
+--- eol allow backspacing over line breaks (join lines)
+--- start allow backspacing over the start of insert; CTRL-W and CTRL-U
+--- stop once at the start of insert.
+--- nostop like start, except CTRL-W and CTRL-U do not stop at the start of
+--- insert.
+---
+--- When the value is empty, Vi compatible backspacing is used, none of
+--- the ways mentioned for the items above are possible.
+---
+--- @type string
+vim.o.backspace = "indent,eol,start"
+vim.o.bs = vim.o.backspace
+vim.go.backspace = vim.o.backspace
+vim.go.bs = vim.go.backspace
+
+--- Make a backup before overwriting a file. Leave it around after the
+--- file has been successfully written. If you do not want to keep the
+--- backup file, but you do want a backup while the file is being
+--- written, reset this option and set the 'writebackup' option (this is
+--- the default). If you do not want a backup file at all reset both
+--- options (use this if your file system is almost full). See the
+--- `backup-table` for more explanations.
+--- When the 'backupskip' pattern matches, a backup is not made anyway.
+--- When 'patchmode' is set, the backup may be renamed to become the
+--- oldest version of a file.
+---
+--- @type boolean
+vim.o.backup = false
+vim.o.bk = vim.o.backup
+vim.go.backup = vim.o.backup
+vim.go.bk = vim.go.backup
+
+--- When writing a file and a backup is made, this option tells how it's
+--- done. This is a comma-separated list of words.
+---
+--- The main values are:
+--- "yes" make a copy of the file and overwrite the original one
+--- "no" rename the file and write a new one
+--- "auto" one of the previous, what works best
+---
+--- Extra values that can be combined with the ones above are:
+--- "breaksymlink" always break symlinks when writing
+--- "breakhardlink" always break hardlinks when writing
+---
+--- Making a copy and overwriting the original file:
+--- - Takes extra time to copy the file.
+--- + When the file has special attributes, is a (hard/symbolic) link or
+--- has a resource fork, all this is preserved.
+--- - When the file is a link the backup will have the name of the link,
+--- not of the real file.
+---
+--- Renaming the file and writing a new one:
+--- + It's fast.
+--- - Sometimes not all attributes of the file can be copied to the new
+--- file.
+--- - When the file is a link the new file will not be a link.
+---
+--- The "auto" value is the middle way: When Vim sees that renaming the
+--- file is possible without side effects (the attributes can be passed on
+--- and the file is not a link) that is used. When problems are expected,
+--- a copy will be made.
+---
+--- The "breaksymlink" and "breakhardlink" values can be used in
+--- combination with any of "yes", "no" and "auto". When included, they
+--- force Vim to always break either symbolic or hard links by doing
+--- exactly what the "no" option does, renaming the original file to
+--- become the backup and writing a new file in its place. This can be
+--- useful for example in source trees where all the files are symbolic or
+--- hard links and any changes should stay in the local source tree, not
+--- be propagated back to the original source.
+--- *crontab*
+--- One situation where "no" and "auto" will cause problems: A program
+--- that opens a file, invokes Vim to edit that file, and then tests if
+--- the open file was changed (through the file descriptor) will check the
+--- backup file instead of the newly created file. "crontab -e" is an
+--- example.
+---
+--- When a copy is made, the original file is truncated and then filled
+--- with the new text. This means that protection bits, owner and
+--- symbolic links of the original file are unmodified. The backup file,
+--- however, is a new file, owned by the user who edited the file. The
+--- group of the backup is set to the group of the original file. If this
+--- fails, the protection bits for the group are made the same as for
+--- others.
+---
+--- When the file is renamed, this is the other way around: The backup has
+--- the same attributes of the original file, and the newly written file
+--- is owned by the current user. When the file was a (hard/symbolic)
+--- link, the new file will not! That's why the "auto" value doesn't
+--- rename when the file is a link. The owner and group of the newly
+--- written file will be set to the same ones as the original file, but
+--- the system may refuse to do this. In that case the "auto" value will
+--- again not rename the file.
+---
+--- @type string
+vim.o.backupcopy = "auto"
+vim.o.bkc = vim.o.backupcopy
+vim.bo.backupcopy = vim.o.backupcopy
+vim.bo.bkc = vim.bo.backupcopy
+vim.go.backupcopy = vim.o.backupcopy
+vim.go.bkc = vim.go.backupcopy
+
+--- List of directories for the backup file, separated with commas.
+--- - The backup file will be created in the first directory in the list
+--- where this is possible. If none of the directories exist Nvim will
+--- attempt to create the last directory in the list.
+--- - Empty means that no backup file will be created ('patchmode' is
+--- impossible!). Writing may fail because of this.
+--- - A directory "." means to put the backup file in the same directory
+--- as the edited file.
+--- - A directory starting with "./" (or ".\" for MS-Windows) means to put
+--- the backup file relative to where the edited file is. The leading
+--- "." is replaced with the path name of the edited file.
+--- ("." inside a directory name has no special meaning).
+--- - Spaces after the comma are ignored, other spaces are considered part
+--- of the directory name. To have a space at the start of a directory
+--- name, precede it with a backslash.
+--- - To include a comma in a directory name precede it with a backslash.
+--- - A directory name may end in an '/'.
+--- - For Unix and Win32, if a directory ends in two path separators "//",
+--- the swap file name will be built from the complete path to the file
+--- with all path separators changed to percent '%' signs. This will
+--- ensure file name uniqueness in the backup directory.
+--- On Win32, it is also possible to end with "\\". However, When a
+--- separating comma is following, you must use "//", since "\\" will
+--- include the comma in the file name. Therefore it is recommended to
+--- use '//', instead of '\\'.
+--- - Environment variables are expanded `:set_env`.
+--- - Careful with '\' characters, type one before a space, type two to
+--- get one in the option (see `option-backslash`), for example:
+--- ```
+--- :set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
+--- ```
+--- See also 'backup' and 'writebackup' options.
+--- If you want to hide your backup files on Unix, consider this value:
+--- ```
+--- :set backupdir=./.backup,~/.backup,.,/tmp
+--- ```
+--- You must create a ".backup" directory in each directory and in your
+--- home directory for this to work properly.
+--- The use of `:set+=` and `:set-=` is preferred when adding or removing
+--- directories from the list. This avoids problems when a future version
+--- uses another default.
+--- This option cannot be set from a `modeline` or in the `sandbox`, for
+--- security reasons.
+---
+--- @type string
+vim.o.backupdir = ".,$XDG_STATE_HOME/nvim/backup//"
+vim.o.bdir = vim.o.backupdir
+vim.go.backupdir = vim.o.backupdir
+vim.go.bdir = vim.go.backupdir
+
+--- String which is appended to a file name to make the name of the
+--- backup file. The default is quite unusual, because this avoids
+--- accidentally overwriting existing files with a backup file. You might
+--- prefer using ".bak", but make sure that you don't have files with
+--- ".bak" that you want to keep.
+--- Only normal file name characters can be used; `/\*?[|<>` are illegal.
+---
+--- If you like to keep a lot of backups, you could use a BufWritePre
+--- autocommand to change 'backupext' just before writing the file to
+--- include a timestamp.
+--- ```
+--- :au BufWritePre * let &bex = '-' .. strftime("%Y%b%d%X") .. '~'
+--- ```
+--- Use 'backupdir' to put the backup in a different directory.
+---
+--- @type string
+vim.o.backupext = "~"
+vim.o.bex = vim.o.backupext
+vim.go.backupext = vim.o.backupext
+vim.go.bex = vim.go.backupext
+
+--- A list of file patterns. When one of the patterns matches with the
+--- name of the file which is written, no backup file is created. Both
+--- the specified file name and the full path name of the file are used.
+--- The pattern is used like with `:autocmd`, see `autocmd-pattern`.
+--- Watch out for special characters, see `option-backslash`.
+--- When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
+--- default value. "/tmp/*" is only used for Unix.
+---
+--- WARNING: Not having a backup file means that when Vim fails to write
+--- your buffer correctly and then, for whatever reason, Vim exits, you
+--- lose both the original file and what you were writing. Only disable
+--- backups if you don't care about losing the file.
+---
+--- Note that environment variables are not expanded. If you want to use
+--- $HOME you must expand it explicitly, e.g.:
+--- ```
+--- :let &backupskip = escape(expand('$HOME'), '\') .. '/tmp/*'
+---
+--- ```
+--- Note that the default also makes sure that "crontab -e" works (when a
+--- backup would be made by renaming the original file crontab won't see
+--- the newly created file). Also see 'backupcopy' and `crontab`.
+---
+--- @type string
+vim.o.backupskip = "/tmp/*"
+vim.o.bsk = vim.o.backupskip
+vim.go.backupskip = vim.o.backupskip
+vim.go.bsk = vim.go.backupskip
+
+--- Specifies for which events the bell will not be rung. It is a comma-
+--- separated list of items. For each item that is present, the bell
+--- will be silenced. This is most useful to specify specific events in
+--- insert mode to be silenced.
+---
+--- item meaning when present ~
+--- all All events.
+--- backspace When hitting <BS> or <Del> and deleting results in an
+--- error.
+--- cursor Fail to move around using the cursor keys or
+--- <PageUp>/<PageDown> in `Insert-mode`.
+--- complete Error occurred when using `i_CTRL-X_CTRL-K` or
+--- `i_CTRL-X_CTRL-T`.
+--- copy Cannot copy char from insert mode using `i_CTRL-Y` or
+--- `i_CTRL-E`.
+--- ctrlg Unknown Char after <C-G> in Insert mode.
+--- error Other Error occurred (e.g. try to join last line)
+--- (mostly used in `Normal-mode` or `Cmdline-mode`).
+--- esc hitting <Esc> in `Normal-mode`.
+--- hangul Ignored.
+--- lang Calling the beep module for Lua/Mzscheme/TCL.
+--- mess No output available for `g<`.
+--- showmatch Error occurred for 'showmatch' function.
+--- operator Empty region error `cpo-E`.
+--- register Unknown register after <C-R> in `Insert-mode`.
+--- shell Bell from shell output `:!`.
+--- spell Error happened on spell suggest.
+--- wildmode More matches in `cmdline-completion` available
+--- (depends on the 'wildmode' setting).
+---
+--- This is most useful to fine tune when in Insert mode the bell should
+--- be rung. For Normal mode and Ex commands, the bell is often rung to
+--- indicate that an error occurred. It can be silenced by adding the
+--- "error" keyword.
+---
+--- @type string
+vim.o.belloff = "all"
+vim.o.bo = vim.o.belloff
+vim.go.belloff = vim.o.belloff
+vim.go.bo = vim.go.belloff
+
+--- This option should be set before editing a binary file. You can also
+--- use the `-b` Vim argument. When this option is switched on a few
+--- options will be changed (also when it already was on):
+--- 'textwidth' will be set to 0
+--- 'wrapmargin' will be set to 0
+--- 'modeline' will be off
+--- 'expandtab' will be off
+--- Also, 'fileformat' and 'fileformats' options will not be used, the
+--- file is read and written like 'fileformat' was "unix" (a single <NL>
+--- separates lines).
+--- The 'fileencoding' and 'fileencodings' options will not be used, the
+--- file is read without conversion.
+--- NOTE: When you start editing a(nother) file while the 'bin' option is
+--- on, settings from autocommands may change the settings again (e.g.,
+--- 'textwidth'), causing trouble when editing. You might want to set
+--- 'bin' again when the file has been loaded.
+--- The previous values of these options are remembered and restored when
+--- 'bin' is switched from on to off. Each buffer has its own set of
+--- saved option values.
+--- To edit a file with 'binary' set you can use the `++bin` argument.
+--- This avoids you have to do ":set bin", which would have effect for all
+--- files you edit.
+--- When writing a file the <EOL> for the last line is only written if
+--- there was one in the original file (normally Vim appends an <EOL> to
+--- the last line if there is none; this would make the file longer). See
+--- the 'endofline' option.
+---
+--- @type boolean
+vim.o.binary = false
+vim.o.bin = vim.o.binary
+vim.bo.binary = vim.o.binary
+vim.bo.bin = vim.bo.binary
+
+--- When writing a file and the following conditions are met, a BOM (Byte
+--- Order Mark) is prepended to the file:
+--- - this option is on
+--- - the 'binary' option is off
+--- - 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
+--- endian variants.
+--- Some applications use the BOM to recognize the encoding of the file.
+--- Often used for UCS-2 files on MS-Windows. For other applications it
+--- causes trouble, for example: "cat file1 file2" makes the BOM of file2
+--- appear halfway through the resulting file. Gcc doesn't accept a BOM.
+--- When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
+--- check for the presence of the BOM is done and 'bomb' set accordingly.
+--- Unless 'binary' is set, it is removed from the first line, so that you
+--- don't see it when editing. When you don't change the options, the BOM
+--- will be restored when writing the file.
+---
+--- @type boolean
+vim.o.bomb = false
+vim.bo.bomb = vim.o.bomb
+
+--- This option lets you choose which characters might cause a line
+--- break if 'linebreak' is on. Only works for ASCII characters.
+---
+--- @type string
+vim.o.breakat = " \t!@*-+;:,./?"
+vim.o.brk = vim.o.breakat
+vim.go.breakat = vim.o.breakat
+vim.go.brk = vim.go.breakat
+
+--- Every wrapped line will continue visually indented (same amount of
+--- space as the beginning of that line), thus preserving horizontal blocks
+--- of text.
+---
+--- @type boolean
+vim.o.breakindent = false
+vim.o.bri = vim.o.breakindent
+vim.wo.breakindent = vim.o.breakindent
+vim.wo.bri = vim.wo.breakindent
+
+--- Settings for 'breakindent'. It can consist of the following optional
+--- items and must be separated by a comma:
+--- min:{n} Minimum text width that will be kept after
+--- applying 'breakindent', even if the resulting
+--- text should normally be narrower. This prevents
+--- text indented almost to the right window border
+--- occupying lot of vertical space when broken.
+--- (default: 20)
+--- shift:{n} After applying 'breakindent', the wrapped line's
+--- beginning will be shifted by the given number of
+--- characters. It permits dynamic French paragraph
+--- indentation (negative) or emphasizing the line
+--- continuation (positive).
+--- (default: 0)
+--- sbr Display the 'showbreak' value before applying the
+--- additional indent.
+--- (default: off)
+--- list:{n} Adds an additional indent for lines that match a
+--- numbered or bulleted list (using the
+--- 'formatlistpat' setting).
+--- list:-1 Uses the length of a match with 'formatlistpat'
+--- for indentation.
+--- (default: 0)
+--- column:{n} Indent at column {n}. Will overrule the other
+--- sub-options. Note: an additional indent may be
+--- added for the 'showbreak' setting.
+--- (default: off)
+---
+--- @type string
+vim.o.breakindentopt = ""
+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
+--- hide hide the buffer (don't unload it), even if 'hidden' is
+--- not set
+--- unload unload the buffer, even if 'hidden' is set; the
+--- `:hide` command will also unload the buffer
+--- delete delete the buffer from the buffer list, even if
+--- 'hidden' is set; the `:hide` command will also delete
+--- the buffer, making it behave like `:bdelete`
+--- wipe wipe the buffer from the buffer list, even if
+--- 'hidden' is set; the `:hide` command will also wipe
+--- out the buffer, making it behave like `:bwipeout`
+---
+--- CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
+--- are lost without a warning. Also, these values may break autocommands
+--- that switch between buffers temporarily.
+--- This option is used together with 'buftype' and 'swapfile' to specify
+--- special kinds of buffers. See `special-buffers`.
+---
+--- @type string
+vim.o.bufhidden = ""
+vim.o.bh = vim.o.bufhidden
+vim.bo.bufhidden = vim.o.bufhidden
+vim.bo.bh = vim.bo.bufhidden
+
+--- When this option is set, the buffer shows up in the buffer list. If
+--- it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
+--- This option is reset by Vim for buffers that are only used to remember
+--- a file name or marks. Vim sets it when starting to edit a buffer.
+--- But not when moving to a buffer with ":buffer".
+---
+--- @type boolean
+vim.o.buflisted = true
+vim.o.bl = vim.o.buflisted
+vim.bo.buflisted = vim.o.buflisted
+vim.bo.bl = vim.bo.buflisted
+
+--- The value of this option specifies the type of a buffer:
+--- <empty> normal buffer
+--- acwrite buffer will always be written with `BufWriteCmd`s
+--- help help buffer (do not set this manually)
+--- nofile buffer is not related to a file, will not be written
+--- nowrite buffer will not be written
+--- quickfix list of errors `:cwindow` or locations `:lwindow`
+--- terminal `terminal-emulator` buffer
+--- prompt buffer where only the last line can be edited, meant
+--- to be used by a plugin, see `prompt-buffer`
+---
+--- This option is used together with 'bufhidden' and 'swapfile' to
+--- specify special kinds of buffers. See `special-buffers`.
+--- Also see `win_gettype()`, which returns the type of the window.
+---
+--- Be careful with changing this option, it can have many side effects!
+--- One such effect is that Vim will not check the timestamp of the file,
+--- if the file is changed by another program this will not be noticed.
+---
+--- A "quickfix" buffer is only used for the error list and the location
+--- list. This value is set by the `:cwindow` and `:lwindow` commands and
+--- you are not supposed to change it.
+---
+--- "nofile" and "nowrite" buffers are similar:
+--- both: The buffer is not to be written to disk, ":w" doesn't
+--- work (":w filename" does work though).
+--- both: The buffer is never considered to be `'modified'`.
+--- There is no warning when the changes will be lost, for
+--- example when you quit Vim.
+--- both: A swap file is only created when using too much memory
+--- (when 'swapfile' has been reset there is never a swap
+--- file).
+--- nofile only: The buffer name is fixed, it is not handled like a
+--- file name. It is not modified in response to a `:cd`
+--- command.
+--- both: When using ":e bufname" and already editing "bufname"
+--- the buffer is made empty and autocommands are
+--- triggered as usual for `:edit`.
+--- *E676*
+--- "acwrite" implies that the buffer name is not related to a file, like
+--- "nofile", but it will be written. Thus, in contrast to "nofile" and
+--- "nowrite", ":w" does work and a modified buffer can't be abandoned
+--- without saving. For writing there must be matching `BufWriteCmd|,
+--- |FileWriteCmd` or `FileAppendCmd` autocommands.
+---
+--- @type string
+vim.o.buftype = ""
+vim.o.bt = vim.o.buftype
+vim.bo.buftype = vim.o.buftype
+vim.bo.bt = vim.bo.buftype
+
+--- Specifies details about changing the case of letters. It may contain
+--- these words, separated by a comma:
+--- internal Use internal case mapping functions, the current
+--- locale does not change the case mapping. When
+--- "internal" is omitted, the towupper() and towlower()
+--- system library functions are used when available.
+--- keepascii For the ASCII characters (0x00 to 0x7f) use the US
+--- case mapping, the current locale is not effective.
+--- This probably only matters for Turkish.
+---
+--- @type string
+vim.o.casemap = "internal,keepascii"
+vim.o.cmp = vim.o.casemap
+vim.go.casemap = vim.o.casemap
+vim.go.cmp = vim.go.casemap
+
+--- When on, `:cd`, `:tcd` and `:lcd` without an argument changes the
+--- current working directory to the `$HOME` directory like in Unix.
+--- When off, those commands just print the current directory name.
+--- On Unix this option has no effect.
+---
+--- @type boolean
+vim.o.cdhome = false
+vim.o.cdh = vim.o.cdhome
+vim.go.cdhome = vim.o.cdhome
+vim.go.cdh = vim.go.cdhome
+
+--- This is a list of directories which will be searched when using the
+--- `:cd`, `:tcd` and `:lcd` commands, provided that the directory being
+--- searched for has a relative path, not an absolute part starting with
+--- "/", "./" or "../", the 'cdpath' option is not used then.
+--- The 'cdpath' option's value has the same form and semantics as
+--- `'path'`. Also see `file-searching`.
+--- The default value is taken from $CDPATH, with a "," prepended to look
+--- in the current directory first.
+--- If the default value taken from $CDPATH is not what you want, include
+--- a modified version of the following command in your vimrc file to
+--- override it:
+--- ```
+--- :let &cdpath = ',' .. substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')
+--- ```
+--- This option cannot be set from a `modeline` or in the `sandbox`, for
+--- security reasons.
+--- (parts of 'cdpath' can be passed to the shell to expand file names).
+---
+--- @type string
+vim.o.cdpath = ",,"
+vim.o.cd = vim.o.cdpath
+vim.go.cdpath = vim.o.cdpath
+vim.go.cd = vim.go.cdpath
+
+--- The key used in Command-line Mode to open the command-line window.
+--- Only non-printable keys are allowed.
+--- The key can be specified as a single character, but it is difficult to
+--- type. The preferred way is to use the <> notation. Examples:
+--- ```
+--- :exe "set cedit=\\<C-Y>"
+--- :exe "set cedit=\\<Esc>"
+--- ```
+--- `Nvi` also has this option, but it only uses the first character.
+--- See `cmdwin`.
+---
+--- @type string
+vim.o.cedit = "\6"
+vim.go.cedit = vim.o.cedit
+
+--- `channel` connected to the buffer, or 0 if no channel is connected.
+--- In a `:terminal` buffer this is the terminal channel.
+--- Read-only.
+---
+--- @type integer
+vim.o.channel = 0
+vim.bo.channel = vim.o.channel
+
+--- An expression that is used for character encoding conversion. It is
+--- evaluated when a file that is to be read or has been written has a
+--- different encoding from what is desired.
+--- 'charconvert' is not used when the internal iconv() function is
+--- supported and is able to do the conversion. Using iconv() is
+--- preferred, because it is much faster.
+--- 'charconvert' is not used when reading stdin `--`, because there is no
+--- file to convert from. You will have to save the text in a file first.
+--- The expression must return zero, false or an empty string for success,
+--- non-zero or true for failure.
+--- See `encoding-names` for possible encoding names.
+--- Additionally, names given in 'fileencodings' and 'fileencoding' are
+--- used.
+--- Conversion between "latin1", "unicode", "ucs-2", "ucs-4" and "utf-8"
+--- is done internally by Vim, 'charconvert' is not used for this.
+--- Also used for Unicode conversion.
+--- Example:
+--- ```
+--- set charconvert=CharConvert()
+--- fun CharConvert()
+--- system("recode "
+--- \ .. v:charconvert_from .. ".." .. v:charconvert_to
+--- \ .. " <" .. v:fname_in .. " >" .. v:fname_out)
+--- return v:shell_error
+--- endfun
+--- ```
+--- The related Vim variables are:
+--- v:charconvert_from name of the current encoding
+--- v:charconvert_to name of the desired encoding
+--- v:fname_in name of the input file
+--- v:fname_out name of the output file
+--- Note that v:fname_in and v:fname_out will never be the same.
+--- This option cannot be set from a `modeline` or in the `sandbox`, for
+--- security reasons.
+---
+--- @type string
+vim.o.charconvert = ""
+vim.o.ccv = vim.o.charconvert
+vim.go.charconvert = vim.o.charconvert
+vim.go.ccv = vim.go.charconvert
+
+--- Enables automatic C program indenting. See 'cinkeys' to set the keys
+--- that trigger reindenting in insert mode and 'cinoptions' to set your
+--- preferred indent style.
+--- If 'indentexpr' is not empty, it overrules 'cindent'.
+--- If 'lisp' is not on and both 'indentexpr' and 'equalprg' are empty,
+--- the "=" operator indents using this algorithm rather than calling an
+--- external program.
+--- See `C-indenting`.
+--- When you don't like the way 'cindent' works, try the 'smartindent'
+--- option or 'indentexpr'.
+---
+--- @type boolean
+vim.o.cindent = false
+vim.o.cin = vim.o.cindent
+vim.bo.cindent = vim.o.cindent
+vim.bo.cin = vim.bo.cindent
+
+--- A list of keys that, when typed in Insert mode, cause reindenting of
+--- the current line. Only used if 'cindent' is on and 'indentexpr' is
+--- empty.
+--- For the format of this option see `cinkeys-format`.
+--- See `C-indenting`.
+---
+--- @type string
+vim.o.cinkeys = "0{,0},0),0],:,0#,!^F,o,O,e"
+vim.o.cink = vim.o.cinkeys
+vim.bo.cinkeys = vim.o.cinkeys
+vim.bo.cink = vim.bo.cinkeys
+
+--- The 'cinoptions' affect the way 'cindent' reindents lines in a C
+--- program. See `cinoptions-values` for the values of this option, and
+--- `C-indenting` for info on C indenting in general.
+---
+--- @type string
+vim.o.cinoptions = ""
+vim.o.cino = vim.o.cinoptions
+vim.bo.cinoptions = vim.o.cinoptions
+vim.bo.cino = vim.bo.cinoptions
+
+--- Keywords that are interpreted as a C++ scope declaration by `cino-g`.
+--- Useful e.g. for working with the Qt framework that defines additional
+--- scope declarations "signals", "public slots" and "private slots":
+--- ```
+--- set cinscopedecls+=signals,public\ slots,private\ slots
+--- ```
+---
+--- @type string
+vim.o.cinscopedecls = "public,protected,private"
+vim.o.cinsd = vim.o.cinscopedecls
+vim.bo.cinscopedecls = vim.o.cinscopedecls
+vim.bo.cinsd = vim.bo.cinscopedecls
+
+--- These keywords start an extra indent in the next line when
+--- 'smartindent' or 'cindent' is set. For 'cindent' this is only done at
+--- an appropriate place (inside {}).
+--- Note that 'ignorecase' isn't used for 'cinwords'. If case doesn't
+--- matter, include the keyword both the uppercase and lowercase:
+--- "if,If,IF".
+---
+--- @type string
+vim.o.cinwords = "if,else,while,do,for,switch"
+vim.o.cinw = vim.o.cinwords
+vim.bo.cinwords = vim.o.cinwords
+vim.bo.cinw = vim.bo.cinwords
+
+--- This option is a list of comma-separated names.
+--- These names are recognized:
+---
+--- *clipboard-unnamed*
+--- unnamed When included, Vim will use the clipboard register "*"
+--- for all yank, delete, change and put operations which
+--- would normally go to the unnamed register. When a
+--- register is explicitly specified, it will always be
+--- used regardless of whether