summaryrefslogtreecommitdiffstats
path: root/runtime/doc/options.txt
AgeCommit message (Collapse)Author
2024-06-19patch 9.1.0503: cannot use fuzzy keyword completionv9.1.0503glepnir
Problem: cannot use fuzzy keyword completion (Maxim Kim) Solution: add the "fuzzycollect" value for the 'completeopt' setting, to gather matches using fuzzy logic (glepnir) fixes: #14912 closes: #14976 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17runtime(doc): Fix typos in several documentsh-east
closes: #15034 Signed-off-by: h-east <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11patch 9.1.0476: Cannot see matched text in popup menuv9.1.0476glepnir
Problem: Cannot see matched text in popup menu Solution: Introduce 2 new highlighting groups: PmenuMatch and PmenuMatchSel (glepnir) ping @habamax, @neutaaaaan @romainl because vim/colorschemes may need some updates, @lifepillar for updating vim-colortemplate closes: #14694 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05patch 9.1.0469: Cannot have buffer-local value for 'completeopt'v9.1.0469zeertzjq
Problem: Cannot have buffer-local value for 'completeopt' (Nick Jensen). Solution: Make 'completeopt' global-local (zeertzjq). Also for some reason test Test_ColonEight_MultiByte seems to be failing sporadically now. Let's mark it as flaky. fixes: #5487 closes: #14922 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04runtime(doc): clarify how fuzzy 'completeopt' should workChristian Brabandt
related: #14912 Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03patch 9.1.0464: no whitespace padding in commentstring option in ftpluginsv9.1.0464Riley Bruins
Problem: no whitespace padding in commentstring option in ftplugins Solution: Change default to include whitespace padding, update existing filetype plugins with the new default value (Riley Bruins) closes: #14843 Signed-off-by: Riley Bruins <ribru17@hotmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03patch 9.1.0463: no fuzzy-matching support for insert-completionv9.1.0463glepnir
Problem: no fuzzy-matching support for insert-completion Solution: enable insert-mode completion with fuzzy-matching using :set completopt+=fuzzy (glepnir). closes: #14878 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01runtime(doc): clarify 'shortmess' flag "S"Christian Brabandt
fixes: #14893 Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19runtime(doc): mention comment plugin at :h 'commentstring'Christian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07runtime(doc): add MsgArea to 'highlight' option descriptionChristian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04patch 9.1.0393: 'viewdir' not respecting $XDG_CONFIG_HOMEv9.1.0393Christian Brabandt
Problem: 'viewdir' not respecting $XDG_CONFIG_HOME (Danilo Rezende, after v9.1.327) Solution: adjust 'viewdir' option when enabling XDG config mode fixes: #14680 closes: #14708 Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29patch 9.1.0228: Two unrelated things are tested by a single testv9.1.0228zeertzjq
Problem: Two unrelated things are tested by a single test. Solution: Split it into two, restoring the old Test_brace_single_line(). Add missing cleanup to some tests. (zeertzjq) closes: #14323 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28patch 9.1.0215: Half-page scrolling does not support smooth-scrollingv9.1.0215Luuk van Baal
Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements it's own logic to change the topline and cursor. More logic than necessary for scrolling with Ctrl-F/Ctrl-B was removed in patch 9.1.0211. Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while staying backward compatible as much as possible. Restore some of the logic that determined how many lines will be scrolled (Luuk van Baal) closes: #14316 Signed-off-by: Luuk van Baal <luukvbaal@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26patch 9.1.0211: page-wise scrolling does not support smooth-scrollingv9.1.0211Luuk van Baal
Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements it's own logic to change the topline and cursor. In doing so, skipcol is not handled properly for 'smoothscroll', and virtual lines. Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying backward compatible as much as possible. closes: #14268 Signed-off-by: Luuk van Baal <luukvbaal@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25runtime(doc): Update options.txtSong-Tianxiang
closes: #14295 Signed-off-by: Song-Tianxiang <149415622+Song-Tianxiang@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11runtime(doc): improve 'winfixbuf' docs (#14180)zeertzjq
- Make it not sound like a buffer option. - "!" is called a modifier, not an option. Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06patch 9.1.0154: shm=F not respected when reloading buffer with 'autoread'v9.1.0154Shougo Matsushita
Problem: shm=F not respected when reloading buffer with 'autoread' Solution: Check SHM_FILEINFO in buf_check_timestamp() (Shougo Matsushita) closes: #14144 Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03patch 9.1.0147: Cannot keep a buffer focused in a windowv9.1.0147Colin Kennedy
Problem: Cannot keep a buffer focused in a window (Amit Levy) Solution: Add the 'winfixbuf' window-local option (Colin Kennedy) fixes: #6445 closes: #13903 Signed-off-by: Colin Kennedy <colinvfx@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-25runtime(doc): fix inconsistent indent (#14089)zeertzjq
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24runtime(doc): clarify ':set[l] {option}<' behaviourMatt Ellis
closes: #14062 Signed-off-by: Matt Ellis <m.t.ellis@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24patch 9.1.0133: MS-Windows: ligatures not rendering correctlyv9.1.0133Erik S. V. Jansson
Problem: font ligatures don't render correctly in the Win32 GUI-version of gvim even when set rop=type:directx is used. Setting guiligatures also doesn't make any difference. This leads to broken font ligatures when the cursor passes through them. It does not recover from this, and they remain broken until you re-render the whole buffer (e.g. by using Ctrl+L). Solution: the problem is that we only re-draw the current and previous character in gui_undraw_cursor() and only have the special case for GTK when it comes to rendering ligatures. So let's enable gui_adjust_undraw_cursor_for_ligatures() to also happen for Win32 GUI if guiligatures is setup correctly (all this does is expand the range of gui_undraw_cursor() with ligature characters). related: #9181 related: #12901 closes: #14084 Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-30runtime(doc): Update help for Wayland supportChristian Brabandt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17patch 9.1.0039: too vague errors for 'listchars'/'fillchars'v9.1.0039zeertzjq
Problem: too vague errors for 'listchars'/'fillchars' Solution: Include the field name in error message. (zeertzjq) related: neovim/neovim#27050 closes: #13877 Co-authored-by: Cole Frankenhoff <cole.nhf@gmail.com> Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03patch 9.1.0004: reloading colorscheme when not changing 'background'v9.1.0004Gregory Anders
Problem: reloading colorscheme when not changing 'background' Solution: Check, if the background option value actually changed, if not, return early. Only reload colorscheme when bg is changed Currently the highlight groups are re-initialized and the colorscheme (if any) is reloaded anytime 'background' is set, even if it is not changed. This is unnecessary, because if the value was not changed then there is no need to change highlight groups or do anything with the colorscheme. Instead, only reload the colorscheme if the value of 'background' was actually changed. closes: #13700 Signed-off-by: Gregory Anders <greg@gpanders.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-02patch 9.1.0000: Vim 9.1 releasev9.1.0000v9.1.0Christian Brabandt
Problem: Need a new release Solution: Release Vim 9.1 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21patch 9.0.2183: Maximum callback depth is not configurablev9.0.2183zeertzjq
Problem: Maximum callback depth is not configurable. Solution: Revert patch 9.0.2103. Set 'maxfuncdepth' in test. (zeertzjq) fixes: #13732 closes: #13736 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16runtime(doc): remove deprecation warning for gdefaultdundargoc
Deprecated can be misunderstood as being slated for removal; slightly change wording to be clearer. Signed-off-by: dundargoc <gocdundar@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05runtime(doc): Sort options.txt alphabeticallylaburnumT
Related to: vim/vim#13630 1. Sort section 3 (option-summary) of runtime/doc/options.txt in alphabetical order. 2. Remove double newlines in section 3 (option-summary). I did not alphabetically sort ttimeout and ttimeoutlen because they seem to belong with timeout and timeoutlen respectively, but I would like some input on that decision. Signed-off-by: laburnumT <laburnumtec@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21runtime(doc): Fix whitespace and formatting of some help files (#13549)h_east
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-20runtime(doc): minor typo fixes (#13548)njohnston
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12patch 9.0.2103: recursive callback may cause issues on some archsv9.0.2103Christian Brabandt
Problem: recursive callback may cause issues on some archs Solution: Decrease the limit drastically to 20 Recursive callback limit causes problems on some architectures Since commit 47510f3d6598a1218958c03ed11337a43b73f48d we have a test that causes a recursive popup callback function to be executed. However it seems the current limit of 'maxfuncdepth' option value is still too recursive for some 32bit architectures (e.g. 32bit ARM). So instead of allowing a default limit of 100 (default value for 'maxfuncdepth'), let's reduce this limit to 20. I don't think there is a use case where one would need such a high recursive callback limit and a limit of 20 seems reasonable (although it is currently hard-coded). closes: #13495 closes: #13502 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11runtime(doc): clarify when formatoptions appliesChristian Brabandt
closes: #13503 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08patch 9.0.2095: statusline may look different than expectedv9.0.2095Christian Brabandt
Problem: statusline may look different than expected Solution: do not check for highlighting of stl and stlnc characters statusline fillchar may be different than expected If the highlighting group for the statusline for the current window |hl-StatusLine| or the non-current window |hl-StatusLineNC| are cleared (or do not differ from each other), than Vim will use the hard-coded fallback values '^' (for the non-current windows) or '=' (for the current window). I believe this was done, to make sure the statusline will always be visible and be distinguishable from the rest of the window. However, this may be unexpected, if a user explicitly defined those fillchar characters just to notice that those values are then not used by Vim. So, let's assume users know what they are doing and just always return the configured stl and stlnc values. And if they want the statusline to be non-distinguishable from the rest of the window space, so be it. It is their responsibility and Vim shall not know better what to use. fixes: #13366 closes: #13488 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28runtime(doc): all secure options should note this restriction in the ↵dkearns
documentation (#13448) Problem: Not all secure options document their status Solution: Describe secure context :set restrictions in each help entry Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-25runtime(doc): clarify bracketed paste modeChristian Brabandt
related: #13398 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-25runtime(doc): Fix typos in several documents (#13420)h_east
* Fix typos in several documents * Update runtime/doc/terminal.txt Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-17patch 9.0.2037: A few remaining cmdline completion issues with C-E/Yv9.0.2037Yee Cheng Chin
Problem: A few remaining cmdline completion issues with C-E/Y Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end A few places in the cmdline completion code only works properly when the user hits Tab (or 'wildchar') at the end of the cmdline, even though it's supposed to work even in the middle of the line. For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern` is the search pattern (since it contains texts after the cursor). Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a wildmenu completion. Also, make them work even when not using `set wildoptions+=pum` as there is no drawback to doing so. (Related issue where this was brought up: #13331) closes: #13362 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-17patch 9.0.2035: [security] use-after-free with wildmenuv9.0.2035Yee Cheng Chin
Problem: [security] use-after-free with wildmenu Solution: properly clean up the wildmenu when exiting Fix wildchar/wildmenu/pum memory corruption with special wildchar's Currently, using `wildchar=<Esc>` or `wildchar=<C-\>` can lead to a memory corruption if using wildmenu+pum, or wrong states if only using wildmenu. This is due to the code only using one single place inside the cmdline process loop to perform wild menu clean up (by checking `end_wildmenu`) but there are other odd situations where the loop could have exited and we need a post-loop clean up just to be sure. If the clean up was not done you would have a stale popup menu referring to invalid memory, or if not using popup menu, incorrect status line (if `laststatus=0`). For example, if you hit `<Esc>` two times when it's wildchar, there's a hard-coded behavior to exit command-line as a failsafe for user, and if you hit `<C-\><C-\><C-N>` it will also exit command-line, but the clean up code would not have hit because of specialized `<C-\>` handling. Fix Ctrl-E / Ctrl-Y to not cancel/accept wildmenu if they are also used for 'wildchar'/'wildcharm'. Currently they don't behave properly, and also have potentially memory unsafe behavior as the logic is currently not accounting for this situation and try to do both. (Previous patch that addressed this: #11677) Also, correctly document Escape key behavior (double-hit it to escape) in wildchar docs as it's previously undocumented. In addition, block known invalid chars to be set in `wildchar` option, such as Ctrl-C and `<CR>`. This is just to make it clear to the user they shouldn't be set, and is not required for this bug fix. closes: #13361 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-15runtime(doc): correct <PageUp>/<PageDown> behavior in 'wildmenu' (#13336)zeertzjq
"but don't insert it" is wrong. Also move them just below <Up> <Down> as they are more similar.
2023-10-15patch 9.0.2030: no max callback recursion limitv9.0.2030Christian Brabandt
Problem: no max callback recursion limit Solution: bail out, if max call recursion for callback functions has been reached. This checks the 'maxfuncdepth' setting and throws E169 when a callback function recursively calls itself. closes: #13337 closes: #13339 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14runtime(doc): Improve command-line completion docs (#13331)Yee Cheng Chin
* Improve command-line completion docs Add more details about 'ignorecase' and its effect on cmdline completion. Make sure keys used in wildmenu are properly documented and linked in the keys' documentation entries, and in `:h index` for proper cross-referencing, as wildmenu popup is slightly different from insert-mode popup menu. * Fix docs typos Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-09patch 9.0.2009: cmdline-completion for comma-separated options wrongv9.0.2009Yee Cheng Chin
Problem: cmdline-completion for comma-separated options wrong Solution: Fix command-line expansions for options with filenames with commas Fix command-line expansions for options with filenames with commas Cmdline expansion for option values that take a comma-separated list of file names is currently not handling file names with commas as the commas are not escaped. For such options, the commas in file names need to be escaped (to differentiate from a comma that delimit the list items). The escaped comma is unescaped in `copy_option_part()` during option parsing. Fix as follows: - Cmdline completion for option values with comma-separated file/folder names will not start a new match when seeing `\\,` and will instead consider it as one value. - File/folder regex matching will strip the `\\` when seeing `\\,` to make sure it can match the correct files/folders. - The expanded value will escape `,` with `\\,`, similar to how spaces are escaped to make sure the option value is correct on the cmdline. This fix also takes into account the fact that Win32 Vim handles file name escaping differently. Typing '\,' for a file name results in it being handled literally but in other platforms '\,' is interpreted as a simple ',' and commas need to be escaped using '\\,' instead. Also, make sure this new logic only applies to comma-separated options like 'path'. Non-list options like 'set makeprg=<Tab>' and regular ex commands like `:edit <Tab>` do not require escaping and will continue to work. Also fix up documentation to be clearer. The original docs are slightly misleading in how it discusses triple slashes for 'tags'. closes: #13303 related: #13301 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-03runtime(doc): fix two typos in `vim9.txt` and `options.txt` (#13258)Aliaksei Budavei
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02runtime(doc): mention how to disable folding in diff mode (#13242)dundargoc
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-01patch 9.0.1968: cmdline completion should consider key optionv9.0.1968Yee Cheng Chin
Problem: cmdline completion should consider key option Solution: Disable cmdline completion for key option, slightly refactor how P_NO_CMD_EXPAND is handled Harden crypto 'key' option: turn off cmdline completion, disable set-= "set-=" can be used maliciously with a crypto key, as it allows an attacker (who either has access to the computer or a plugin author) to guess a substring by observing the modified state. Simply turn off set+=/-=/^= for this option as there is no good reason for them to be used. Update docs to make that clear as well. Also, don't allow cmdline completion for 'key' as it just shows ***** which is not useful and confusing to the user what it means (if the user accidentally hits enter they will have replaced their key with "*****" instead). Move logic to better location, don't use above 32-bit for flags Move P_NO_CMD_EXPAND to use the unused 0x20 instead of going above 32-bits, as currently the flags parameter is only 32-bits on some systems. Left a comment to warn that future additions will need to change how the flags work either by making it 64-bit or split into two member vars. Also, move the logic for detecting P_NO_CMD_EXPAND earlier so it's not up to each handler to decide, and you won't see the temporary "..." that Vim shows while waiting for completion handler to complete. closes: #13224 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-29patch 9.0.1958: cannot complete option valuesv9.0.1958Yee Cheng Chin
Problem: cannot complete option values Solution: Add completion functions for several options Add cmdline tab-completion for setting string options Add tab-completion for setting string options on the cmdline using `:set=` (along with `:set+=` and `:set-=`). The existing tab completion for setting options currently only works when nothing is typed yet, and it only fills in with the existing value, e.g. when the user does `:set diffopt=<Tab>` it will be completed to `set diffopt=internal,filler,closeoff` and nothing else. This isn't too useful as a user usually wants auto-complete to suggest all the possible values, such as 'iblank', or 'algorithm:patience'. For set= and set+=, this adds a new optional callback function for each option that can be invoked when doing completion. This allows for each option to have control over how completion works. For example, in 'diffopt', it will suggest the default enumeration, but if `algorithm:` is selected, it will further suggest different algorithm types like 'meyers' and 'patience'. When using set=, the existing option value will be filled in as the first choice to preserve the existing behavior. When using set+= this won't happen as it doesn't make sense. For flag list options (e.g. 'mouse' and 'guioptions'), completion will take into account existing typed values (and in the case of set+=, the existing option value) to make sure it doesn't suggest duplicates. For set-=, there is a new `ExpandSettingSubtract` function which will handle flag list and comma-separated options smartly, by only suggesting values that currently exist in the option. Note that Vim has some existing code that adds special handling for 'filetype', 'syntax', and misc dir options like 'backupdir'. This change preserves them as they already work, instead of converting to the new callback API for each option. closes: #13182 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-27runtime(doc): mention mouse scrolling in scrollbind-quickadj (#13190)zeertzjq
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-20patch 9.0.1921: not possible to use the jumplist like a stackv9.0.1921Yegappan Lakshmanan
Problem: not possible to use the jumplist like a stack Solution: Add the 'jumpoptions' setting to make the jumplist a stack. Add an option for using jumplist like tag stack related: #7738 closes: #13134 ported from NeoVim: - https://neovim.io/doc/user/motion.html#jumplist-stack - neovim/neovim@39094b3 - neovim/neovim#11530 - https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior Based on the feedback in the previous PR, it looks like many people like this option. Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com> Co-authored-by: butwerenotthereyet <58348703+butwerenotthereyet@users.noreply.github.com>
2023-09-11runtime(doc): documentation updatesChristian Brabandt
This is a collection of various improvements to the help pages closes #12790 Co-authored-by: Houl <anwoku@yahoo.de> Co-authored-by: Doug Kearns <dougkearns@gmail.com> Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13patch 9.0.1710: scrolloff options work slightly differentv9.0.1710Christian Brabandt
Problem: sidescrolloff and scrolloff options work slightly different than other global-local options Solution: Make it behave consistent for all global-local options It was noticed, that sidescrolloff and scrolloff options behave differently in comparison to other global-local window options like 'listchars' So make those two behave like other global-local options. Also add some extra documentation for a few special local-window options. Add a few tests to make sure all global-local window options behave similar closes: #12956 closes: #12643 Signed-off-by: Christian Brabandt <cb@256bit.org>