aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
* Merge branch 'aucmd_textputpost' into 20230125_mix20230125_mixJosh Rahm2023-02-02
|\
| * vim-patch:9.0.1271: using sizeof() and subtract array size is tricky (#22087)zeertzjq2023-02-01
| | | | | | | | | | | | Problem: Using sizeof() and subtract array size is tricky. Solution: Use offsetof() instead. (closes vim/vim#11926) https://github.com/vim/vim/commit/1b438a8228a415720efb5ca1c0503f5467292e8e
| * refactor!: remove has("debug") (#22060)dundargoc2023-01-30
| | | | | | | | | | This value can not be relied on as it doesn't work for multi-configuration generators. I don't think this undocumented option is used much, if at all, so I think we should remove it.
| * vim-patch:9.0.1246: code is indented more than necessary (#22006)zeertzjq2023-01-26
| | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11887) https://github.com/vim/vim/commit/142ed77898facf8f423fee2717efee1749c55f9a Omit function_using_block_scopes(): only affects Vim9 script. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:9.0.1231: completion of :runtime does not handle {where} argumentzeertzjq2023-01-26
| | | | | | | | | | | | | | Problem: Completion of :runtime does not handle {where} argument. Solution: Parse the {where} argument. (closes vim/vim#11863) https://github.com/vim/vim/commit/3770f4c9cde7b5fcd10b6fa2e665cd0b69450fb2
| * vim-patch:9.0.1245: code is indented more than necessary (#21998)zeertzjq2023-01-26
| | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11879) https://github.com/vim/vim/commit/032713f8299abd92fcfb1e490d1ae5c1ecadde41 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | add fancycolorcol has flagJosh Rahm2023-01-31
| |
* | Add rneovim has() decl.Josh Rahm2023-01-25
| |
* | Merge branch 'fix_repeatcmdline' into 20230125_mixJosh Rahm2023-01-25
|\ \
| * | Merge remote-tracking branch 'upstream/master' into fix_repeatcmdlineJosh Rahm2023-01-25
| |\|
| * | eval/userfunc.c: save the repeat_cmdline along with the redo buffJosh Rahm2022-09-15
| | | | | | | | | | | | | | | | | | A user function can clobber the repeat_cmdline, which is used to build the redo buffer, thus, if the redo buffer is saved when calling a userfunc, so should the repeat_cmdline.
* | | Merge branch 'userreg' into 20230125_mixJosh Rahm2023-01-25
|\ \ \
| * \ \ Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2023-01-25
| |\ \ \ | | | |/ | | |/|
| * | | Merge remote-tracking branch 'upstream/master' into userregJosh Rahm2022-10-11
| |\ \ \
| * | | | 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'
* | | | Merge remote-tracking branch 'upstream/master' into usermarksusermarksJosh Rahm2023-01-25
|\ \ \ \ | | |_|/ | |/| |
| * | | feat!: make iconv a non-optional depLewis Russell2023-01-23
| | | |
| * | | vim-patch:9.0.1233: search() loops forever if "skip" is TRUE for all matches ↵zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21956) Problem: search() loops forever if "skip" is TRUE for all matches. Solution: Keep the position of the first match. https://github.com/vim/vim/commit/3d79f0a4309995956bd8889940cca22f7a15881d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | refactor: use uint8_t for blobs and ga_append() (#21916)zeertzjq2023-01-21
| | | | | | | | | | | | | | | | | | | | | | | | A blob is used as a sequence of bytes and usually accessed individually, not as as a NUL-terminuated string, so uint8_t should be better. Not sure about ga_append(), but using uint8_t leads to fewer casts.
| * | | refactor: replace char_u with char 25 (#21838)dundargoc2023-01-19
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | vim-patch:8.2.1698: cannot lock a variable in legacy Vim script like in Vim9 ↵zeertzjq2023-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21883) Problem: Cannot lock a variable in legacy Vim script like in Vim9. Solution: Make ":lockvar 0" work. https://github.com/vim/vim/commit/a187c43cfe8863d48b2159d695fedcb71f8525c1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | refactor: replace char_u with char 24 (#21823)dundargoc2023-01-18
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | refactor: replace char_u with char 23 (#21798)dundargoc2023-01-18
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | | refactor: replace char_u with char 22 (#21786)dundargoc2023-01-17
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | | vim-patch:8.2.4928: various white space and cosmetic mistakes (#21854)zeertzjq2023-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Various white space and cosmetic mistakes. Solution: Change spaces to tabs, improve comments. https://github.com/vim/vim/commit/6ed545e79735f23ff8e650bc2f0967e5a0baedc9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | refactor: fix IWYU mapping file and use IWYU (#21802)dundargoc2023-01-15
| | | | | | | | | | | | Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.
| * | | vim-patch:partial:9.0.1196: code is indented more than necessary (#21796)zeertzjq2023-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11813) https://github.com/vim/vim/commit/e8575988969579f9e1439181ae338b2ff74054a8 Partial port as this depends on some previous eval and 'smoothscroll' patches. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | refactor: replace char_u with char 21 (#21779)dundargoc2023-01-14
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | build: remove clint error suppression #21782dundargoc2023-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix remaining clint errors and remove error suppression completely. Rename the lint targets to align with the established naming convention: - lintc-clint lints with clint.py. - lintc-uncrustify lints with uncrustify. - lintc runs both targets. lintc is also provided as a make target for convenience. After this change we can remove these files: https://github.com/neovim/doc/tree/gh-pages/reports/clint https://github.com/neovim/doc/blob/main/ci/clint-errors.sh
| * | | refactor: replace char_u with char 20 (#21714)dundargoc2023-01-13
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | refactor: replace char_u with char 19 (#21241)dundargoc2023-01-10
| | | | | | | | | | | | | | | | | | | | * refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | vim-patch:partial:9.0.1166: code is indented more than necessary (#21716)zeertzjq2023-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11792) https://github.com/vim/vim/commit/1cfb14aa972ccf3235ac67f07b7db1175b7c5384 Partial port as some highlight.c changes depend on previous patches. Cherry-pick fname_match() change from patch 8.2.4959. Omit internal_func_check_arg_types(): only used for Vim9 script. N/A patches for version.c: vim-patch:9.0.1167: EditorConfig files do not have their own filetype Problem: EditorConfig files do not have their own filetype. Solution: Add the "editorconfig" filetype. (Gregory Anders, closes vim/vim#11779) https://github.com/vim/vim/commit/d41262ed06564cef98a3800e2928e6e0db91abbf Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | refactor: replace char_u with char 18 (#21237)dundargoc2023-01-09
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | Merge pull request #21704 from bfredl/nofreebfredl2023-01-09
| |\ \ \ | | | | | | | | | | fix(rpc): don't free args on error in rpc_send_event
| | * | | fix(rpc): don't free args on error in rpc_send_eventbfredl2023-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | fixup #21631 fixes #21690
| * | | | refactor: replace char_u with char 17 - remove STRLCPY (#21235)dundargoc2023-01-09
| |/ / / | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | refactor(api): do not allocate temporaries for internal eventsbfredl2023-01-03
| | | |
| * | | vim-patch:9.0.1137: some conditions are always false (#21628)zeertzjq2023-01-03
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Some conditions are always false. Solution: Remove the useless conditions. (closes vim/vim#11776) https://github.com/vim/vim/commit/ea720aea851e645f4c8ec3b20afb27c7ca38184c
| * | | feat!: remove hardcopyLewis Russell2023-01-03
| | | | | | | | | | | | Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
| * | | vim-patch:9.0.1132: code is indented more than needed (#21626)zeertzjq2023-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than needed. Solution: Use an early return to reduce indentation. (Yegappan Lakshmanan, closes vim/vim#11769) https://github.com/vim/vim/commit/dc4daa3a3915fba11ac87d27977240d9a5e0d47d Omit expand_autoload_callback(): only applies to Vim9 script. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | refactor(f_has): remove wrong comment (#21561)zeertzjq2022-12-28
| | | | | | | | | | | | | | | | Only one of "fork" and "system" should be defined. Also change the line above "win32" to match Vim.
| * | | fix(options): restore exists() behavior for options (#21510)zeertzjq2022-12-23
| | | | | | | | | | | | | | | | | | | | Duplicating get_option_value() logic for an obscure future refactor isn't really worthwhile, and findoption() isn't used anywhere else outside the options code.
| * | | vim-patch:8.2.1210: using ht_used when looping through a hashtab is less ↵zeertzjq2022-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reliable Problem: Using ht_used when looping through a hashtab is less reliable. Solution: Use ht_changed in a few more places. https://github.com/vim/vim/commit/1f22cc5cdb2da867d6bbf54dd371f279c38a2f56 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | fix(chansend): sending lines to terminal in reverse order on Windows #19315Enan Ajmain2022-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `chansend()` on Windows sends lines in reverse order. Cause: Using \n instead of \r\n for newlines on Windows. Solution: on Windows, use CRLF newline characters. Fixes #18501
| * | | vim-patch:9.0.1015: without /dev/urandom srand() seed is too predictable ↵zeertzjq2022-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21303) Problem: Without /dev/urandom srand() seed is too predictable. Solution: Use micro seconds and XOR with process ID. (Yasuhiro Matsumoto, closes vim/vim#11656) https://github.com/vim/vim/commit/f0a9c004825ab686270ee57260652cce25e61049 Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
| * | | vim-patch:8.2.3889: duplicate code for translating script-local function namezeertzjq2022-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Duplicate code for translating script-local function name. Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan, closes vim/vim#9393) https://github.com/vim/vim/commit/e7f4abd38b6e05100c699900c8f87281e363beb2 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | | feat(aucmd_win): allow crazy things with hidden buffers (#21250)zeertzjq2022-12-02
| | | | | | | | | | | | | | | | Problem: Crash when doing crazy things with hidden buffers. Solution: Dynamically allocate the list of autocommand windows.
| * | | vim-patch:9.0.0965: using one window for executing autocommands is insufficientzeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using one window for executing autocommands is insufficient. Solution: Use up to five windows for executing autocommands. https://github.com/vim/vim/commit/e76062c078debed0df818f70e4db14ad7a7cb53a N/A patches for version.c: vim-patch:9.0.0966: some compilers don't allow a declaration after a label Problem: Some compilers don't allow a declaration after a label. Solution: Move the declaration to the start of the block. (John Marriott) https://github.com/vim/vim/commit/f86490ed4fdab213a28f667abd055c023a73d645 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | refactor: buffer_ensure_loaded()zeertzjq2022-11-29
| | | | | | | | | | | | | | | | Cherry-picked from Vim patch 8.1.1612.
| * | | vim-patch:9.0.0914: deletebufline() may move marks in the wrong windowzeertzjq2022-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: deletebufline() may move marks in the wrong window. Solution: Find a window for the buffer being changed. (closes vim/vim#11583) https://github.com/vim/vim/commit/228e422855d43965f2c3319ff0cdc26ea422c10f Cherry-pick code change from patch 9.0.0961. Co-authored-by: Bram Moolenaar <Bram@vim.org>