| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: luau config file not detected
(lopy)
Solution: Detect it as jsonc
(lopy)
fixes: vim/vim#13960
closes: vim/vim#13970
https://github.com/vim/vim/commit/de7f5bde6c598d4da4ce5b30328eb458962ba60a
Co-authored-by: lopy <70210066+lopi-py@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
| |
(#27332)
Problem: insert completion not correct when adding new leader
Solution: Reset compl_curr_match to compl_shown_match
(glepnir)
closes: vim/vim#13957
https://github.com/vim/vim/commit/cbb46b439888e10f87baaca504eafd191723c44b
|
| |
|
|
|
|
|
|
|
| |
- Consistently use the variable CMAKE_BUILD_TYPE to select build type.
- Remove broken `doc_html` target.
- Remove swap files created by oldtest when cleaning.
- Only rerun `lintdoc` if any documentation files has changed.
|
|
|
|
|
|
|
|
|
|
|
| |
(#27280)
Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin
Yang)
Solution: Use "curtab" if "tp" is NULL. (closes vim/vim#5475)
https://github.com/vim/vim/commit/ee93b737aaa7bf65edc7281f429dd89fcf657a6f
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Segfault with CompleteChanged autocommand
(markonm )
Solution: Test match->cp_prev for being NULL before accessing it
closes: vim/vim#13929
https://github.com/vim/vim/commit/fef66301665027f1801a18d796f74584666f41ef
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#27247)
Problem: Recorded register cannot be translated using keytrans() when
it involves character search (iddqd505)
Solution: Record a K_IGNORE instead of a K_NOP (zeertzjq)
related: vim/vim#13916
closes: vim/vim#13925
https://github.com/vim/vim/commit/bf321806bf44d59f108fd7e5a0eaead04682701d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: E95 is possible if a buffer called "[Command Line]" already
exists when opening the cmdwin. This can also happen if the
cmdwin's buffer could not be deleted when closing.
Solution: Un-name the cmdwin buffer, and give it a special name instead,
similar to what's done for quickfix buffers and for unnamed
prompt and scratch buffers. As a result, BufFilePre/Post are
no longer fired when opening the cmdwin. Add a "command" key
to the dictionary returned by getbufinfo() to differentiate
the cmdwin buffer instead. (Sean Dewar)
Cherry-pick test_normal changes from v9.0.0954.
https://github.com/vim/vim/commit/1fb41032060df09ca2640dc49541f11062f6dfaa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Autocmds triggered from opening the cmdwin (in win_split and
do_ecmd) can cause issues such as E199, as the current checks
are insufficient.
Solution: Commands executed from the cmdwin apply to the old curwin/buf,
so they should be kept in a "suspended" state; abort if
they've changed. Also abort if cmdwin/buf was tampered with,
and check that curwin is correct. Try to clean up the cmdwin
buffer (only if hidden and non-current to simplify things; the
same approach is used when closing cmdwin normally), and add a
beep. (Sean Dewar)
Rename the old Test_cmdwin_interrupted() like in the patch (can be moved to
test_cmdwin.vim when v9.0.0027 is ported).
Move the error message to `e_active_window_or_buffer_changed_or_deleted`.
https://github.com/vim/vim/commit/43b395ec2e7d24a067d7cb00109818b64da144a5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Things that temporarily change/restore curwin/buf (e.g:
win_execute, some autocmds) may break assumptions that
curwin/buf is the cmdwin when "cmdwin_type != 0", causing
issues.
Solution: Expose the cmdwin's real win/buf and check that instead. Also
try to ensure these variables are NULL if "cmdwin_type == 0",
allowing them to be used directly in most cases without
checking cmdwin_type. (Sean Dewar)
Reset and save `cmdwin_old_curwin` in a similar fashion.
Apply suitable changes for API functions and add Lua tests.
https://github.com/vim/vim/commit/988f74311c26ea9917e84fbae608de226dba7e5f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot map Super Keys in GTK UI
(Casey Tucker)
Solution: Enable Super Key mappings in GTK using <D-Key>
(Casey Tucker)
As a developer who works in both Mac and Linux using the same keyboard,
it can be frustrating having to remember different key combinations or
having to rely on system utilities to remap keys.
This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized
by the `map` commands, along with the `<D-S-...>` shifted variants.
```vimrc
if has('gui_gtk')
nnoremap <D-z> u
nnoremap <D-S-Z> <C-r>
vnoremap <D-x> "+d
vnoremap <D-c> "+y
cnoremap <D-v> <C-R>+
inoremap <D-v> <C-o>"+gP
nnoremap <D-v> "+P
vnoremap <D-v> "-d"+P
nnoremap <D-s> :w<CR>
inoremap <D-s> <C-o>:w<CR>
nnoremap <D-w> :q<CR>
nnoremap <D-q> :qa<CR>
nnoremap <D-t> :tabe<CR>
nnoremap <D-S-T> :vs#<CR><C-w>T
nnoremap <D-a> ggVG
vnoremap <D-a> <ESC>ggVG
inoremap <D-a> <ESC>ggVG
nnoremap <D-f> /
nnoremap <D-g> n
nnoremap <D-S-G> N
vnoremap <D-x> "+x
endif
```
closes: vim/vim#12698
https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df
Co-authored-by: Casey Tucker <dctucker@hotmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Incorrect number of trailing spaces inserted for multibyte
characters when pasting a blockwise register in blockwise visual
mode (VanaIgr)
Solution: Skip over trailing UTF-8 bytes when computing the number of trailing
spaces (VanaIgr)
When pasting in blockwise visual mode, and the register type is <CTRL-V>, Vim
aligns the text after the replaced area by inserting spaces after pasted
lines that are shorter than the longest line. When a shorter line contains
multibyte characters, each trailing UTF-8 byte's width is counted in addition
to the width of the character itself. Each trailing byte counts as being 4
cells wide (since it would be displayed as <xx>).
closes: vim/vim#13909
https://github.com/vim/vim/commit/6638ec8afa9875ff565020536954c424d5f6f27d
Co-authored-by: VanaIgr <vanaigranov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: 'linebreak' may still apply to leading whitespace
(VanaIgr)
Solution: Compare pointers instead of virtual columns.
(zeertzjq)
related: #27180
closes: vim/vim#13915
https://github.com/vim/vim/commit/703f9bc943a29d947869b5cb0370be2ac42d5ac9
Co-authored-by: VanaIgr <vanaigranov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: :drop does not re-use empty buffer
(Rocco Mao)
Solution: Make :drop re-use an empty buffer
(Rocco Mao)
fixes: vim/vim#13851
closes: vim/vim#13881
https://github.com/vim/vim/commit/f96dc8d07f752ddd96d1447d85278a85255a1462
Co-authored-by: Rocco Mao <dapeng.mao@qq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#27140)
Problem: ml_get: invalid lnum when :s replaces visual selection
(@ropery)
Solution: substitute may decrement the number of lines in a buffer,
so validate, that the bottom lines of the visual selection
stays within the max buffer line
fixes: vim/vim#13890
closes: vim/vim#13892
https://github.com/vim/vim/commit/7c71db3a58f658b4329b82ab603efa928d17bdbc
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Missing test for Chuck filetype
after commit 27a4632af6753
(Christian Clason)
Solution: Add a filetype test
https://github.com/vim/vim/commit/c1884c94c5d7246e53a83b03a35a66ce81b49f83
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Sharing queries with upstream and Helix is difficult due to
different capture names.
Solution: Define and document a new set of standard captures that
matches tree-sitter "standard captures" (where defined) and is closer to
Helix' Atom-style nested groups.
This is a breaking change for colorschemes that defined highlights based
on the old captures. On the other hand, the default colorscheme now
defines links for all standard captures (not just those used in bundled
queries), improving the out-of-the-box experience.
|
|
|
|
|
|
|
|
| |
Problem: Test fails with different error number.
Solution: Adjust the expected error.
https://github.com/vim/vim/commit/3cdd799951b4d08f987a8346a8de544e41fab3d7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Modifying a hidden buffer still interferes with prompt buffer
mode changes.
Solution: Save and restore b_prompt_insert.
(zeertzjq)
closes: vim/vim#13875
Modifying hidden buffer still interferes with prompt buffer mode changes
https://github.com/vim/vim/commit/f267847017976ab85117bdf75b45e769836f8d69
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: too vague errors for 'listchars'/'fillchars'
Solution: Include the field name in error message.
(zeertzjq)
related: #27050
closes: vim/vim#13877
https://github.com/vim/vim/commit/6a8d2e1634f8f0d7463a2786dbcbe0f38dd287a7
Co-authored-by: Cole Frankenhoff <cole.nhf@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
modifies hidden buffer (#27051)
Problem: Insert mode not stopped if an autocommand modifies a hidden
buffer while closing a prompt buffer.
Solution: Don't set b_prompt_insert if stop_insert_mode is already set.
(zeertzjq)
closes: vim/vim#13872
https://github.com/vim/vim/commit/96958366ad6159efe708b694055320ed19357e61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* vim-patch:9.1.0035: i_CTRL-] triggers InsertCharPre
Problem: i_CTRL-] triggers InsertCharPre
Solution: Return if CTRL-] is received. InsertCharPre
is supposed to be only used for chars to be inserted
but i_CTRL-] triggers expansion and is not inserted
into the buffer (altermo)
closes: vim/vim#13853
closes: vim/vim#13864
https://github.com/vim/vim/commit/7d711fe2092d0438d2df5054df735ec34926e2bc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Modula2 filetype support lacking
Solution: Improve the Modula-2 runtime support, add additional modula2
dialects, add compiler plugin, update syntax highlighting,
include syntax tests, update Makefiles (Doug Kearns)
closes: vim/vim#6796
closes: vim/vim#8115
https://github.com/vim/vim/commit/68a89470693c7687d4e736ca056c05de632e3ac7
- Luaify the detection script:
- Split the `(*!m2foo*)` and `(*!m2foo+bar*)` detection into two Lua patterns,
as Lua capture groups cannot be used with `?` and friends (as they only work
on character classes).
- Use `vim.api.nvim_buf_call()` (ew) to call `modula2#SetDialect()` to ensure
`b:modula2` is set for the given bufnr.
- Skip the syntax screendump tests. (A shame as they test some of the detection
from `(*!m2foo+bar*)` tags, but I tested this locally and it seems to work)
- Port the synmenu.vim changes from Vim9 script. (Also tested this locally)
- (And also add the missing comma for `b:browsefilter` from earlier.)
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Vim is missing a foreach() func
Solution: Implement foreach({expr1}, {expr2}) function,
which applies {expr2} for each item in {expr1}
without changing it (Ernie Rael)
closes: vim/vim#12166
https://github.com/vim/vim/commit/e79e2077607e8f829ba823308c91104a795736ba
Partial port as this doesn't handle non-materialized range() lists.
vim-patch:c92b8bed1fa6
runtime(help): delete duplicate help tag E741 (vim/vim#13861)
https://github.com/vim/vim/commit/c92b8bed1fa632569c8358feb3b72dd6a0844ef7
Co-authored-by: Ernie Rael <errael@raelity.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when using nested map().
Solution: Clear the pointer in prepare_vimvar(). (Ozaki Kiichi,
closes vim/vim#4890, closes vim/vim#4891)
https://github.com/vim/vim/commit/27da7de7c547dbf983ed7dd901ea59be4e7c9ab2
Cherry-pick Test_filter_map_nested() from patch 8.1.1964.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot easily get the list of matches
Solution: Add the matchstrlist() and matchbufline() Vim script
functions (Yegappan Lakshmanan)
closes: vim/vim#13766
Omit CHECK_LIST_MATERIALIZE(): it populates a List with numbers only,
and there is a check for strings below.
https://github.com/vim/vim/commit/f93b1c881a99fa847a1bafa71877d7e16f18e6ef
vim-patch:eb3475df0d92
runtime(doc): Replace non-breaking space with normal space (vim/vim#13868)
https://github.com/vim/vim/commit/eb3475df0d927a178789cf8e7fc4983932e1cdbe
Co-authored-by: Yegappan Lakshmanan <4298407+yegappan@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: i_CTRL-R- doesn't work for multibyte chars in Replace mode,
Coverity complains missing return value for u_save_cursor()
Solution: Use mb_charlen() and del_chars() instead, handle failure mode
for u_save_cursor() correctly (@zeertzjq)
closes: vim/vim#13846
https://github.com/vim/vim/commit/424ec1f235a53131042aed94d30f6e2528e551d9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: i_CTRL-R- no longer works in replace mode
Solution: delete characters in replace mode before putting, add a test,
add a bit warning into the documentation, that i_CTRL-R-P/O
is not supported in Replace mode for now
fixes: vim/vim#13792
closes: vim/vim#13816
https://github.com/vim/vim/commit/5d5cbb2b9ac526fb6fad2116e24a282affc45efe
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Deleted lines go to wrong yank register.
Solution: Reset y_append when not calling get_yank_register(). (Christian
Brabandt, closes vim/vim#8872)
https://github.com/vim/vim/commit/78eb9cce911dcd662182443e0920649ec1596d41
Nvim has removed y_append static variable and already works as expected.
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: A few typos in tests and justify.vim
Solution: fix them
closes: vim/vim#13848
https://github.com/vim/vim/commit/dc4c37b9d5130c777b377287b8b38cd24da084cb
Co-authored-by: dundargoc <gocdundar@gmail.com>
|
|\
| |
| | |
test: big cleanup
|
| |
| |
| |
| |
| | |
- remove helpers.cur*meths
- remove helpers.nvim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: default diff highlighting is too noisy
Solution: Link diff highlighting groups to new
Added/Removed/Changed, revert previous change
(Romain Lafourcade)
Remove diff* links added in vim/vim#13776 and doc added in commit b1392be
The links added in vim/vim#13776 are way too noisy for the contexts in which
the `diff` syntax is applied (git commits, patches, etc.).
This commit:
- removes those links
- adds new default highlighting groups Added, Changed and
Removed
- links the diff highlighting groups to those new defaults
- removes the doc changes
- adjusts the syntax_completion test for those newly added group
names
Note: Changes to the default color schemes will be handled separately,
by adding links to those newly created Added/Removed/Changed
highlighting groups.
related: vim/vim#13776
closes vim/vim#13825
https://github.com/vim/vim/commit/124371c5a149a8c0c75c04b6c90ac11e71a0aa97
Co-authored-by: Romain Lafourcade <romain.lafourcade@razorfish.fr>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: regexp cannot match combining chars in collection
Solution: Check for combining characters in regex collections for the
NFA and BT Regex Engine
Also, while at it, make debug mode work again.
fixes vim/vim#10286
closes: vim/vim#12871
https://github.com/vim/vim/commit/d2cc51f9a1a5a30ef5d2e732f49d7f495cae24cf
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: regression with empty inner blocks introduced
(after v9.1.0007)
Solution: Set correct cursor position, Check for visual mode
being active (Maxim Kim)
relates: vim/vim#13514
closes: vim/vim#13819
https://github.com/vim/vim/commit/3779516988f14f2070d827514c79383334a0946b
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: can select empty inner text blocks
(laurentalacoque)
Solution: make selecting empty inner text blocks an error
textobjects: Make selecting inner empty blocks an error
fixes: vim/vim#13514
closes: vim/vim#13523
https://github.com/vim/vim/commit/ad4d7f446dc6754bde212234d46f4849b520b6e0
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Keymap completion is not available
Solution: Add keymap completion (Doug Kearns)
Add keymap completion to the 'keymap' option, user commands and builtin
completion functions.
closes: vim/vim#13692
https://github.com/vim/vim/commit/81642d9d6ff5cd6a90a012b1b98632ce51eeb1a8
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid `prevwin == curwin` when closing `curwin`
Problem: When closing the current window (or when moving it to a tabpage), the
previous window may refer to the new current window
(`winnr() == winnr('#')`) if that window is selected as the
new current window.
Solution: Set `prevwin = NULL` when switching away from an invalid `curwin` and
the target window was the `prevwin`.
(Sean Dewar)
related: vim/vim#4537
closes: vim/vim#13762
https://github.com/vim/vim/commit/bf44b69d1f91d9778ae1887128c63d35d9a3d19b
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: a closing fold expression may unexpectedly start a new fold
when it should end a fold
(reported by Shota Nozaki)
Solution: if a fold hasn't started yet, do not immediately
start a new fold with level 1
(Shota Nozaki)
fixes: vim/vim#12768
closes: vim/vim#13748
https://github.com/vim/vim/commit/0689b870595c687a23e102913ce5037f65d03748
Co-authored-by: Shota Nozaki <emonkak@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: cursor wrong after { in single line buffer
(Edwin Chan)
Solution: do not place the cursor at the end for a single
line buffer when moving backwards
(Gary Johnson)
closes: vim/vim#13780
closes: vim/vim#13783
https://github.com/vim/vim/commit/9e6549d2fb282c45a2492ea95fe7ba54c2082c3e
Co-authored-by: Gary Johnson <garyjohn@spocom.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
fit (#26765)
Problem: Visual selection isn't drawn with 'breakindent' when the line
doesn't fit in the window (Jaehwang Jung)
Solution: Adjust wlv->fromcol also for 'breakindent' (zeertzjq)
closes: vim/vim#13767
closes: vim/vim#13768
https://github.com/vim/vim/commit/23627722d36b49e38ba6f8dc6bb3ebe19c98a83b
|
|
|
|
|
|
| |
Deleting a cpo flag a day keeps the doctor away
We don't need two different ways to indent LISP code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: no filetype detection for execline scripts
Solution: Add filetype detection for execline
as a prior to adding syntax support for execline (see
https://github.com/djpohly/vim-execline/issues/2), i went ahead and made
the filetype detection for execline scripts.
closes: vim/vim#13689
Signed-Off-By: Mazunki Hoksaas <rolferen@gmail.com>
https://github.com/vim/vim/commit/63210c214afa6589b6132bd060908a8711f4567f
Co-authored-by: Mazunki Hoksaas <rolferen@gmail.com>
|
|
|
|
|
|
|
|
| |
Problem: Wrong cursor position when dragging out of window.
Solution: Don't use ScreenCols[] when mouse is not in current window.
closes: vim/vim#13717
https://github.com/vim/vim/commit/ec14924368e23f2430815c009bd554f88de9c57f
|
|
|
|
|
|
|
|
|
| |
Problem: reg_executing() returns wrong result in :normal with range
when 'showcmd' is set (after 8.2.4705).
Solution: Reset "pending_end_reg_executing" when executing a register.
closes: vim/vim#13707
https://github.com/vim/vim/commit/615202bd0ebc1d8e3532f24b9b7232c2fd86b181
|
|
|
|
| |
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
Co-authored-by: Jordan Mandel <jordan.mandel@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Moving tabpages on :drop may cause an endless loop
Solution: Disallow moving tabpages on :drop when cleaning up the arglist
first
Moving tabpages during drop command may cause an endless loop
When executing a :tab drop command, Vim will close all windows not in
the argument list. This triggers various autocommands. If a user has
created an 'au Tabenter * :tabmove -' autocommand, this can cause Vim to
end up in an endless loop, when trying to iterate over all tabs (which
would trigger the tabmove autocommand, which will change the tpnext
pointer, etc).
So instead of blocking all autocommands before we actually try to edit
the given file, lets simply disallow to move tabpages around. Otherwise,
we may change the expected number of events triggered during a :drop
command, which users may rely on (there is actually a test, that expects
various TabLeave/TabEnter autocommands) and would therefore be a
backwards incompatible change.
Don't make this an error, as this could trigger several times during the
drop command, but silently ignore the :tabmove command in this case (and
it should in fact finally trigger successfully when loading the given
file in a new tab). So let's just be quiet here instead.
fixes: vim/vim#13676
closes: vim/vim#13686
https://github.com/vim/vim/commit/df12e39b8b9dd39056e22b452276622cb7b617fd
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|\
| |
| | |
refactor(options): remove option type macros
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: We have `P_(BOOL|NUM|STRING)` macros to represent an option's type, which is redundant because `OptValType` can already do that. The current implementation of option type flags is also too limited to allow adding multitype options in the future.
Solution: Remove `P_(BOOL|NUM|STRING)` and replace it with a new `type_flags` attribute in `vimoption_T`. Also do some groundwork for adding multitype options in the future.
Side-effects: Attempting to set an invalid keycode option (e.g. `set t_foo=123`) no longer gives an error.
|