| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows users to define behaviors for arbitrary registers. These
registers can be any character including multibyte characters. This
means that any character may be used as a register and if that register
is not a builtin register, it will defer to a user-defined vimscript
function for behavior.
This is done throw an option called 'userregfun'
The function that 'userregfun' defines is a function that takes 3
arguments:
action - Either set to "put" or "yank"
register - The character representing the register.
content - If the action is "yank" this string contains the content
yanked.
Multibyte registers are still broken for expressions. So while
let @&=xyz
Works as expected,
let @λ=xyz
will still throw a parse error.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: 'showbreak' cannot be set for one window.
Solution: Make 'showbreak' global-local.
https://github.com/vim/vim/commit/ee85702c10495041791f728e977b86005c4496e8
Change in oneleft() is N/A as the relevant condition was removed
(has_mbyte is always true for Nvim, so the condition was always false;
see commit 73dc9e9).
Use wp over curwin for curs_columns().
Required for v8.2.2903 (otherwise test fails as it'll leave the global
option set).
N/A patches for version.c:
vim-patch:8.1.2283: missed on use of p_sbr
Problem: Missed on use of p_sbr.
Solution: Add missing p_sbr change.
https://github.com/vim/vim/commit/91e22eb6e09ec384496fccde812072033fd9e616
Already ported in commit 43a874a.
|
|
|
|
|
|
| |
Problem: Cannot control 'cursorline' highlighting well.
Solution: Add "screenline". (Christian Brabandt, closes vim/vim#4933)
https://github.com/vim/vim/commit/017ba07fa2cdc578245618717229444fd50c470d
|
|
|
|
|
|
| |
Problem: 'cursorline' always highlights the whole line.
Solution: Add 'cursorlineopt' to specify what is highlighted.
(closes vim/vim#4693)
https://github.com/vim/vim/commit/410e98a70bc00ea4bed51e55a8fe20e56a72c087
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Problems when restoring 'runtimepath' from a session file.
Solution: Add the "skiprtp" item in 'sessionoptions'.
https://github.com/vim/vim/commit/635bd60804966803490287e97460ecdc91d5fe0a
Allow "terminal" value for sessionoptions even if it's no-opt
because patch v8.0.1592 is not ported yet.
Omit vim9 test, Test_mksession_skiprtp().
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Problem: Various small code ugliness.
Solution: Remove pointless NULL checks. Fix function calls. Fix typos.
(Dominique Pelle, closes vim/vim#4060)
https://github.com/vim/vim/commit/bdace838c67c1bd94e55e34270a8325933891466
|
|
|
|
|
|
|
| |
Problem: All tab stops are the same.
Solution: Add the variable tabstop feature. (Christian Brabandt,
closes vim/vim#2711)
https://github.com/vim/vim/commit/04958cbaf25eea27eceedaa987adfb354ad5f7fd
|
|
|
|
|
| |
Change to specify a character to be filtered as an option when pasting on
the terminal.
|
|
|
|
|
|
| |
Problem: No 'backspace' value allows ignoring the insertion point.
Solution: Add the "nostop" and 3 values. (Christian Brabandt, closes vim/vim#5940)
https://github.com/vim/vim/commit/aa0489e12d227d24752cf16e4e97058ac32edcc1
|
| |
|
|
|
|
|
|
| |
Problem: Dark them of GTK 3 not supported.
Solution: Add the "d" flag in 'guioptions'. (Jonathan Conder, closes vim/vim#4934)
https://github.com/vim/vim/commit/50bf7ce0c9f8c3ede2d1a02c734beba9d5a0504e
|
|
|
|
|
|
| |
Problem: 'shellslash' is also used for completion.
Solution: Add the 'completeslash' option. (Yasuhiro Matsumoto, closes vim/vim#3612)
https://github.com/vim/vim/commit/ac3150d385e6e3f3fe76642aac3cda954d30583f
|
|
|
|
|
|
| |
Problem: Formatting CJK text isn't optimal.
Solution: Properly break CJK lines. (closes vim/vim#3875)
https://github.com/vim/vim/commit/e52702f00322c8a8861efd0bd6a3775e685e5685
|
|
|
|
|
|
|
| |
Problem: Spell checking doesn't work for CamelCased words.
Solution: Add the "camel" value in the new option 'spelloptions'.
(closes vim/vim#1235)
https://github.com/vim/vim/commit/362b44bd4aa87a2aef0f8fd5a28d68dd09a7d909
|
|
|
|
| |
close #12849
ref eb4aab7173fa1733f77bb6d7117351b47ada6134
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove redundant autocmd list
This "grouped" list is useless, it only gets in the way when searching
for event names.
- intro.txt: cleanup
- starting.txt: update, revisit
- doc: `:help bisect`
- mbyte.txt: update aliases 1656367b90bd. closes #11960
- options: remove 'guifontset'. Why:
- It is complicated and is used by almost no one.
- It is unlikely to be implemented by Nvim GUIs (complicated to parse,
specific to Xorg...).
|
|
|
|
|
|
|
| |
Problem: The "last used" info of a buffer is under used.
Solution: Add "lastused" to getbufinfo(). List buffers sorted by last-used
field. (Andi Massimino, closes vim/vim#4722)
https://github.com/vim/vim/commit/52410575be50d5c40bbe6380159df48cfc382ceb
|
|
|
|
|
|
|
|
|
|
| |
(#11854)
Problem: cannot have a local value for 'scrolloff' and 'sidescrolloff'
Author: Bram Moolenar
https://github.com/vim/vim/commit/375e3390078e740d3c83b0c118c50d9a920036c7
|
| |
|
| |
|
|
|
|
|
| |
- prefer fprintf() instead of put_line()
- PUTLINE_FAIL macro to avoid some boilerplate
|
|
|
|
|
|
|
|
|
| |
Problem: Having 'pumwidth' default to zero has no merit.
Solution: Make the default 15, as the actual default value.
https://github.com/vim/vim/commit/42443c7d7fecc3a2a72154bb6139b028438617c2
Includes 'pumwidth' documentation changes from 8.0.1531.
Sort 'pum*' option in alphabetical order.
|
|
|
|
|
|
|
| |
Problem: The minimum width of the popup menu is hard coded.
Solution: Add the 'pumwidth' option. (Christian Brabandt, James McCoy,
closes vim/vim#2314)
https://github.com/vim/vim/commit/a8f04aa275984183bab5bb583b128f38c64abb69
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Traditionally, when navigating to a specific location from the middle of
the jumplist results in shifting the current location to the bottom of
the list and adding the new location after it. This behavior is not
desireable to all users--see, for example
https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior.
Here, another jumplist behavior is introduced. When jumpoptions (a new
option set added here) includes stack, the jumplist behaves like the
tagstack or like history in a web browser. That is, when navigating to
a location from the middle of the jumplist
2 first
1 second
0 third <-- current location
1 fourth
2 fifth
to a new location the locations after the current location in the jump
list are discarded
2 first
1 second
0 third
<-- current location
The result is that when moving forward from that location, the new
location will be appended to the jumplist:
3 first
2 second
1 third
0 new
If the new location is the same
new == second
as some previous (but not immediately prior) entry in the jumplist,
2 first
1 second
0 third <-- current location
1 fourth
2 fifth
both occurrences preserved
3 first
2 second
1 third
0 second (new)
when moving forward from that location.
It would be desireable to go farther and, when the new location is the
same as the location that is currently next in the jumplist,
new == fourth
make the result of navigating to the new location by jumping (e.g. 50gg)
be the same as moving forward in the jumplist
2 first
1 second
0 third
1 new <-- current location
2 fifth
and simply increment the jumplist index. That change is NOT part of
this patch because it would require passing the new cursor location to
the function (setpcmark) from all of its callees. That in turn would
require those callees to know *before* calling what the new cursor
location is, which do they do not currently.
|
|
|
|
|
| |
Problem: Not always using the right window when jumping to an error.
Solution: Add the "uselast" flag in 'switchbuf'. (closes vim/vim#1652)
https://github.com/vim/vim/commit/539aa6b25eaea91dfd1a175cd053c0f259fa2e58
|
|
|
|
|
|
|
|
|
| |
These options were previously global. A global-local window option
behaves closer to a global option "per default" (i e with :set),
but still supports local behavior via :setl
Also this restores back-compat for nvim_set_option("fcs", ...)
which are currently broken on 0.4.x but worked in earlier versions
|
|
|
|
|
|
| |
Problem: Not possible to process tags with a function.
Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010)
https://github.com/vim/vim/commit/45e18cbdc40afd8144d20dcc07ad2d981636f4c9
|
|
|
|
|
|
|
|
|
|
|
|
| |
Vim patch 8.1.0856 (54d9ea6) caused a performance regression in Neovim,
when `set conceallevel=1 nocursorline` was used, since then due to
refactoring in 23c71d5 `w_last_cursorline` would never get updated
anymore.
Adds/uses `redrawdebug+=nodelta` for testing this.
Fixes https://github.com/neovim/neovim/issues/11100.
Closes https://github.com/neovim/neovim/pull/11101.
|
| |
|
|
|
|
|
|
| |
Problem: Old style comments are wasting space
Solution: Use new style comments in option header file.
https://github.com/vim/vim/commit/ab0a789808ecf8de8f0805ec332f69029897fdb5
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362) Also display the line number with ":verbose set".
https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
|
|/
|
|
|
|
| |
This was marked as NA, but maybe we want the Windows-specific
default 'errorformat'?
https://github.com/vim/vim/commit/97195685334c800c5ad1328d957d1bf21f5fa1fa
|
|
|
|
|
|
|
|
| |
add proper msg_set_pos event, delet win_scroll_over_*
make compositor click through unfocusable grids
add MsgArea attribute for the message/cmdline area, and add docs and tests
|
| |
|
| |
|
| |
|
|
|
|
| |
Also add `hi blend=` attribute to override transparency of indiviual attributes.
|
|
|
|
|
|
|
| |
Problem: Using expressions in a modeline is unsafe.
Solution: Disallow using expressions in a modeline, unless the
'modelineexpr' option is set. Update help, add more tests.
https://github.com/vim/vim/commit/110289e78195b6d01e1e6ad26ad450de476d41c1
|
|
|
|
|
|
|
| |
Problem: GUI window always resizes when adding/removing a scrollbar,
toolbar, etc.
Solution: Add the 'k' flag in 'guioptions' to keep the GUI window size and
change the number of lines/columns instead. (Ychin, closes vim/vim#703)
https://github.com/vim/vim/commit/8ac441576fd219fb7227349e228d5b68520b204a
|
|
|
|
|
|
|
| |
Problem: Cannot see current match position.
Solution: Show "3/44" when using the "n" command and "S" is not in
'shortmess'. (Christian Brabandt, closes vim/vim#4317)
https://github.com/vim/vim/commit/9dfa3139198b38b28673e251a3756430065914e9
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nvim notes:
- Nvim does not support "-u DEFAULTS", that change is omitted.
- Also add 'shadafile' as an alias to 'viminfofile'.
- Deprecate 'viminfofile'.
Problem: Not easy to start Vim cleanly without changing the viminfo file.
Not possible to know whether the -i command line flag was used.
Solution: Add the --clean command line argument. Add the 'viminfofile'
option. Add "-u DEFAULTS".
https://github.com/vim/vim/commit/c4da113ef98dcfd6f2a088b1693c0317dcb5bf42
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc-9 has [improved compliance] with the C spec for lifetime of compound
literals, tying their lifetime to block scope instead of function scope.
This makes the behavior comparable to all other automatic variables.
Using the SHM_ALL #define instantiated a compound literal local to an if
clause and assigned the address to a "char_u *". Since the pointer was
then being used outside of the if clause, it was using an invalid
address.
[improved compliance]: https://gcc.gnu.org/gcc-9/porting_to.html#complit
Closes #9855
|
|
|
|
|
| |
Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor
position), and will allow further expansion (info about items).
|
|
|
|
|
| |
Problem: Cannot avoid breaking after a single space.
Solution: Add the 'p' flag to 'formatoptions'. (Tom Ryder)
https://github.com/vim/vim/commit/c3c3158756ae074052b0db2a3e3a7ba192df5330
|
|
|
|
|
| |
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
|