| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Some source files are too big.
Solution: Move buffer and window related functions to evalbuffer.c and
evalwindow.c. (Yegappan Lakshmanan, closes vim/vim#4898)
https://github.com/vim/vim/commit/261f346f8154c0ec7094a4a211c653c74e9f7c2e
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow Include What You Use to remove unnecessary includes and only
include what is necessary. This helps with reducing compilation times
and makes it easier to visualise which dependencies are actually
required.
Work on https://github.com/neovim/neovim/issues/549, but doesn't close
it since this only works fully for .c files and not headers.
|
| |\
| | |
| | | |
refactor: fix clang-tidy warnings
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enable and fix bugprone-misplaced-widening-cast warning.
Fix some modernize-macro-to-enum and readability-else-after-return
warnings, but don't enable them. While the warnings can be useful, they
are in general too noisy to enable.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot assign a lambda to an option that takes a function.
Solution: Automatically convert the lambda to a string. (Yegappan
Lakshmanan, closes vim/vim#9286)
https://github.com/vim/vim/commit/6409553b6e3b4de4e1d72b8ee5445595214581ff
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Check for uppercase char in autoload name is wrong, it checks the
name of the script.
Solution: Remove the check. (closes vim/vim#11031)
https://github.com/vim/vim/commit/6c667bdc9489963102bd6c46b1b73e4d43c034ce
Co-authored-by: thinca <thinca@gmail.com>
|
| |
| |
| |
| | |
Needed for Vim patch 8.2.2920.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Vim9: no error for missing white space in assignment at script
level.
Solution: Check for white space. (closes vim/vim#6495)
https://github.com/vim/vim/commit/63be3d4ba01d565e645d8bf7f4dc900fc9011534
Cherry-pick Test_let_errors() change from patch 8.2.0633.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Vim9: no error if declaring a funcref with a lower case letter.
Solution: Check the name after the type is inferred. Fix confusing name.
https://github.com/vim/vim/commit/98b4f145eb89405021e23a4a37db51d60a75a1d0
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\| |
|
| |
| |
| |
| |
| | |
Co-authored-by: bfredl <bjorn.linse@gmail.com>
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| |
| | |
* refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | |
|
| |\
| | |
| | | |
perf(api): allow to use an arena for return values
|
| | | |
|
| |/
| |
| |
| |
| | |
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
|
| |
| |
| |
| |
| | |
Problem: Error from setting an option is silently ignored.
Solution: Handle option value errors better. Fix uses of N_().
https://github.com/vim/vim/commit/31e5c60a682840959cae6273ccadd9aae48c928d
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change unlocks additional registers for Neovim by allowing a user
to define their own behavior for non-builtin registers.
This is accopmlished through a new option 'userregfunc'
The 'userregfunc' defines the function to call when handling a register
for which there is no builtin functionality.
The 'userregfunc' function should take 3 arguments:
action - Either "yank" or "put"
register - The character corresponding to the register
content - In the case of action == "yank", the dictionary describing
the yanked content, with the following keys:
{type} - Either "char", "line" or "block"
{lines} - The lines being yanked as a list
{width} - The width in case of "block" mode.
{additional_data} - Additional data (can be returned in
"put" mode)
In case of "put" this function should return the content to put. This
content can be either:
* A dictionary in the same template as content above.
* A list of strings. This will be assumed to be "line" mode.
* A string. This will be assumed to be "char" mode.
An example of a "null" 'userregfunc' that provides an implementation
identical to traditional vim registers would be:
let s:contents = {}
function! MyUserregFunction(action, register, content) abort
if a:action == "put"
return get(s:contents, a:register, "")
else
let s:contents[a:register] = a:content
endif
endfunction
set userregfun=MyUserregFunction
It is important to note that any valid unicode character can now be a
register, including something like @☺.
This change also addresses the multibyte parsing issues surrounding
let @a = 'xyz'
let @🔨 = 'hammer'
|
|
|
|
|
|
|
|
|
|
| |
variables (#19872)
Problem: Still using cached values after unsetting some known environment
variables.
Solution: Take care of the side effects. (closes vim/vim#10194)
https://github.com/vim/vim/commit/7714231bb5b15f7c85453f3945c108478de1d08a
Cherry-pick vim_setenv_ext() from patch 8.2.0200.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
| |
Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
|
|
|
|
| |
This avoids including ex_eval.h in any other header, thus preventing
future circular includes.
|
|
|
|
|
|
|
|
| |
val" (#19670)
Problem: No error if an option is given an invalid value with
":let &opt = val".
Solution: Give the error. (closes vim/vim#9864)
https://github.com/vim/vim/commit/8ccbbeb620dcc73154de29c51100fe815cefe109
|
|
|
|
|
|
| |
Problem: The "trailing characters" error can be hard to understand.
Solution: Add the trailing characters to the message.
https://github.com/vim/vim/commit/2d06bfde29bd3a62fc85823d2aa719ef943bd319
|
| |
|
|
|
|
|
| |
Problem: No error when assigning bool to a string option with setwinvar().
Solution: Give an error (closes vim/vim#10766)
https://github.com/vim/vim/commit/28f84e17b068daca2635692d279930dcb7a150d0
|
|
|
|
|
|
| |
Problem: Switching window uneccarily when getting buffer options.
Solution: Do not switch window when getting buffer options. (closes vim/vim#10767)
https://github.com/vim/vim/commit/cd6ad6439da2ee2d1a8a6934c9d69e9c2664ba55
|
|
|
|
|
|
|
|
|
| |
Problem: Duplicate code in "get" functions.
Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
and getbufvar(). (closes vim/vim#10335)
https://github.com/vim/vim/commit/47d4e317f85e4aeb3799d962f173bd0f1e7bc71c
f_setbufvar() can use tv_get_buf_from_arg() as it sets emsg_off.
|
|
|
|
|
|
|
|
|
|
| |
Problem: Subtracting from number option fails when result is zero. (Ingo
Karkat)
Solution: Reset the string value when using the numeric value.
(closes vim/vim#8351)
https://github.com/vim/vim/commit/a42e6e0082a6d564dbfa55317d4a698ac12ae898
Cherry-pick Test_compound_assignment_operators() changes from patch 8.2.1593
|
|
|
|
|
|
| |
Problem: Vim9: cannot set an option to a false.
Solution: For VAR_BOOL use string "0". (closes vim/vim#7603)
https://github.com/vim/vim/commit/b0d8182fa39f2c9403f5f9a0663589fcab43a6c8
|
|
|
|
|
|
| |
Problem: Vim9: cannot set an option to a boolean value.
Solution: Check for VAR_BOOL. (closes vim/vim#7603)
https://github.com/vim/vim/commit/31a201a04aa95708af5d62070d2d397a201cc1a5
|
|
|
|
|
|
|
| |
Problem: Vim9: bool option type is number.
Solution: Have get_option_value() return a different value for bool and
number options. (closes vim/vim#7583)
https://github.com/vim/vim/commit/dd1f426bd617ac6a775f2e7795ff0b159e3fa315
|
|
|
|
|
|
| |
Problem: Vim9: cannot assign string to string option.
Solution: Change checks for option value. (closes vim/vim#6720)
https://github.com/vim/vim/commit/0aae4809fd52b445531766411a9c963dc6274a04
|
|
|
|
|
|
|
|
| |
Problem: Vim9: error when setting an option with setbufvar().
Solution: Do not get a number from a string value. (closes vim/vim#6740)
https://github.com/vim/vim/commit/191929b182ba38abe6bc431fb9d8d9507f408903
Vim9 is N/A, so this just refactors the code without changing behavior.
|
|
|
|
| |
Vim moved them there in patch 8.1.1943.
|
|
Problem: The eval.c file is too big.
Solution: Move code related to variables to evalvars.c. (Yegappan
Lakshmanan, closes vim/vim#4868)
https://github.com/vim/vim/commit/0522ba0359c96a8c2a4fc8fca0d3b58e49dda759
Name the new file eval/vars.c instead.
|