diff options
author | Famiu Haque <famiuhaque@proton.me> | 2024-11-17 02:56:16 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-16 12:56:16 -0800 |
commit | 29ded889579a9d590e8ea885a9a402ff4bae87be (patch) | |
tree | 476bc3746cfac48f141e5ab0aaf562480502fad2 /src/nvim/options.lua | |
parent | be8648f345aed5e403251990721918c8302be760 (diff) | |
download | rneovim-29ded889579a9d590e8ea885a9a402ff4bae87be.tar.gz rneovim-29ded889579a9d590e8ea885a9a402ff4bae87be.tar.bz2 rneovim-29ded889579a9d590e8ea885a9a402ff4bae87be.zip |
refactor(options): remove `.indir`, redesign option scopes #31066
Problem:
The way option scopes currently work is inflexible and does not allow for nested
option scopes or easily finding the value of an option at any arbitrary scope
without having to do long handwritten switch-case statements like in
`get_varp()`. `.indir` is also confusing and redundant since option indices for
each scope can be autogenerated.
Solution:
Expand option scopes in such a way that an option can support any amount of
scopes using a set of scope flags, similarly to how it's already done for option
types. Also make options contain information about its index at each scope it
supports. This allows for massively simplifying `get_varp()` and
`get_varp_scope()` in the future by just using a struct for options at each
scope. This would be done by creating a table that stores the offset of an
option's variable at a scope by using the option's index at that scope as a key.
This PR also autogenerates enums for option indices at each scope to remove the
need for `.indir` entirely, and also to allow easily iterating over options all
options that support any scope.
Ref: #29314
Diffstat (limited to 'src/nvim/options.lua')
-rw-r--r-- | src/nvim/options.lua | 287 |
1 files changed, 139 insertions, 148 deletions
diff --git a/src/nvim/options.lua b/src/nvim/options.lua index 6fab0621f9..baacb2b858 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -7,7 +7,6 @@ --- @field alias? string|string[] --- @field short_desc? string|fun(): string --- @field varname? string ---- @field pv_name? string --- @field type vim.option_type|vim.option_type[] --- @field immutable? boolean --- @field list? 'comma'|'onecomma'|'commacolon'|'onecommacolon'|'flags'|'flagscomma' @@ -41,7 +40,7 @@ --- @field doc? string Default to show in options.txt --- @field meta? integer|boolean|string Default to use in Lua meta files ---- @alias vim.option_scope 'global'|'buffer'|'window' +--- @alias vim.option_scope 'global'|'buf'|'win' --- @alias vim.option_type 'boolean'|'number'|'string' --- @alias vim.option_value boolean|number|string @@ -81,6 +80,8 @@ end -- luacheck: ignore 621 return { cstr = cstr, + --- @type string[] + valid_scopes = { 'global', 'buf', 'win' }, --- @type vim.option_meta[] --- The order of the options MUST be alphabetic for ":set all". options = { @@ -173,7 +174,7 @@ return { ]=], full_name = 'arabic', redraw = { 'curswant' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('Arabic as a default second language'), type = 'boolean', }, @@ -236,7 +237,7 @@ return { a different way. ]=], full_name = 'autoindent', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('take indent for new line from previous line'), type = 'boolean', varname = 'p_ai', @@ -256,7 +257,7 @@ return { < ]=], full_name = 'autoread', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('autom. read file when changed outside of Vim'), type = 'boolean', varname = 'p_ar', @@ -457,7 +458,7 @@ return { expand_cb = 'expand_set_backupcopy', full_name = 'backupcopy', list = 'onecomma', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_("make backup as a copy, don't rename the file"), type = 'string', varname = 'p_bkc', @@ -667,7 +668,7 @@ return { ]=], full_name = 'binary', redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('read/write/edit file in binary mode'), type = 'boolean', varname = 'p_bin', @@ -695,7 +696,7 @@ return { full_name = 'bomb', no_mkrc = true, redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('a Byte Order Mark to the file'), type = 'boolean', varname = 'p_bomb', @@ -729,7 +730,7 @@ return { ]=], full_name = 'breakindent', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('wrapped line repeats indent'), type = 'boolean', }, @@ -771,7 +772,7 @@ return { full_name = 'breakindentopt', list = 'onecomma', redraw = { 'current_buffer' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_("settings for 'breakindent'"), type = 'string', }, @@ -823,7 +824,7 @@ return { expand_cb = 'expand_set_bufhidden', full_name = 'bufhidden', noglob = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('what to do when buffer is no longer in window'), type = 'string', varname = 'p_bh', @@ -841,7 +842,7 @@ return { ]=], full_name = 'buflisted', noglob = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('whether the buffer shows up in the buffer list'), tags = { 'E85' }, type = 'boolean', @@ -900,7 +901,7 @@ return { expand_cb = 'expand_set_buftype', full_name = 'buftype', noglob = true, - scope = { 'buffer' }, + scope = { 'buf' }, tags = { 'E382' }, short_desc = N_('special type of buffer'), type = 'string', @@ -1015,7 +1016,7 @@ return { full_name = 'channel', no_mkrc = true, nodefault = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('Channel connected to the buffer'), type = 'number', varname = 'p_channel', @@ -1093,7 +1094,7 @@ return { option or 'indentexpr'. ]=], full_name = 'cindent', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('do C program indenting'), type = 'boolean', varname = 'p_cin', @@ -1111,7 +1112,7 @@ return { ]=], full_name = 'cinkeys', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("keys that trigger indent when 'cindent' is set"), type = 'string', varname = 'p_cink', @@ -1128,7 +1129,7 @@ return { ]=], full_name = 'cinoptions', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("how to do indenting when 'cindent' is set"), type = 'string', varname = 'p_cino', @@ -1146,7 +1147,7 @@ return { ]=], full_name = 'cinscopedecls', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("words that are recognized by 'cino-g'"), type = 'string', varname = 'p_cinsd', @@ -1165,7 +1166,7 @@ return { ]=], full_name = 'cinwords', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("words where 'si' and 'cin' add an indent"), type = 'string', varname = 'p_cinw', @@ -1267,7 +1268,7 @@ return { full_name = 'colorcolumn', list = 'onecomma', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('columns to highlight'), type = 'string', }, @@ -1312,7 +1313,7 @@ return { ]=], full_name = 'comments', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('patterns that can start a comment line'), tags = { 'E524', 'E525' }, type = 'string', @@ -1328,7 +1329,7 @@ return { Used for |commenting| and to add markers for folding, see |fold-marker|. ]=], full_name = 'commentstring', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('template for comments; used for fold marker'), tags = { 'E537' }, type = 'string', @@ -1385,7 +1386,7 @@ return { expand_cb = 'expand_set_complete', full_name = 'complete', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('specify how Insert mode completion works'), tags = { 'E535' }, type = 'string', @@ -1407,7 +1408,7 @@ return { ]=], full_name = 'completefunc', func = true, - scope = { 'buffer' }, + scope = { 'buf' }, secure = true, short_desc = N_('function to be used for Insert mode completion'), type = 'string', @@ -1483,7 +1484,7 @@ return { expand_cb = 'expand_set_completeopt', full_name = 'completeopt', list = 'onecomma', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('options for Insert mode completion'), type = 'string', varname = 'p_cot', @@ -1508,7 +1509,7 @@ return { enable_if = 'BACKSLASH_IN_FILENAME', expand_cb = 'expand_set_completeslash', full_name = 'completeslash', - scope = { 'buffer' }, + scope = { 'buf' }, type = 'string', varname = 'p_csl', }, @@ -1537,7 +1538,7 @@ return { full_name = 'concealcursor', list = 'flags', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('whether concealable text is hidden in cursor line'), type = 'string', }, @@ -1566,7 +1567,7 @@ return { ]=], full_name = 'conceallevel', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('whether concealable text is shown or hidden'), type = 'number', }, @@ -1604,7 +1605,7 @@ return { See 'preserveindent'. ]=], full_name = 'copyindent', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("make 'autoindent' use existing indent structure"), type = 'boolean', varname = 'p_ci', @@ -1865,8 +1866,7 @@ return { taken into account. ]=], full_name = 'cursorbind', - pv_name = 'p_crbind', - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('move cursor in window as it moves in other windows'), type = 'boolean', }, @@ -1885,7 +1885,7 @@ return { ]=], full_name = 'cursorcolumn', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('highlight the screen column of the cursor'), type = 'boolean', }, @@ -1900,7 +1900,7 @@ return { ]=], full_name = 'cursorline', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('highlight the screen line of the cursor'), type = 'boolean', }, @@ -1928,7 +1928,7 @@ return { full_name = 'cursorlineopt', list = 'onecomma', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_("settings for 'cursorline'"), type = 'string', }, @@ -1979,7 +1979,7 @@ return { < ]=], full_name = 'define', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('pattern to be used to find a macro definition'), type = 'string', varname = 'p_def', @@ -2036,7 +2036,7 @@ return { full_name = 'dictionary', list = 'onecomma', normal_dname_chars = true, - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('list of file names used for keyword completion'), type = 'string', varname = 'p_dict', @@ -2051,7 +2051,7 @@ return { full_name = 'diff', noglob = true, redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('diff mode for the current window'), type = 'boolean', }, @@ -2377,7 +2377,7 @@ return { full_name = 'endoffile', no_mkrc = true, redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('write CTRL-Z for last line in file'), type = 'boolean', varname = 'p_eof', @@ -2403,7 +2403,7 @@ return { full_name = 'endofline', no_mkrc = true, redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('write <EOL> for last line in file'), type = 'boolean', varname = 'p_eol', @@ -2448,7 +2448,7 @@ return { ]=], expand = true, full_name = 'equalprg', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('external program to use for "=" command'), type = 'string', @@ -2504,7 +2504,7 @@ return { ]=], full_name = 'errorformat', list = 'onecomma', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('description of the lines in the error file'), type = 'string', varname = 'p_efm', @@ -2540,7 +2540,7 @@ return { on, use CTRL-V<Tab>. See also |:retab| and |ins-expandtab|. ]=], full_name = 'expandtab', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('use spaces when <Tab> is inserted'), type = 'boolean', varname = 'p_et', @@ -2614,7 +2614,7 @@ return { full_name = 'fileencoding', no_mkrc = true, redraw = { 'statuslines', 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('file encoding for multi-byte text'), tags = { 'E213' }, type = 'string', @@ -2710,7 +2710,7 @@ return { full_name = 'fileformat', no_mkrc = true, redraw = { 'curswant', 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('file format used for file I/O'), type = 'string', varname = 'p_ff', @@ -2829,7 +2829,7 @@ return { full_name = 'filetype', noglob = true, normal_fname_chars = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('type of file, used for autocommands'), type = 'string', varname = 'p_ft', @@ -2904,7 +2904,7 @@ return { full_name = 'fillchars', list = 'onecomma', redraw = { 'current_window' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('characters to use for displaying special items'), type = 'string', varname = 'p_fcs', @@ -2962,7 +2962,7 @@ return { ]=], full_name = 'findfunc', func = true, - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('function called for :find'), tags = { 'E1514' }, @@ -2984,7 +2984,7 @@ return { ]=], full_name = 'fixendofline', redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('make sure last line in file has <EOL>'), type = 'boolean', varname = 'p_fixeol', @@ -3024,7 +3024,7 @@ return { expand_cb = 'expand_set_foldcolumn', full_name = 'foldcolumn', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('width of the column used to indicate folds'), type = 'string', }, @@ -3042,7 +3042,7 @@ return { ]=], full_name = 'foldenable', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('set to display all folds open'), type = 'boolean', }, @@ -3067,7 +3067,7 @@ return { full_name = 'foldexpr', modelineexpr = true, redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('expression used when \'foldmethod\' is "expr"'), type = 'string', }, @@ -3083,7 +3083,7 @@ return { ]=], full_name = 'foldignore', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('ignore lines when \'foldmethod\' is "indent"'), type = 'string', }, @@ -3100,7 +3100,7 @@ return { ]=], full_name = 'foldlevel', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('close folds with a level higher than this'), type = 'number', }, @@ -3139,7 +3139,7 @@ return { full_name = 'foldmarker', list = 'onecomma', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('markers used when \'foldmethod\' is "marker"'), tags = { 'E536' }, type = 'string', @@ -3160,7 +3160,7 @@ return { expand_cb = 'expand_set_foldmethod', full_name = 'foldmethod', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('folding type'), type = 'string', }, @@ -3179,7 +3179,7 @@ return { ]=], full_name = 'foldminlines', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('minimum number of lines for a fold to be closed'), type = 'number', }, @@ -3194,7 +3194,7 @@ return { ]=], full_name = 'foldnestmax', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('maximum fold depth'), type = 'number', }, @@ -3267,7 +3267,7 @@ return { full_name = 'foldtext', modelineexpr = true, redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('expression used to display for a closed fold'), type = 'string', }, @@ -3319,7 +3319,7 @@ return { ]=], full_name = 'formatexpr', modelineexpr = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('expression used with "gq" command'), type = 'string', varname = 'p_fex', @@ -3339,7 +3339,7 @@ return { character and white space. ]=], full_name = 'formatlistpat', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('pattern used to recognize a list header'), type = 'string', varname = 'p_flp', @@ -3359,7 +3359,7 @@ return { expand_cb = 'expand_set_formatoptions', full_name = 'formatoptions', list = 'flags', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('how automatic formatting is to be done'), type = 'string', varname = 'p_fo', @@ -3382,7 +3382,7 @@ return { ]=], expand = true, full_name = 'formatprg', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('name of external program used with "gq" command'), type = 'string', @@ -3490,7 +3490,7 @@ return { ]=], expand = true, full_name = 'grepprg', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('program to use for ":grep"'), type = 'string', @@ -4132,8 +4132,7 @@ return { It is also used for the argument of commands like "r" and "f". ]=], full_name = 'iminsert', - pv_name = 'p_imi', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('use :lmap or IM in Insert mode'), type = 'number', varname = 'p_iminsert', @@ -4155,8 +4154,7 @@ return { option to a valid keymap name. ]=], full_name = 'imsearch', - pv_name = 'p_ims', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('use :lmap or IM when typing a search pattern'), type = 'number', varname = 'p_imsearch', @@ -4203,7 +4201,7 @@ return { See |option-backslash| about including spaces and backslashes. ]=], full_name = 'include', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('pattern to be used to find an include file'), type = 'string', varname = 'p_inc', @@ -4245,7 +4243,7 @@ return { ]=], full_name = 'includeexpr', modelineexpr = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('expression used to process an include line'), type = 'string', varname = 'p_inex', @@ -4340,7 +4338,7 @@ return { ]=], full_name = 'indentexpr', modelineexpr = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('expression used to obtain the indent of a line'), type = 'string', varname = 'p_inde', @@ -4357,7 +4355,7 @@ return { ]=], full_name = 'indentkeys', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_("keys that trigger indenting with 'indentexpr'"), type = 'string', varname = 'p_indk', @@ -4376,7 +4374,7 @@ return { With 'noinfercase' the match is used as-is. ]=], full_name = 'infercase', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('adjust case of match for keyword completion'), type = 'boolean', varname = 'p_inf', @@ -4507,7 +4505,7 @@ return { ]=], full_name = 'iskeyword', list = 'comma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('characters included in keywords'), type = 'string', varname = 'p_isk', @@ -4608,9 +4606,8 @@ return { full_name = 'keymap', normal_fname_chars = true, pri_mkrc = true, - pv_name = 'p_kmap', redraw = { 'statuslines', 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('name of a keyboard mapping'), type = 'string', varname = 'p_keymap', @@ -4662,7 +4659,7 @@ return { ]=], expand = true, full_name = 'keywordprg', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('program to use for the "K" command'), type = 'string', @@ -4833,7 +4830,7 @@ return { ]=], full_name = 'linebreak', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('wrap long lines at a blank'), type = 'boolean', }, @@ -4897,7 +4894,7 @@ return { calling an external program if 'equalprg' is empty. ]=], full_name = 'lisp', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('indenting for Lisp'), type = 'boolean', varname = 'p_lisp', @@ -4919,8 +4916,7 @@ return { expand_cb = 'expand_set_lispoptions', full_name = 'lispoptions', list = 'onecomma', - pv_name = 'p_lop', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('options for lisp indenting'), type = 'string', varname = 'p_lop', @@ -4938,8 +4934,7 @@ return { ]=], full_name = 'lispwords', list = 'onecomma', - pv_name = 'p_lw', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('words that change how lisp indenting works'), type = 'string', varname = 'p_lispwords', @@ -4966,7 +4961,7 @@ return { ]=], full_name = 'list', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('<Tab> and <EOL>'), type = 'boolean', }, @@ -5077,7 +5072,7 @@ return { full_name = 'listchars', list = 'onecomma', redraw = { 'current_window' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('characters for displaying in list mode'), type = 'string', varname = 'p_lcs', @@ -5158,7 +5153,7 @@ return { ]=], expand_cb = 'expand_set_encoding', full_name = 'makeencoding', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('Converts the output of external commands'), type = 'string', varname = 'p_menc', @@ -5185,7 +5180,7 @@ return { ]=], expand = true, full_name = 'makeprg', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('program to use for the ":make" command'), type = 'string', @@ -5215,7 +5210,7 @@ return { ]=], full_name = 'matchpairs', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('pairs of characters that "%" can match'), type = 'string', varname = 'p_mps', @@ -5377,7 +5372,7 @@ return { no lines are checked. See |modeline|. ]=], full_name = 'modeline', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('recognize modelines at start or end of file'), type = 'boolean', varname = 'p_ml', @@ -5425,7 +5420,7 @@ return { ]=], full_name = 'modifiable', noglob = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('changes to the text are not possible'), tags = { 'E21' }, type = 'boolean', @@ -5461,7 +5456,7 @@ return { full_name = 'modified', no_mkrc = true, redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('buffer has been modified'), type = 'boolean', varname = 'p_mod', @@ -5821,7 +5816,7 @@ return { expand_cb = 'expand_set_nrformats', full_name = 'nrformats', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('number formats recognized for CTRL-A command'), type = 'string', varname = 'p_nf', @@ -5855,7 +5850,7 @@ return { ]=], full_name = 'number', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('print the line number in front of each line'), type = 'boolean', }, @@ -5877,7 +5872,7 @@ return { ]=], full_name = 'numberwidth', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('number of columns used for the line number'), type = 'number', }, @@ -5899,7 +5894,7 @@ return { ]=], full_name = 'omnifunc', func = true, - scope = { 'buffer' }, + scope = { 'buf' }, secure = true, short_desc = N_('function for filetype-specific completion'), type = 'string', @@ -6102,7 +6097,7 @@ return { expand = true, full_name = 'path', list = 'comma', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('list of directories searched with "gf" et.al.'), tags = { 'E343', 'E345', 'E347', 'E854' }, type = 'string', @@ -6126,7 +6121,7 @@ return { Use |:retab| to clean up white space. ]=], full_name = 'preserveindent', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('preserve the indent structure when reindenting'), type = 'boolean', varname = 'p_pi', @@ -6156,7 +6151,7 @@ return { full_name = 'previewwindow', noglob = true, redraw = { 'statuslines' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('identifies the preview window'), tags = { 'E590' }, type = 'boolean', @@ -6275,7 +6270,7 @@ return { text "foo\"bar\\" considered to be one string. ]=], full_name = 'quoteescape', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('escape characters used in a string'), type = 'string', varname = 'p_qe', @@ -6297,7 +6292,7 @@ return { full_name = 'readonly', noglob = true, redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('disallow writing the buffer'), type = 'boolean', varname = 'p_ro', @@ -6413,7 +6408,7 @@ return { ]=], full_name = 'relativenumber', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('show relative line number in front of each line'), type = 'boolean', }, @@ -6470,7 +6465,7 @@ return { ]=], full_name = 'rightleft', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('window is right-to-left oriented'), type = 'boolean', }, @@ -6490,7 +6485,7 @@ return { expand_cb = 'expand_set_rightleftcmd', full_name = 'rightleftcmd', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('commands for which editing works right-to-left'), type = 'string', }, @@ -6672,8 +6667,7 @@ return { ]=], full_name = 'scroll', no_mkrc = true, - pv_name = 'p_scroll', - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('lines to scroll with CTRL-U and CTRL-D'), type = 'number', }, @@ -6695,7 +6689,7 @@ return { ]=], full_name = 'scrollback', redraw = { 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('lines to scroll with CTRL-U and CTRL-D'), type = 'number', varname = 'p_scbk', @@ -6716,8 +6710,7 @@ return { with scroll-binding, but ":split file" does not. ]=], full_name = 'scrollbind', - pv_name = 'p_scbind', - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('scroll in window as other windows scroll'), type = 'boolean', }, @@ -6754,7 +6747,7 @@ return { < For scrolling horizontally see 'sidescrolloff'. ]=], full_name = 'scrolloff', - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('minimum nr. of lines above and below cursor'), type = 'number', varname = 'p_so', @@ -7404,7 +7397,7 @@ return { function to get the effective shiftwidth value. ]=], full_name = 'shiftwidth', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('number of spaces to use for (auto)indent step'), type = 'number', varname = 'p_sw', @@ -7502,7 +7495,7 @@ return { ]=], full_name = 'showbreak', redraw = { 'all_windows' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('string to use at the start of wrapped lines'), tags = { 'E595' }, type = 'string', @@ -7676,7 +7669,7 @@ return { < ]=], full_name = 'sidescrolloff', - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('min. nr. of columns to left and right of cursor'), type = 'number', varname = 'p_siso', @@ -7706,7 +7699,7 @@ return { expand_cb = 'expand_set_signcolumn', full_name = 'signcolumn', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('when to display the sign column'), type = 'string', }, @@ -7752,7 +7745,7 @@ return { right. ]=], full_name = 'smartindent', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('smart autoindenting for C programs'), type = 'boolean', varname = 'p_si', @@ -7792,9 +7785,8 @@ return { NOTE: partly implemented, doesn't work yet for |gj| and |gk|. ]=], full_name = 'smoothscroll', - pv_name = 'p_sms', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_("scroll by screen lines when 'wrap' is set"), type = 'boolean', }, @@ -7819,7 +7811,7 @@ return { to anything other than an empty string. ]=], full_name = 'softtabstop', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('number of spaces that <Tab> uses while editing'), type = 'number', varname = 'p_sts', @@ -7833,7 +7825,7 @@ return { ]=], full_name = 'spell', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('spell checking'), type = 'boolean', }, @@ -7854,7 +7846,7 @@ return { ]=], full_name = 'spellcapcheck', redraw = { 'current_buffer', 'highlight_only' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('pattern to locate end of a sentence'), type = 'string', varname = 'p_spc', @@ -7890,7 +7882,7 @@ return { expand = true, full_name = 'spellfile', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, secure = true, short_desc = N_('files where |zg| and |zw| store words'), type = 'string', @@ -7943,7 +7935,7 @@ return { full_name = 'spelllang', list = 'onecomma', redraw = { 'current_buffer', 'highlight_only' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('language(s) to do spell checking for'), type = 'string', varname = 'p_spl', @@ -7968,7 +7960,7 @@ return { full_name = 'spelloptions', list = 'onecomma', redraw = { 'current_buffer', 'highlight_only' }, - scope = { 'buffer' }, + scope = { 'buf' }, secure = true, type = 'string', varname = 'p_spo', @@ -8189,7 +8181,7 @@ return { ]=], full_name = 'statuscolumn', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, secure = true, short_desc = N_('custom format for the status column'), type = 'string', @@ -8413,7 +8405,7 @@ return { full_name = 'statusline', modelineexpr = true, redraw = { 'statuslines' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('custom format for the status line'), tags = { 'E540', 'E542' }, type = 'string', @@ -8454,7 +8446,7 @@ return { ]=], full_name = 'suffixesadd', list = 'onecomma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('suffixes added when searching for a file'), type = 'string', varname = 'p_sua', @@ -8485,7 +8477,7 @@ return { ]=], full_name = 'swapfile', redraw = { 'statuslines' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('whether to use a swapfile for a buffer'), type = 'boolean', varname = 'p_swf', @@ -8545,7 +8537,7 @@ return { ]=], full_name = 'synmaxcol', redraw = { 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('maximum column to find syntax items'), type = 'number', varname = 'p_smc', @@ -8582,7 +8574,7 @@ return { full_name = 'syntax', noglob = true, normal_fname_chars = true, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('syntax to be loaded for current buffer'), type = 'string', varname = 'p_syn', @@ -8705,7 +8697,7 @@ return { ]=], full_name = 'tabstop', redraw = { 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('number of spaces that <Tab> in file uses'), type = 'number', varname = 'p_ts', @@ -8784,7 +8776,7 @@ return { ]=], expand_cb = 'expand_set_tagcase', full_name = 'tagcase', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('how to handle case when searching in tags files'), type = 'string', varname = 'p_tc', @@ -8805,7 +8797,7 @@ return { ]=], full_name = 'tagfunc', func = true, - scope = { 'buffer' }, + scope = { 'buf' }, secure = true, short_desc = N_('function used to perform tag searches'), type = 'string', @@ -8862,7 +8854,7 @@ return { expand = true, full_name = 'tags', list = 'onecomma', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('list of file names used by the tag command'), tags = { 'E433' }, type = 'string', @@ -9002,7 +8994,7 @@ return { ]=], full_name = 'textwidth', redraw = { 'current_buffer', 'highlight_only' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('maximum width of text that is being inserted'), type = 'number', varname = 'p_tw', @@ -9031,7 +9023,7 @@ return { full_name = 'thesaurus', list = 'onecomma', normal_dname_chars = true, - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('list of thesaurus files for keyword completion'), type = 'string', varname = 'p_tsr', @@ -9051,7 +9043,7 @@ return { ]=], full_name = 'thesaurusfunc', func = true, - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, secure = true, short_desc = N_('function used for thesaurus completion'), type = 'string', @@ -9285,7 +9277,7 @@ return { When 'undofile' is turned off the undo file is NOT deleted. ]=], full_name = 'undofile', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('save undo information in a file'), type = 'boolean', varname = 'p_udf', @@ -9314,7 +9306,7 @@ return { Also see |clear-undo|. ]=], full_name = 'undolevels', - scope = { 'global', 'buffer' }, + scope = { 'global', 'buf' }, short_desc = N_('maximum number of changes that can be undone'), type = 'number', varname = 'p_ul', @@ -9401,7 +9393,7 @@ return { ]=], full_name = 'varsofttabstop', list = 'comma', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('list of numbers of spaces that <Tab> uses while editing'), type = 'string', varname = 'p_vsts', @@ -9424,7 +9416,7 @@ return { full_name = 'vartabstop', list = 'comma', redraw = { 'current_buffer' }, - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('list of numbers of spaces that <Tab> in file uses'), type = 'string', varname = 'p_vts', @@ -9570,7 +9562,7 @@ return { full_name = 'virtualedit', list = 'onecomma', redraw = { 'curswant' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('when to use virtual editing'), type = 'string', varname = 'p_ve', @@ -9917,7 +9909,7 @@ return { full_name = 'winbar', modelineexpr = true, redraw = { 'statuslines' }, - scope = { 'global', 'window' }, + scope = { 'global', 'win' }, short_desc = N_('custom format for the window bar'), type = 'string', varname = 'p_wbr', @@ -9935,7 +9927,7 @@ return { ]=], full_name = 'winblend', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('Controls transparency level for floating windows'), type = 'number', }, @@ -9974,8 +9966,7 @@ return { command has a "!" modifier, it can force switching buffers. ]=], full_name = 'winfixbuf', - pv_name = 'p_wfb', - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('pin a window to a specific buffer'), type = 'boolean', }, @@ -9990,7 +9981,7 @@ return { ]=], full_name = 'winfixheight', redraw = { 'statuslines' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('keep window height when opening/closing windows'), type = 'boolean', }, @@ -10004,7 +9995,7 @@ return { ]=], full_name = 'winfixwidth', redraw = { 'statuslines' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('keep window width when opening/closing windows'), type = 'boolean', }, @@ -10065,7 +10056,7 @@ return { full_name = 'winhighlight', list = 'onecommacolon', redraw = { 'current_window', 'highlight_only' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('Setup window-local highlights'), type = 'string', }, @@ -10156,7 +10147,7 @@ return { ]=], full_name = 'wrap', redraw = { 'current_window' }, - scope = { 'window' }, + scope = { 'win' }, short_desc = N_('lines wrap and continue on the next line'), type = 'boolean', }, @@ -10173,7 +10164,7 @@ return { See also 'formatoptions' and |ins-textwidth|. ]=], full_name = 'wrapmargin', - scope = { 'buffer' }, + scope = { 'buf' }, short_desc = N_('chars from the right where wrapping starts'), type = 'number', varname = 'p_wm', |