aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/vars.c
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.1.2001: some source files are too big (#21231)zeertzjq2022-11-29
| | | | | | | | | | | | | | 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
| * refactor: replace char_u with chardundargoc2022-11-28
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-11-26
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: remove old TODO comments that aren't relevant anymore (#21144)dundargoc2022-11-22
| |
| * build: allow IWYU to fix includes for all .c filesdundargoc2022-11-15
| | | | | | | | | | | | | | | | | | | | 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.
| * Merge pull request #20821 from dundargoc/refactor/clang-tidybfredl2022-11-08
| |\ | | | | | | refactor: fix clang-tidy warnings
| | * refactor: fix clang-tidy warningsdundargoc2022-11-06
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | vim-patch:8.2.3751: cannot assign a lambda to an option that takes a functionzeertzjq2022-11-07
| |/ | | | | | | | | | | | | | | | | | | 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>
| * vim-patch:9.0.0355: check for uppercase char in autoload name is wrongzeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | | | 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>
| * fix(eval): change some tv_dict_add() usages back to hash_add()zeertzjq2022-11-06
| | | | | | | | Needed for Vim patch 8.2.2920.
| * vim-patch:8.2.1274: Vim9: no error for missing white space at script levelzeertzjq2022-11-06
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * vim-patch:8.2.1395: Vim9: no error if declaring a funcref with lower case letterzeertzjq2022-10-28
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2022-10-11
|\|
| * fix(api): notify dict watchers on nvim_set_var and vim.g settersmolck2022-09-27
| | | | | | | | | | Co-authored-by: bfredl <bjorn.linse@gmail.com> Co-authored-by: Christian Clason <c.clason@uni-graz.at>
| * refactor: replace char_u with charDundar Göc2022-09-11
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-09-09
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-08-31
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-08-31
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with char 4 (#19987)dundargoc2022-08-30
| | | | | | | | | | | | | | * refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * refactor: replace char_u with charDundar Göc2022-08-29
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: change FALSE/TRUE to false/trueLewis Russell2022-08-26
| | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * refactor: suppress clang and PVS warnings (#19940)zeertzjq2022-08-25
| |
| * Merge pull request #19906 from bfredl/bigstagebfredl2022-08-24
| |\ | | | | | | perf(api): allow to use an arena for return values
| | * perf(api): allow to use an arena for return valuesbfredl2022-08-23
| | |
| * | vim-patch:9.0.0206: redraw flags are not named specifically (#19913)zeertzjq2022-08-23
| |/ | | | | | | | | Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen(). https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
| * vim-patch:8.2.4753: error from setting an option is silently ignored (#19888)zeertzjq2022-08-22
| | | | | | | | | | 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
* | feat(userreg): Add user-defined registers to Neovim.Josh Rahm2022-08-21
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'
* vim-patch:8.2.4754: using cached values after unsetting some environment ↵zeertzjq2022-08-21
| | | | | | | | | | 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.
* vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | 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>
* refactor: remove some unused includes (#19820)zeertzjq2022-08-17
| | | Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
* refactor: move non-symbols in ex_eval.h to ex_eval_defs.h (#19739)zeertzjq2022-08-12
| | | | This avoids including ex_eval.h in any other header, thus preventing future circular includes.
* vim-patch:8.2.4492: no error if an option is given a value with ":let &opt = ↵zeertzjq2022-08-07
| | | | | | | | 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
* vim-patch:8.2.1281: the "trailing characters" error can be hard to understandzeertzjq2022-08-07
| | | | | | 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
* refactor: fix clang and PVS warnings (#19532)zeertzjq2022-07-28
|
* vim-patch:9.0.0090: no error when assigning bool to a string option (#19539)zeertzjq2022-07-27
| | | | | 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
* vim-patch:9.0.0066: switching window uneccarily when getting buffer optionszeertzjq2022-07-25
| | | | | | 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
* vim-patch:8.2.4866: duplicate code in "get" functionszeertzjq2022-07-25
| | | | | | | | | 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.
* vim-patch:8.2.2969: subtracting from number option fails when result is zerozeertzjq2022-07-25
| | | | | | | | | | 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
* vim-patch:8.2.2285: Vim9: cannot set an option to a falsezeertzjq2022-07-25
| | | | | | 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
* vim-patch:8.2.2284: Vim9: cannot set an option to a boolean valuezeertzjq2022-07-25
| | | | | | 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
* vim-patch:8.2.2254: Vim9: bool option type is numberzeertzjq2022-07-25
| | | | | | | 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
* vim-patch:8.2.1469: Vim9: cannot assign string to string optionzeertzjq2022-07-25
| | | | | | 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
* vim-patch:8.2.1489: Vim9: error when setting an option with setbufvar()zeertzjq2022-07-22
| | | | | | | | 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.
* refactor: move f_getbufvar() and f_setbufvar() to eval/vars.czeertzjq2022-07-22
| | | | Vim moved them there in patch 8.1.1943.
* vim-patch:8.1.1933: the eval.c file is too big (#19462)zeertzjq2022-07-22
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.