| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros.
https://github.com/vim/vim/commit/ae6f1d8b14c2f63811ee83ef14e32086fb3e9b83
|
|
|
|
|
|
| |
Problem: Various formatting problems.
Solution: Improve the code formatting.
https://github.com/vim/vim/commit/b4ad3b0deac12674a7773311890b48fd39c6807c
|
|
|
|
|
| |
"'qi' points to the global variable 'ql_info' or the window local location list stack 'wp->w_llist'. The contents of these structures can be changed out-of-band by an autocmd."
https://github.com/vim/vim/pull/9993#issuecomment-1076544168
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Syntax coloring and highlighting is in one big file.
Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan,
closes vim/vim#4674)
https://github.com/vim/vim/commit/f9cc9f209ede9f15959e4c2351e970477c139614
Name the new file highlight_group.c instead.
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|\
| |
| | |
feat(statusline): add global statusline
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ref: #9342
Adds the option to have a single global statusline for the current window at the bottom of the screen instead of a statusline at the bottom of every window. Enabled by setting `laststatus = 3`.
Due to the fact that statuslines at the bottom of windows are removed when global statusline is enabled, horizontal separators are used instead to separate horizontal splits. The horizontal separator character is configurable through the`horiz` item in `'fillchars'`. Separator connector characters are also used to connect the horizontal and vertical separators together, which are also configurable through the `horizup`, `horizdown`, `vertleft`, `vertright` and `verthoriz` items in `fillchars`.
The window separators are highlighted using the `WinSeparator` highlight group, which supersedes `VertSplit` and is linked to `VertSplit` by default in order to maintain backwards compatibility.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: If the quickfix buffer is wiped out getqflist() still returns its
number.
Solution: Use zero if the buffer is no longer present. (Yegappan Lakshmanan,
closes vim/vim#9306)
https://github.com/vim/vim/commit/56150da6879a96db1c84c7ec4ceedeb84969f606
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Quickfix buffer becomes hidden while still in a window.
Solution: Check if the closed window is the last window showing the quickfix
buffer. (Yegappan Lakshmanan, closes vim/vim#9303, closes vim/vim#9300)
https://github.com/vim/vim/commit/78a61068cf2c83e611d954a0fb413a09ad59dc07
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Quickfix buffer shows up in list, can't get buffer number.
Solution: Make the quickfix buffer unlisted when the quickfix window is
closed. get the quickfix buffer number with getqflist().
(Yegappan Lakshmanan, closes vim/vim#4113)
https://github.com/vim/vim/commit/647e24ba3dbf7ff448aa471b1a659a18267ae056
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Failure when closing a window when location list is in use.
Solution: Handle the situation gracefully. Make sure memory for 'switchbuf'
is not freed at the wrong time. (Yegappan Lakshmanan,
closes vim/vim#3928)
https://github.com/vim/vim/commit/eeb1b9c7ed33c152e041a286d79bf3ed00d80e40
|
| |
| |
| |
| |
| |
| | |
Problem: New buffer used every time the quickfix window is opened.
Solution: Reuse the buffer. (Yegappan Lakshmanan, closes vim/vim#3902)
https://github.com/vim/vim/commit/ee8188fc74a7cf9ee7acb634b2bb7a032d0cb24c
|
| |
| |
| |
| | |
Ref #14240
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: No support for end line number and column in 'errorformat'.
Solution: Add %e and %k. (closes vim/vim#9624)
https://github.com/vim/vim/commit/e023d499378942a6c3a3855cbe461ec2cb570f63
Use "\t" to represent a Tab as it looks better.
|
|
|
|
|
|
|
|
| |
Problem: The ex_vimgrep() function is too long.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#5211)
https://github.com/vim/vim/commit/d6a98a3a9768568b668f91a53267b36f86b84466
Including a missing change to ex_vimgrep() from patch 8.0.1831.
|
|
|
|
|
|
| |
Problem: Cannot grep using fuzzy matching.
Solution: Add the "f" flag to :vimgrep. (Yegappan Lakshmanan, closes vim/vim#8152)
https://github.com/vim/vim/commit/bb01a1ef3a093cdb36877ba73474719c531dc8cb
|
|
|
|
|
|
|
|
|
| |
* vim-patch:8.2.3914: various spelling mistakes in comments
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes vim/vim#9416)
https://github.com/vim/vim/commit/af4a61a85d6e8cacc35324f266934bc463a21673
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When filling a quickfix/loclist from a string-typed VimL variable, the
complexity is O(N^2) in the number of lines in the variable.
The problem is caused by using `xstrlcpy(3)` to copy the characters from
the current position up to the next newline into the quickfix/loclist
buffer in a loop.
strlcpy(3) returns the length of `src`, so by necessity it has to
compute `strlen(src)`. This means scanning the full rest of the typval
on every iteration while only copying a small fraction (up to the next
'\n').
This is not a problem whenever the srclen-to-copylen ratio is close to
1, which it usually is. But not in this case. Since we already
calculated exactly how many bytes we want to copy, we should be using
memcpy(3).
This problem is not present in Vim, as it uses `vim_strncpy`, a
`strncpy(3)`-alike, which stops at either `\0` or `n`, whichever comes
first.
The quickfix/loclist window can be filled using a:
1. File (used by commands like :grep/:make/... to source directly
from their errorfile)
2. Buffer (used by :cbuffer and its variants)
3. Typval
a. String (used by :cexpr and its variants)
b. List of strings (used by setqflist(), setloclist(), :cepxr and its
variants)
This commit optimizes case (3a), especially when the typval is a long
string.
The pathological path is triggered by (e.g.) :grep enhancements as found
in https://gist.github.com/romainl/56f0c28ef953ffc157f36cc495947ab3:
function! Grep(...)
return system(join([&grepprg] + a:000), ' '))
endfunction
:cgetexpr Grep('foo')
It would've been better for Neovim to use `systemlist` here, before this
commit.
|
|
|
|
|
| |
Possibly dialog code is messages.c could be moved here as well.
misc1.c is now empty, so delete it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sp_enum_after_assign = force
* sp_brace_typedef = force
* nl_do_brace = remove
* sp_do_brace_open = force
* sp_brace_close_while = force
* sp_before_semi = remove
* sp_before_semi_for = remove
* sp_before_semi_for_empty = remove
* sp_between_semi_for_empty = remove
* sp_after_semi_for_empty = remove
* sp_before_square = remove
* sp_before_squares = remove
* sp_inside_square = remove
* sp_inside_fparens = remove
* sp_inside_fparen = remove
* sp_inside_tparen = remove
* sp_after_tparen_close = remove
* sp_return_paren = force
* pos_bool = lead
* sp_pp_concat = remove
* sp_pp_stringify = remove
* fixup: disable formatting for the INIT section
|
|
|
| |
* refactor: reduce number of explicit char casts
|
|
|
|
|
|
| |
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
https://github.com/vim/vim/commit/32526b3c1846025f0e655f41efd4e5428da16b6c
|
|
|
|
|
|
|
|
|
| |
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactor: general good option changes
sp_deref = remove
sp_not = remove
sp_inv = remove
sp_inside_paren_cast = remove
mod_remove_duplicate_include = true
sp_after_semi = add
sp_after_semi_for = force
sp_sizeof_paren = remove
nl_return_expr = remove
nl_else_brace = remove
nl_else_if = remove
* refactor: mod_remove_extra_semicolon = true
* refactor: nl_max = 3
* refactor: sp_bool = force
* refactor: sp_compare = force
* refactor: sp_inside_paren = remove
* refactor: sp_paren_paren = remove
* refactor: sp_inside_sparen = remove
* refactor: sp_before_sparen = force
* refactor: sp_sign = remove
* refactor: sp_addr = remove
* refactor: sp_member = remove
* refactor: nl_struct_brace = remove
* refactor: nl_before_if_closing_paren = remove
* refactor: nl_fdef_brace = force
* refactor: sp_paren_comma = force
* refactor: mod_full_brace_do = add
|
| |
|
|
|
|
|
|
|
|
| |
(#16108)
Problem: Opening the quickfix window triggers BufWinEnter twice. (Yorick
Peterse)
Solution: Only trigger BufWinEnter with "quickfix". (closes vim/vim#9022)
https://github.com/vim/vim/commit/1d30fde3c989a962e0e1af4cbcf90e1ea483f1f4
|
|
|
|
|
|
| |
Problem: Typos in comments.
Solution: Fix the typos. (Dominique Pelle, closes vim/vim#5160) Also adjust
formatting a bit.
https://github.com/vim/vim/commit/32aa10203bd0b4b270def03311a4599f9ffdecc4
|
| |
|
| |
|
|
|
| |
* fixup: force exactly one whitespace between type and variable
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Location list window may open a wrong file.
Solution: Also update the qf_ptr field. (Wei-Chung Wen, closes vim/vim#8565,
closes vim/vim#8566)
https://github.com/vim/vim/commit/1557b16dad2b1a3466a93d015575cd7fdb4661c9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Location list only has the start position.
Solution: Make it possible to add an end position. (Shane-XB-Qian,
closes vim/vim#8393)
https://github.com/vim/vim/commit/6864efa59636ccede2af24e3f5f92d78d210d77b
N/A patches for version.c:
vim-patch:8.2.3002: Vim doesn't abort on a fatal Tcl error
Problem: Vim doesn't abort on a fatal Tcl error.
Solution: Change emsg() to iemsg(). (Dominique Pellé, closes vim/vim#8383)
https://github.com/vim/vim/commit/affd0bc626560631f1df2e0f68db2f15dbda47e1
vim-patch:8.2.3030: Coverity reports a memory leak
Problem: Coverity reports a memory leak.
Solution: Fix the leak and a few typos. (Dominique Pellé, closes vim/vim#8418)
https://github.com/vim/vim/commit/cb54bc65625abad9a0af501acac5c70fba17e2cc
Patch v8.2.3022 is mostly N/A but cannot be included here
because of new feature check for "has()".
vim-patch:8.2.3032: build problems with MSVC, other crypt issues with libsodium
Problem: Build problems with MSVC, other crypt issues with libsodium.
Solution: Adjust MSVC makefile. Disable swap file only when 'key' is set.
Adjust error message used when key is wrong. Fix Coverity issues.
(Christian Brabandt, closes vim/vim#8420, closes vim/vim#8411)
https://github.com/vim/vim/commit/226b28b96150e59375d2bff44e0aadd382b0c3f1
vim-patch:8.2.3044: Amiga MorphOS and AROS: process ID is not valid
Problem: Amiga MorphOS and AROS: process ID is not valid.
Solution: Use FindTask to return something which is unique to all processes.
(Ola Söder, closes vim/vim#8444)
https://github.com/vim/vim/commit/3a62b14077c51c739cdc755356882b40c299f1c0
vim-patch:8.2.3046: Amiga MorphOS: Term mode is set using DOS packets
Problem: Amiga MorphOS: Term mode is set using DOS packets.
Solution: Use the same way of setting term mdoe on all next gen Amiga-like
systems. (Ola Söder, closes vim/vim#8445)
https://github.com/vim/vim/commit/b420ac9d20d484ba0ebf3e328069251a63f96996
|
|\
| |
| | |
Decrease reliance on curbuf in BUFEMPTY and `undo.c`
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
buffers (#14865)
Problem: Formatting using quickfixtextfunc is lost when updating location
lists for different buffers. (Yorick Peterse)
Solution: Use the right window for the locaiton list. (Yegappan Lakshmanan,
closes vim/vim#8400, closes vim/vim#8403)
https://github.com/vim/vim/commit/ad52f96a2d3169cb1b915c1d4a6ba26ba6e5bd0a
|
|
|
|
|
|
|
| |
Problem: BufUnload is not triggered for the quickfix dummy buffer.
Solution: Do trigger BufUnload. (Pontus Leitzler,closes vim/vim#7518, closes vim/vim#7517)
Fix white space around "=".
https://github.com/vim/vim/commit/1cfb9bb5c06c07f14475f39c4eb57fea1f0dfb69
|
|
|
|
|
|
| |
Problem: Cannot use a lambda with quickfix functions.
Solution: Add support for lambda. (Yegappan Lakshmanan, closes vim/vim#6499)
https://github.com/vim/vim/commit/d43906d2e5969288f239df851f5ad7b1dc2c7251
|
|
|
|
|
|
|
| |
Problem: Insufficient test coverage for quickfix.
Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan,
closes vim/vim#5238)
https://github.com/vim/vim/commit/f9ae154c512683ea7b933f870b0268232fd7ad38
|
| |
|
|
|
|
|
|
| |
Problem: Using 'quickfixtextfunc' is a bit slow.
Solution: Process a list of entries. (Yegappan Lakshmanan, closes vim/vim#6234)
https://github.com/vim/vim/commit/00e260bb6cc33ff5dbba15ac87ca7fd465aa49c0
|
|
|
|
|
|
|
| |
Problem: 'quickfixtextfunc' does not get window ID of location list.
Solution: Add "winid" to the dict argument. (Yegappan Lakshmanan,
closes vim/vim#6222)
https://github.com/vim/vim/commit/7ba5a7eff335dcce25afaa154f32eeadb6014b61
|
|
|
|
|
|
| |
Problem: It is not possible to customize the quickfix window contents.
Solution: Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes vim/vim#5465)
https://github.com/vim/vim/commit/858ba06d5f577b187da0367b231f7fa9461cb32d
|
|
|
|
|
|
|
|
| |
(#14286)
Problem: Highlighting for :s wrong when using different separator.
Solution: Use separat argument for search direction and separator. (Rob
Pilling, closes vim/vim#5665)
https://github.com/vim/vim/commit/c036e87bd7001238ab7cc5d9e30e59bbf989a5fd
|
|
|
|
|
| |
Make sure that oldwin is not invalid after splitting
Revisit this when porting vim patch v8.1.0892 and related quickfix patches.
|
|
|
|
|
|
| |
"name" param was cast to (const char *).
All calls to set_internal_string_var() cast from (char *) to (char_u *).
Remove these useless casts.
|