aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
| * feat(--headless): add on_print callback to stdioopenglacambre2022-01-24
| | | | | | | | | | | | | | This commit adds an on_print callback to stdioopen's dictionary argument which lets the caller specify a function called each time neovim will try to output something to stdout (e.g. on "echo" or "echoerr" in --headless mode).
* | vim-patch:8.2.3956: duplicate assignmentDundar Göc2022-01-01
| | | | | | | | | | | | Problem: Duplicate assignment. Solution: Remove the second assignment. (closes vim/vim#9442) https://github.com/vim/vim/commit/4b1478093eb8b8bebc94b1f596e0afc25db4d189
* | feat(api): add support for lua function & description in keymapshadmansaleh2022-01-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Behavioral changes: 1. Added support for lua function in keymaps in -------------------------------------------- - nvim_set_keymap Can set lua function as keymap rhs like following: ```lua vim.api.nvim_{buf_}set_keymap('n', '<leader>lr', '', {callback = vim.lsp.buf.references}) ``` Note: lua function can only be set from lua . If api function being called from viml or over rpc this option isn't available. - nvim_{buf_}get_keymap When called from lua, lua function is returned is `callback` key . But in other cases callback contains number of the function ref. - :umap, nvim_del_keymap & nvim_buf_del_keymap clears lua keymaps correctly. - :map commands for displaing rhs . For lua keymaps rhs is displayed as <Lua function ref_no> Note: lua keymap cannot be set through viml command / functions. - mapargs() When dict is false it returns string in `<Lua function ref_no>` format (same format as :map commands). When dict is true it returns ref_no number in `callback` key. - mapcheck() returns string in `<Lua function ref_no>` format (same format as :map commands). 2. Added support for keymap description --------------------------------------- - nvim_{buf_}set_keymap: added `desc` option in opts table . ```lua vim.api.nvim_set_keymap('n', '<leader>w', '<cmd>w<cr>', {desc='Save current file'}) ``` - nvim_{buf_}get_keymap: contains `desc` in returned list. - commands like `:nmap <leader>w` will show description in a new line below rhs. - `maparg()` return dict contains `desc`.
* | Merge pull request #16728 from dundargoc/refactor/remove-unused-macrosBjörn Linse2021-12-30
|\ \ | | | | | | refactor: remove unused macros
| * | refactor: remove unused macrosDundar Göc2021-12-30
| | | | | | | | | | | | Closes #13505
* | | vim-patch:8.2.3882: more duplicated code in f_getreginfo()zeertzjq2021-12-24
| | | | | | | | | | | | | | | | | | Problem: More duplicated code in f_getreginfo(). Solution: Also use getreg_get_regname(). (closes vim/vim#9398) https://github.com/vim/vim/commit/d3f00f54bf955bd01767db3a0af25866bc112ec7
* | | vim-patch:8.2.3879: getreg() and getregtype() contain dead codezeertzjq2021-12-24
| | | | | | | | | | | | | | | | | | | | | Problem: getreg() and getregtype() contain dead code. Solution: Remove the needless check. (closes vim/vim#9392) Also refactor to put common code in a shared function. https://github.com/vim/vim/commit/51e64b2789eb7e60f7c5892a43426ab4ec1a54aa
* | | refactor: remove some chdir-related unnecessary calls and checkszeertzjq2021-12-20
|/ / | | | | | | | | | | | | xmalloc() always retuns a valid pointer. Calling os_chdir() with the same directory as the current one doesn't do anything other than wasting time.
* / feat(autocmd): add Recording autocmdsThomas Vigouroux2021-12-18
|/ | | | | | | | | | | | | | feat(eval): add reg_recorded() This function is used the get the last recorded register. style(Recording): rename handler to match suggestions fix(RecordingLeave): send autocommand earlier This makes the autocommand fire just before setting reg_recorded to reg_recording, this way we clearly show that we are actually just before actually quitting the recording mode.
* refactor(misc1): move out high-level input functions to a new file: input.cBjörn Linse2021-12-10
| | | | | Possibly dialog code is messages.c could be moved here as well. misc1.c is now empty, so delete it.
* refactor(misc1): move line_breakcheck family of functions to os/input.cBjörn Linse2021-12-09
|
* Merge pull request #16194 from seandewar/vim-8.1.1925Jan Edmund Lazo2021-12-07
|\ | | | | vim-patch:7.4.1777,8.1.{1925,1995,2011,2012,2013,2166},8.2.{0532,0871,1168,1241,3576}
| * vim-patch:7.4.1777Sean Dewar2021-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Newly added features can escape the sandbox. Solution: Add checks for restricted and secure. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/3849992b16011e36a5cb5be4b127f843389b96fd timer_start is missing check_secure. The timer callback can, for example, call a function defined from outside the sandbox that does stuff that would be disallowed from inside the sandbox. This is usually not allowed. Cherry-pick eval.txt change from: https://github.com/vim/vim/commit/68e6560b84f196c82e27a72669684d5506a3a837 Required for v8.1.2013.
* | refactor: fix indent in decode.c (#16543)zeertzjq2021-12-06
| |
* | lint (#16526)Jan Edmund Lazo2021-12-05
| |
* | refactor: upgrade uncrustify config version to 0.74.0Dundar Göc2021-11-23
|/ | | | | Disable formatting for assert.h since there's a bug that results in a segmentation fault in uncrustify.
* Merge pull request #16362 from zeertzjq/vim-8.2.3617Jan Edmund Lazo2021-11-21
|\ | | | | vim-patch:8.2.{3468,3617,3618,3622}: some other CWD related patches
| * vim-patch:8.2.3618: getcwd() is unclear about how 'autochdir' is usedzeertzjq2021-11-19
| | | | | | | | | | | | | | Problem: getcwd() is unclear about how 'autochdir' is used. Solution: Update the help for getcwd(). Without any arguments always return the actual current directory. (closes vim/vim#9142) https://github.com/vim/vim/commit/851c7a699ae00bdc14a4db874cf722b7b7393b53
* | vim-patch:8.2.3638: getcompletion() always passes zero as position (#16387)ii142021-11-21
| | | | | | | | | | | | | | | | Problem: getcompletion() always passes zero as position to custom completion function. Solution: Pass the pattern length. (closes vim/vim#9173) https://github.com/vim/vim/commit/4785fe02bba14c4e0aede0fa425ca790a1cb98d7 Co-authored-by: ii14 <ii14@users.noreply.github.com>
* | refactor: saner options for uncrustify (#16204)dundargoc2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | fix(eval): fixup for empty modifier in fnamemodify (#16368)Christian Clason2021-11-19
|/ | | | | | | | | | | * fix(eval): fixup for empty modifier in fnamemodify https://github.com/neovim/neovim/commit/1dbbaf89bf5d3bcd1edac3af9938c2e2dd18f816 erroneously removed a check for empty modifier and a PVS fix. Restore that check and fix. Fixes #16367 Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor: reduce number of explicit char casts (#16077)dundargoc2021-11-16
| | | * refactor: reduce number of explicit char casts
* refactor(macroman): get rid of MB_COPY_CHAR macroBjörn Linse2021-11-14
| | | | clean up docs for MB_PTR_ADV and MB_PTR_BACK
* refactor(macros): delete multibyte macros which just are aliasesBjörn Linse2021-11-14
|
* refactor(multibyte): eliminate mb_ptr2len alias for utfc_ptr2lenBjörn Linse2021-11-14
|
* vim-patch:8.1.0779: argument for message functions is inconsistentJames McCoy2021-11-01
| | | | | | Problem: Argument for message functions is inconsistent. Solution: Make first argument to msg() "char *". https://github.com/vim/vim/commit/32526b3c1846025f0e655f41efd4e5428da16b6c
* vim-patch:8.1.0743: giving error messages is not flexibleJames McCoy2021-11-01
| | | | | | | | | 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: saner options for uncrustify #16196dundargoc2021-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* refactor: uncrustify #16090dundargoc2021-10-29
|
* fix(eval): fix has('wsl') #16153erw72021-10-29
| | | | | | | | Problem: has('wsl') is decided at build-time. Solution: Check os_uname(). Fixes #12642, #16143
* refactor(api): break out vim_to_object/object_to_vim to own fileBjörn Linse2021-10-29
|
* fix(eval): checking for a non-empty string is too strict (#15987)Fabian2021-10-28
| | | | | | Cherry-pick check_for_nonempty_string() from patch vim-8.2.2133 and apply it on the bases of https://github.com/neovim/neovim/pull/13489 https://github.com/vim/vim/commit/2a9d5d386bea8455b37c1accebc45683ec51d6fb
* Merge pull request #16111 from dundargoc/vim-patch/commentsJan Edmund Lazo2021-10-23
|\ | | | | vim-patch:8.1.2368,8.1.2378,8.1.2379,8.1.2380,8.1.2387,8.1.2388,8.1.2392,8.1.2394,8.1.2395,8.1.2396
| * vim-patch:8.1.2396: using old C style commentsDundar Göc2021-10-21
| | | | | | | | | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate. https://github.com/vim/vim/commit/e38eab22c1fb950127f0307a9904de6d4561dc70
* | vim-patch:8.2.3550: completion() does not work properly (#16112)Christian Clason2021-10-21
|/ | | | | | | | | | * vim-patch:8.2.3550: completion() does not work properly Problem: completion() does not work properly. Solution: Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita, closes vim/vim#9016) https://github.com/vim/vim/commit/ae38a9db7770b38889fbf06908cc69d42b463a73 Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
* refactor: remove space after starDundar Göc2021-10-19
|
* refactor: convert to doxygen-style comments #16013dundargoc2021-10-17
|
* Merge pull request #15952 from zeertzjq/vim-8.1.1291Jan Edmund Lazo2021-10-17
|\ | | | | vim-patch:8.0.{1459,1460,1461,1463},8.1.{0602,0604,1291},8.2.{0189,0876,0909,1411}: chdir and DirChanged related patches
| * refactor(dirchanged): tab -> tabpagezeertzjq2021-10-17
| | | | | | | | Match Vim's behavior.
| * vim-patch:8.2.0876: :pwd does not give a hint about the scope of the directoryzeertzjq2021-10-17
| | | | | | | | | | | | Problem: :pwd does not give a hint about the scope of the directory Solution: Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes vim/vim#5469) https://github.com/vim/vim/commit/950587242cad52d067a15f0f0c83528a28f75731
| * vim-patch:8.1.1291: not easy to change directory and restorezeertzjq2021-10-17
| | | | | | | | | | | | | | | | Problem: Not easy to change directory and restore. Solution: Add the chdir() function. (Yegappan Lakshmanan, closes vim/vim#4358) https://github.com/vim/vim/commit/1063f3d2008f22d02ccfa9dab83a23db52febbdc Also includes some documentation changes from patch 8.1.1218.
* | Merge pull request #15930 from dundargoc/vim-patch/old-style-c-commentsJan Edmund Lazo2021-10-17
|\ \ | |/ |/| vim-patch:8.1.2396,8.1.2395,8.1.2394,8.1.2392,8.1.2368,8.1.2388,8.1.2379
| * fixup! vim-patch:8.1.2396: using old C style commentsDundar Göc2021-10-16
| |
* | refactor: reduce number of unique char castsDundar Göc2021-10-13
| |
* | refactor: reduce number of unique char casts (#15995)dundargoc2021-10-12
| |
* | Merge pull request #15502 from seandewar/vim-8.1.1921Jan Edmund Lazo2021-10-10
|\ \ | | | | | | Add method call support for more built-ins: vim-patch:8.1.{1336,1952,1961,1984}
| * | feat(eval/method): partially port v8.1.1925Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds method call support for all functions in the patch, but it cannot be fully ported due to missing tests for: - getcwd(): requires chdir() and Test_chdir_func() from v8.1.1291. Note that the method call tests for getreg() and getregtype() were removed in v8.2.1547, which has already been ported, but doesn't seem to have been replaced with a new test... This patch also makes getchangelist()'s argument optional (defaults to the current buffer). eval.txt includes a typo for gettabwinvar(), which is fixed in v8.1.1952.
* | | vim-patch:8.2.{210,424,436,...} #15976Jan Edmund Lazo2021-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |<