aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * fix(runtime): make a copy of runtime_search_path when iteratingBjörn Linse2021-09-27
| | | | | | | | | | This is to prevent concurrent modification, just like save_rtp in the vim 8 implementation
* | feat(ui): add vim.ui.select and use in code actions (#15771)Mathias Fußenegger2021-09-27
|/ | | | | | | | | | | | | Continuation of https://github.com/neovim/neovim/pull/15202 A plugin like telescope could override it with a fancy implementation and then users would get the telescope-ui within each plugin that utilizes the vim.ui.select function. There are some plugins which override the `textDocument/codeAction` handler solely to provide a different UI. With custom client commands and soon codeAction resolve support, it becomes more difficult to implement the handler right - so having a dedicated way to override the picking function will be useful.
* Merge pull request #14871 from mjlbach/feature/lua-cjson-embeddedMichael Lingelbach2021-09-26
|\ | | | | feat(lua): expose lua-cjson as vim.json
| * feat(lua): expose lua-cjson as vim.jsonMichael Lingelbach2021-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add vim.json.encode and vim.json.decode * use vim.NIL instead of cjson.null * resolve strict-prototypes warnings * The following benchmark shows an approximately 2.5x (750 ms vs 300 ms) improvement in deserialization performance over vim.fn.json_decode on a medium package.json ```lua local uv = vim.loop local function readfile(path) return end local json_url = "https://raw.githubusercontent.com/rust-analyzer/rust-analyzer/b24c8d5c89ee93d1172b4127564f5da3b0c88dad/editors/code/package.json" io.popen(string.format('curl -v -f -L -O %q &> /dev/null', json_url)) local json_string = io.open('package.json'):read '*a' uv.update_time() local start = uv.hrtime() for i = 1,1000 do vim.fn.json_decode(json_string) end uv.update_time() print(string.format("Deserialization time vim.fn.json_decode: %s ms", (uv.hrtime() - start) * (1e-6))) uv.update_time() local start = uv.hrtime() for i = 1,1000 do vim.json.decode(json_string) end uv.update_time() print(string.format("Deserialization time vim.json.decode: %s ms", (uv.hrtime() - start) * (1e-6))) ``` Co-Authored-By: Björn Linse <bjorn.linse@gmail.com>
| * feat(lua): add lua-cjson as vendored dependencyMichael Lingelbach2021-09-26
| | | | | | | | Derived from the openresty lua-cjson fork at commit https://github.com/openresty/lua-cjson/commit/3d93d297092172eac3d52a1b3b6c1d479da5341a
* | Merge pull request #15797 from smolck/ui-stuffBjörn Linse2021-09-26
|\ \ | | | | | | fix(ui_bridge): set bridge width and height on attach
| * | fix(ui_bridge): set bridge width and height on attachsmolck2021-09-26
| | |
* | | fix(tui): remove obsolete $NVIM detection #15791erw72021-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initially, we planned to set the NVIM environment variable to detect that neovim is running in the neovim built-in terminal. At the time this code was written, there was no way for a parent to set environment variables for a program running in an embedded terminal. Later it was implemented in #12937, but the code to set the NVIM was not added. #11390 now uses ConPTY instead of winpty when possible, so it is no longer necessary to force the use of win32con even when running inside an embedded terminal. Therefore, we now do not need this code.
* | | Merge pull request #15351 from bfredl/virt_lineBjörn Linse2021-09-26
|\ \ \ | | | | | | | | feat(screen): virtual lines
| * | | feat(decorations): support virtual lines (for now: only one block at a time)Björn Linse2021-09-26
| | | |
* | | | refactor: replace sprintf with snprintf #15794dundargoc2021-09-26
| | | |
* | | | fix(runtime): ordering of loading packages with user configBjörn Linse2021-09-26
|/ / / | | | | | | | | | | | | | | | | | | | | | site packages must be sourced before user config NOTE: we only consider dirs exactly matching "after" to be an AFTER dir. vim8 considers all dirs like "foo/bar_after", "Xafter" etc, as an "after" dir in SOME codepaths not not in ALL codepaths.
* | | fix(api): fix crash after set_option_value_for() #15390gmntroll2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: This crashes Nvim: tabedit call nvim_win_set_option(1000, 'statusline', 'status') split wincmd J wincmd j Solution: - Change `no_display` parameter value to be the same as in matching `restore_win_noblock` call. In case of different values `topframe` isn't restored to `curtab->tp_topframe`. - Call `restore_win_noblock` if `switch_win_noblock` returns `FAIL` (`switch_win` must always have matching `restore_win`) - Change `switch_win`/`restore_win` to `_noblock` versions to allow autocommands. fixes #14097 fixes #13577
* | | refactor: format with uncrustify #15778dundargoc2021-09-25
|/ / | | | | * fixup: force exactly one whitespace between type and variable
* | Merge #15774 fix(pvs): fix warnings, scriptJustin M. Keyes2021-09-24
|\ \
| * | fix(PVS V681): function call order is undefinedJustin M. Keyes2021-09-24
| | | | | | | | | | | | https://pvs-studio.com/en/docs/warnings/v681/
| * | fix(PVS V576): false positiveJustin M. Keyes2021-09-24
| | | | | | | | | | | | | | | `lower`, `upper` are `varnumber_T`, correctly matched to `PRIdVARNUMBER` format.
| * | fix(PVS V576): wrong fprintf() formatJustin M. Keyes2021-09-24
| | | | | | | | | | | | | | | | | | | | | | | | https://pvs-studio.com/en/docs/warnings/v576/ Before 1bffe66508ff986a61c0e08caddc92b7f3ace81e this was originally "%ld" but that looks like a mistake. At least now, w_height_inner and w_width_inner are just `int`.
| * | fix(PVS V507): false positiveJustin M. Keyes2021-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://pvs-studio.com/en/docs/warnings/v507/ "Pointer to local array 'sourcing_name_buf' is stored outside the scope of this array. Such a pointer will become invalid." False positive: `sourcing_name = save_sourcing_name` before returning from this scope.
* | | Merge #15731 vim-patch:7.4.725,8.2.{0597,0598,0924,1035}Justin M. Keyes2021-09-24
|\ \ \ | | | | | | | | fixes #14581
| * | | vim-patch:8.2.1035: setreg() does not always clear the registerSean Dewar2021-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: setreg() does not always clear the register. Solution: Clear the register if the dict argument is empty. (Andy Massimino, closes vim/vim#3370) https://github.com/vim/vim/commit/7633fe595e6a27d6bb376548ff89f0dcce481600 Do not getdigits for block_len strictly. For example, a user could previously abort Nvim using: :call setreg("0", "abort!", "\<C-V>999999999999999999") or, after v8.2.0924's port: :call setreg("0", #{regcontents: ["abort!"], \ regtype: "\<C-V>999999999999999999"}) Instead, default to 0 so block_len is -1, which acts like the selection width was omitted (defaults to length of longest line).
| * | | vim-patch:7.4.725Sean Dewar2021-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ":call setreg('"', [])" reports an internal error. Solution: Make the register empty. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/659c94d483b2fdad949c14a42cee96f99a66394b Required for v8.2.1035. Note that setreg('"', []) didn't cause an internal error for us, but didn't clear the register properly either...
| * | | vim-patch:8.2.0924: cannot save and restore a register properlySean Dewar2021-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot save and restore a register properly. Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy Massimino, closes vim/vim#3370) https://github.com/vim/vim/commit/bb861e293e0170455184079fa537278754b07911 Cherry-pick eval.txt changes for getreginfo() from: https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404 https://github.com/vim/vim/commit/207f009326c8f878defde0e594d7d9ed9860106e
| * | | vim-patch:8.2.0598: test_eval_stuff fails in normal terminalSean Dewar2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test_eval_stuff fails in normal terminal. Solution: Close the new window. https://github.com/vim/vim/commit/61fbb3371ee1f6a02706f52fbe064608e159be7c Required for v8.2.0598 to work.
| * | | vim-patch:8.2.0597: test_eval is old styleSean Dewar2021-09-22
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test_eval is old style. Solution: Change some tests to a new style test. https://github.com/vim/vim/commit/90455cfa87f84f16179c19241b034abbfa8b3c9a Cherry-pick Test_setreg_basic changes from v8.2.0610. Note that the old-style version of the tests (and the cherry-picked changes) exist in legacy/eval_spec.lua; keep them as they've already been Lua'd. Required for v8.2.0924.
* | | refactor: format with uncrustify #15755dundargoc2021-09-24
| |/ |/|
* | fix: move contrib/uncrustify.cfg -> src/uncrustify.cfg #15768Justin M. Keyes2021-09-23
|/ | | | If uncrustify is now the (partial) authority on code style, it is no longer "contrib".
* refactor: format with uncrustify #15741dundargoc2021-09-22
|
* ci(PVS): PVS/V009: add required header #15751dundargoc2021-09-21
|
* fix(startup): init.lua: set $MYVIMRC to absolute path #15748Justin M. Keyes2021-09-21
| | | | | | - main.c: remove os_setenv("MYVIMRC",…), it is already done by do_source(). - This also sets $MYVIMRC to a full (absolute) path. - code cleanup.
* refactor: reformat with uncrustify #15736dundargoc2021-09-20
| | | | * fix function parameter comments * remove space after star in function names
* fix(inccommand): ignore trailing commands only for *previewed* command #15638itchyny2021-09-20
| | | | | | | | Since the `State` is global, other scripts are unexpectedly affected during the 'inccommand' preview. This commit introduces a new flag for `do_cmdline`, in order to ignore trailing '|'-separated commands only for the command invoking the preview. fix #8796, update #7494
* refactor: format with uncrustify #15726dundargoc2021-09-20
|
* refactor: format with uncrustify #15722dundargoc2021-09-19
|
* vim-patch:8.2.3437: compiler warnings for 32/64 bit usagezeertzjq2021-09-19
| | | | | | Problem: Compiler warnings for 32/64 bit usage. Solution: Add type casts. (Mike Williams, closes vim/vim#8870) https://github.com/vim/vim/commit/f5785cf0592626ec17676e814d3ba58f5123bcda
* vim-patch:8.2.3425: warning for using uninitialized variablezeertzjq2021-09-19
| | | | | | Problem: Warning for using uninitialized variable. Solution: Initialize it. (John Marriott) https://github.com/vim/vim/commit/56e14698b45a9c4ef8fa65c55c9bfe86fbb3d6bf
* vim-patch:8.2.3424: a sequence of spaces is hard to see in list modezeertzjq2021-09-19
| | | | | | Problem: A sequence of spaces is hard to see in list mode. Solution: Add the "multispace" option to 'listchars'. (closes vim/vim#8834) https://github.com/vim/vim/commit/f14b8ba1373f569705cb80419248054100b02360
* vim-patch:8.2.2640: screenstring() returns non-existing composing characterszeertzjq2021-09-19
| | | | | | Problem: screenstring() returns non-existing composing characters. Solution: Only use composing characters if there is a base character. https://github.com/vim/vim/commit/f1387285e2ebe5cb3688d729fc6fd01a169a76c1
* vim-patch:8.1.1110: composing chars on space wrong when 'listchars' is setzeertzjq2021-09-19
| | | | | | | Problem: Composing chars on space wrong when 'listchars' is set. Solution: Do not use "space" and "nbsp" entries of 'listchars' when there is a composing character. (Yee Cheng Chin, closes vim/vim#4197) https://github.com/vim/vim/commit/e5e4e22c1c15c8c22b14935affe969569acc8df9
* vim-patch:8.1.1079: no need for a separate ScreenLinesUtf8() test functionzeertzjq2021-09-19
| | | | | | Problem: No need for a separate ScreenLinesUtf8() test function. Solution: Get the composing characters with ScreenLines(). https://github.com/vim/vim/commit/48aed0824e47147faf19fc235ad4bcf851584c9c
* vim-patch:8.1.1078: when 'listchars' is set a composing char on a space is wrongzeertzjq2021-09-19
| | | | | | | Problem: When 'listchars' is set a composing char on a space is wrong. Solution: Separate handling a non-breaking space and a space. (Yasuhiro Matsumoto, closes vim/vim#4046) https://github.com/vim/vim/commit/5f8069bbf5d989936a2f4d7a76ae42434017e3a2
* vim-patch:8.1.1071: cannot get composing characters from the screenzeertzjq2021-09-19
| | | | | | | Problem: Cannot get composing characters from the screen. Solution: Add screenchars() and screenstring(). (partly by Ozaki Kiichi, closes vim/vim#4059) https://github.com/vim/vim/commit/2912abb3a2fd72074e3901c8ae1d4a77ce764675
* vim-patch:8.2.3394: filler lines are wrong when changing text in diff mode ↵Jaehwang Jerry Jung2021-09-18
| | | | | | | | (#15547) Problem: Filler lines are wrong when changing text in diff mode. Solution: Don't change the filler lines on every change. Check scrollbinding when updating the filler lines. (closes vim/vim#8809) https://github.com/vim/vim/commit/04626c243c47af91c2580eaf23e12286180e0e81
* refactor: format #15702dundargoc2021-09-18
|
* refactor(runtime): handle pack/foo/start/bar/after dirs properlyBjörn Linse2021-09-18
| | | | | | | | The order should be: XDG_CONFIG_HOME/nvim XDG_DATA_HOME/nvim/site/pack/foo/start/bar/ XDG_CONFIG_HOME/nvim/after XDG_DATA_HOME/nvim/site/pack/foo/start/bar/after
* refactor(runtime): always use DIP_START when searching for runtime filesBjörn Linse2021-09-18
| | | | | | | | Now remove the addition of "start/*" packages in 'packpath' as explicit items in 'runtimepath'. This avoids 'runtimepath' from becoming very long when using a lot of plugins as packages. To get the effective search path as a list, use |nvim_list_runtime_paths()|
* refactor: convert TRUE/FALSE to true/false (#15660)dundargoc2021-09-18
|
* fix(typo): overriden -> overridden (RE: PR #14159) (#15360)Oliver Marriott2021-09-17
|
* Merge pull request #15364 from seandewar/vim-8.2.3337Jan Edmund Lazo2021-09-17
|\ | | | | vim-patch:8.2.{3286,3289,3293,3298,3313,3321,3328,3330,3331,3337,3354,3355,3357,3360,3369,3375}
| * vim-patch:8.2.3375: using uninitialized memorySean Dewar2021-09-17
| | | | | | | | | | | | | | | | Problem: Using uninitialized memory. Solution: Initialize textprop_save_len. https://github.com/vim/vim/commit/df9070e300dabf0c54de87a75973a80adb38afa3 textprop_save_len is N/A.