Yee Cheng Chin
900894b09a
patch 9.0.1958: cannot complete option values
...
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-29 20:42:32 +02:00
zeertzjq
46bdae036a
patch 9.0.1934: :bwipe fails after switching window from aucmd_win.
...
Problem: :bwipe fails after switching window from aucmd_win.
Solution: Decrement b_nwindows after switching back to aucmd_win.
closes : #13160
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2023-09-24 23:17:14 +02:00
Christian Brabandt
590aae3557
patch 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode
...
Problem: Empty CmdlineEnter autocommand causes errors in Ex mode.
Solution: Save and restore ex_pressedreturn. (Christian Brabandt,
closes # 12581, closes #12578 )
2023-06-25 22:34:22 +01:00
zeertzjq
a40c0bcc83
patch 9.0.1582: :stopinsert may not work in a popup close handler
...
Problem: :stopinsert may not work in a popup close handler. (Ben Jackson)
Solution: Restore stop_insert_mode when appropriate. (closes #12452 ,
closes #12434 )
2023-05-27 14:10:08 +01:00
Bram Moolenaar
79cdf026f1
patch 9.0.1571: RedrawingDisabled not used consistently
...
Problem: RedrawingDisabled not used consistently.
Solution: Avoid RedrawingDisabled going negative. Set RedrawingDisabled in
win_split_ins(). (closes #11961 )
2023-05-20 14:07:00 +01:00
ichizok
7e5fe38efc
patch 9.0.1454: code indenting is confused by macros
...
Problem: Code indenting is confused by macros.
Solution: Put semicolon after the macros instead of inside. (Ozaki Kiichi,
closes #12257 )
2023-04-15 13:17:50 +01:00
Bram Moolenaar
05a627c3d4
patch 9.0.1443: ending Insert mode when accessing a hidden prompt buffer
...
Problem: Ending Insert mode when accessing a hidden prompt buffer.
Solution: Don't stop Insert mode when it was active before. (closes #12237 )
2023-04-09 22:01:31 +01:00
orbital
cde8de0345
patch 9.0.1439: start Insert mode when accessing a hidden prompt buffer
...
Problem: Start Insert mode when accessing a hidden prompt buffer.
Solution: Call leaving_window() in aucmd_restbuf(). (Thorben Tröbst,
closes #12148 , closes #12147 )
2023-04-02 22:05:13 +01:00
Dominique Pelle
e764d1b421
patch 9.0.1403: unused variables and functions
...
Problem: Unused variables and functions.
Solution: Delete items and adjust #ifdefs. (Dominique Pellé, closes #12145 )
2023-03-12 21:20:59 +00:00
zeertzjq
49f0524fb5
patch 9.0.1277: cursor may move with autocmd in Visual mode
...
Problem: Cursor may move with autocmd in Visual mode.
Solution: Restore "VIsual_active" before calling check_cursor().
(closes #11939 )
2023-02-04 10:58:34 +00:00
Yegappan Lakshmanan
1cfb14aa97
patch 9.0.1166: code is indented more than necessary
...
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11792 )
2023-01-09 19:04:23 +00:00
Bram Moolenaar
bb393d8259
patch 9.0.1039: using a <Cmd> mapping CmdlineChanged may be triggered twice
...
Problem: Using a <Cmd> mapping CmdlineChanged may be triggered twice.
Solution: Count the number of times CmdlineChanged is triggered and avoid
doing it twice. (closes #116820
2022-12-09 12:21:50 +00:00
Bram Moolenaar
84497cd06f
patch 9.0.0967: leaking memory from autocmd windows
...
Problem: Leaking memory from autocmd windows.
Solution: Free window when auc_win is not NULL.
2022-11-28 20:34:52 +00:00
Bram Moolenaar
e76062c078
patch 9.0.0965: using one window for executing autocommands is insufficient
...
Problem: Using one window for executing autocommands is insufficient.
Solution: Use up to five windows for executing autocommands.
2022-11-28 18:51:43 +00:00
Bram Moolenaar
35fc61cb5b
patch 9.0.0917: the WinScrolled autocommand event is not enough
...
Problem: The WinScrolled autocommand event is not enough.
Solution: Add WinResized and provide information about what changed.
(closes #11576 )
2022-11-22 12:40:50 +00:00
Bram Moolenaar
2996773276
patch 9.0.0915: WinScrolled may trigger immediately when defined
...
Problem: WinScrolled may trigger immediately when defined.
Solution: Initialize the fields in all windows. (closes #11582 )
2022-11-20 12:11:45 +00:00
Bram Moolenaar
3b014befa0
patch 9.0.0871: using freed memory when clearing augroup at more prompt
...
Problem: Using freed memory when clearing augroup at more prompt.
Solution: Delay clearing augroup until it's safe. (closes #11441 )
2022-11-13 17:53:46 +00:00
Shougo Matsushita
4ccaedfcd7
patch 9.0.0756: no autocmd event for changing text in a terminal window
...
Problem: No autocmd event for changing text in a terminal window.
Solution: Add TextChangedT. (Shougo Matsushita, closes #11366 )
2022-10-15 11:48:00 +01:00
zeertzjq
c601d988b6
patch 9.0.0713: <amatch> of MenuPopup event is expanded like a file name
...
Problem: <amatch> of MenuPopup event is expanded like a file name.
Solution: Do not expand <amatch> for MenuPopup. (closes #11328 )
2022-10-10 13:46:15 +01:00
Yegappan Lakshmanan
e9dcf13a30
patch 9.0.0568: autocmd code is indented more than needed
...
Problem: Autocmd code is indented more than needed.
Solution: Break out sooner. (Yegappan Lakshmanan, closes #11208 )
Also in user function code.
2022-09-24 11:30:41 +01:00
zeertzjq
670ab0334b
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
...
Problem: WinScrolled is not triggered when only skipcol changes.
Solution: Add w_last_skipcol and use it. (closes #10998 )
2022-08-28 19:16:15 +01:00
Bram Moolenaar
d61efa50f8
patch 9.0.0063: too many type casts for dict_get functions
...
Problem: Too many type casts for dict_get functions.
Solution: Change the key argument from "char_u *" to "char *".
2022-07-23 09:52:04 +01:00
Bram Moolenaar
5fa9f23a63
patch 9.0.0061: ml_get error with nested autocommand
...
Problem: ml_get error with nested autocommand.
Solution: Also check line numbers for a nested autocommand. (closes #10761 )
2022-07-23 09:06:48 +01:00
Yegappan Lakshmanan
ca195cc84f
patch 8.2.5089: some functions return a different value on failure
...
Problem: Some functions return a different value on failure.
Solution: Initialize the return value earlier. (Yegappan Lakshmanan,
closes #10568 )
2022-06-14 13:42:26 +01:00
Bram Moolenaar
882476ad7b
patch 8.2.5051: check for autocmd_add() event argument is confusing
...
Problem: Check for autocmd_add() event argument is confusing.
Solution: Make the code more straightforward.
2022-06-01 16:02:38 +01:00
Yegappan Lakshmanan
00e977cb83
patch 8.2.5049: insufficient tests for autocommands
...
Problem: Insufficient tests for autocommands.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507 )
2022-06-01 12:31:53 +01:00
Bram Moolenaar
968443efb5
patch 8.2.5033: build error with +eval but without +quickfix
...
Problem: Build error with +eval but without +quickfix. Warning for
uninitialized variable.
Solution: Adjust #ifdefs. (John Marriott)
2022-05-27 21:16:34 +01:00
Yegappan Lakshmanan
e0ff3a7de6
patch 8.2.5030: autocmd_add() can only handle one event and pattern
...
Problem: autocmd_add() can only handle one event and pattern.
Solution: Support a list of events and patterns. (Yegappan Lakshmanan,
closes #10483 )
2022-05-27 18:05:33 +01:00
Yegappan Lakshmanan
971f6825ee
patch 8.2.5011: Replacing an autocommand requires several lines
...
Problem: Replacing an autocommand requires several lines.
Solution: Add the "replace" flag to autocmd_add(). (Yegappan Lakshmanan,
closes #10473 )
2022-05-24 11:40:11 +01:00
Yegappan Lakshmanan
1755a91851
patch 8.2.4981: it is not possible to manipulate autocommands
...
Problem: It is not possible to manipulate autocommands.
Solution: Add functions to add, get and set autocommands. (Yegappan
Lakshmanan, closes #10291 )
2022-05-19 10:31:47 +01:00
Bram Moolenaar
249591057b
patch 8.2.4911: the mode #defines are not clearly named
...
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
2022-05-07 20:01:16 +01:00
LemonBoy
eca7c60d68
patch 8.2.4749: <script> is not expanded in autocmd context
...
Problem: <script> is not expanded in autocmd context.
Solution: Add the context to the pattern struct. (closes #10144 )
Rename AutoPatCmd to AutoPatCmd_T.
2022-04-14 15:39:43 +01:00
LemonBoy
2bf52dd065
patch 8.2.4723: the ModeChanged autocmd event is inefficient
...
Problem: The ModeChanged autocmd event is inefficient.
Solution: Avoid allocating memory. (closes #10134 ) Rename
trigger_modechanged() to may_trigger_modechanged().
2022-04-09 18:17:34 +01:00
LemonBoy
0937182d49
patch 8.2.4713: plugins cannot track text scrolling
...
Problem: Plugins cannot track text scrolling.
Solution: Add the WinScrolled event. (closes #10102 )
2022-04-08 15:18:45 +01:00
Bram Moolenaar
f07751457c
patch 8.2.4505: Vim9: outdated "autocmd nested" still works
...
Problem: Vim9: outdated "autocmd nested" still works.
Solution: Do not accept the :autocmd argument "nested" without "++" in Vim9
script.
2022-03-04 20:10:38 +00:00
kylo252
ae6f1d8b14
patch 8.2.4402: missing parenthesis may cause unexpected problems
...
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros. (closes #9788 )
2022-02-16 19:24:07 +00:00
Bram Moolenaar
f6246f51e3
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
...
Problem: <amatch> is expanded like a file name for DirChangedPre.
Solution: Do not expand <amatch>. (closes #9742 ) Also for the User event.
2022-02-11 16:30:12 +00:00
Bram Moolenaar
28e8f73ae2
patch 8.2.4335: no autocommand event triggered before changing directory
...
Problem: No autocommand event triggered before changing directory. (Ronnie
Magatti)
Solution: Add DirChangedPre. (closes #9721 )
2022-02-09 12:58:20 +00:00
Bram Moolenaar
dff97e65eb
patch 8.2.4208: using setbufvar() may change the window title
...
Problem: Using setbufvar() may change the window title.
Solution: Do not redraw when creating the autocommand window. (closes #9613 )
2022-01-24 20:00:55 +00:00
Bram Moolenaar
cb1956d6f2
patch 8.2.4028: ml_get error with :doautoall and Visual area
...
Problem: ml_get error with :doautoall and Visual area. (Sean Dewar)
Solution: Disable Visual mode while executing autocommands.
2022-01-07 15:45:18 +00:00
Bram Moolenaar
460ae5dfca
patch 8.2.3967: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2022-01-01 14:19:49 +00:00
Bram Moolenaar
436b5adc97
patch 8.2.3961: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 22:49:24 +00:00
Bram Moolenaar
f1474d801b
patch 8.2.3960: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 19:59:55 +00:00
Bram Moolenaar
6d0570117a
patch 8.2.3959: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 18:49:43 +00:00
Bram Moolenaar
b6db146762
patch 8.2.3886: can define autocmd for every event by using "au!"
...
Problem: Can define autocmd for every event by using "au!".
Solution: Check if a command is present also for "au!".
2021-12-24 19:24:47 +00:00
Bram Moolenaar
d2ff705af3
patch 8.2.3837: QNX: crash when compiled with GUI but using terminal
...
Problem: QNX: crash when compiled with GUI but using terminal.
Solution: Check gui.in_use is set. (Hirohito Higashi, closes #9363 )
2021-12-17 16:00:04 +00:00
ichizok
c3f91c0648
patch 8.2.3833: error from term_start() not caught by try/catch
...
Problem: Error from term_start() not caught by try/catch.
Solution: save and restore did_emsg when applying autocommands. (Ozaki
Kiichi, closes #9361 )
2021-12-17 09:44:33 +00:00
Bram Moolenaar
651fca85c7
patch 8.2.3699: the +title feature adds a lot of #ifdef but little code
...
Problem: The +title feature adds a lot of #ifdef but little code.
Solution: Graduate the +title feature.
2021-11-29 20:39:38 +00:00
Bram Moolenaar
b8e642f7ac
patch 8.2.3626: "au! event" cannot be followed by another command
...
Problem: "au!" and "au! event" cannot be followed by another command as
documented.
Solution: When a bar is found set nextcmd.
2021-11-20 10:38:25 +00:00
naohiro ono
23beefed73
patch 8.2.3591: no event is triggered when closing a window
...
Problem: No event is triggered when closing a window.
Solution: Add the WinClosed event. (Naohiro Ono, closes #9110 )
2021-11-13 12:38:49 +00:00