aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
Commit message (Collapse)AuthorAge
...
| * | | | | | ci: skip tests that fail on windowsDundar Göc2022-02-20
| | | | | | |
* | | | | | | feat(highlight): support for blend in nvim_set_hl (#17516)Lewis Russell2022-02-24
| | | | | | |
* | | | | | | fix(api)!: correctly handle negative line numbers for nvim_buf_set_text (#17498)Gregory Anders2022-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nvim_buf_set_text does not handle negative row numbers correctly: for example, nvim_buf_set_text(0, -2, 0, -1, 20, {"Hello", "world"}) should replace the 2nd to last line in the buffer with "Hello" and the first 20 characters of the last line with "world". Instead, it reports "start_row out of bounds". This happens because when negative line numbers are used, they are incremented by one additional number to make the non-negative line numbers end-exclusive. However, the line numbers for nvim_buf_set_text should be end-inclusive. In #15181 we handled this for nvim_buf_get_text by adding a new parameter to `normalize_index`. We can solve the problem with nvim_buf_set_text by simply availing ourselves of this new argument. This is a breaking change, but makes the semantics of negative line numbers much clearer and more obvious (as well as matching nvim_buf_get_text). BREAKING CHANGE: Existing usages of nvim_buf_set_text that use negative line numbers will be off-by-one.
* | | | | | | feat(api): implement nvim_buf_get_text (#15181)Gregory Anders2022-02-22
| |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nvim_buf_get_text is the mirror of nvim_buf_set_text. It differs from nvim_buf_get_lines in that it allows retrieving only portions of lines. While this can typically be done easily enough by API clients, implementing this function provides symmetry between the get/set text/lines APIs, and also provides a nice convenience that saves API clients the work of having to slice the result of nvim_buf_get_lines themselves.
* | | | | | fix(highlight): accept NONE as a color name (#17487)Lewis Russell2022-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... for when `ns=0`. Also update the documentation of nvim_set_hl to clarify the set behaviour. Fixes #17478
* | | | | | Merge pull request #17403 from zeertzjq/vim-8.1.1955zeertzjq2022-02-21
|\ \ \ \ \ \ | | | | | | | | | | | | | | vim-patch:8.1.{1846,1955},8.2.0156
| * | | | | | vim-patch:8.2.0156: various typos in source files and testszeertzjq2022-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Various typos in source files and tests. Solution: Fix the typos. (Emir Sari, closes vim/vim#5532) https://github.com/vim/vim/commit/4b96df5a017a04141c4e901b1fc5704a3ca48099
| * | | | | | vim-patch:8.1.1955: tests contain typoszeertzjq2022-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Tests contain typos. Solution: Correct the typos. (Dominique Pelle) https://github.com/vim/vim/commit/1bc353b6f1b063e189e0cef26f8dc586dcf9161f Other changes are either N/A or already applied.
| * | | | | | vim-patch:8.1.1846: inconsistently using GetVimCommand() and v:progpathzeertzjq2022-02-14
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Inconsistently using GetVimCommand() and v:progpath. (Daniel Hahler) Solution: Use GetVimCommand(). (closes vim/vim#4806) https://github.com/vim/vim/commit/93344c2d707d9953f351c944e6a237c9916f69a3 Cherry-pick a change to test_profile.vim from patch 8.1.1544. Cherry-pick a change to test_vimscript.vim from patch 8.1.1826. Some of the args are no-op in Nvim, and `-i NONE` and `--headless` are already added by `GetVimCommand()`. I'll try to match the order of args in upstream, substituting `--not-a-term` with `--headless`.
* | | | | | vim-patch:8.2.4427: getchar() may return modifiers if no character is availablezeertzjq2022-02-21
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | Problem: getchar() may return modifiers if no character is available. Solution: Do not process modifiers when there is no character. (closes vim/vim#9806) https://github.com/vim/vim/commit/ad6c45f62558e03d3e3a927b3fe4dbaf30a36bef
* | | | | Merge pull request #17460 from seandewar/vim-8.2.4419Sean Dewar2022-02-19
|\ \ \ \ \ | | | | | | | | | | | | vim-patch:8.2.{4403,4418,4419,4422}
| * | | | | vim-patch:8.2.4422: autochdir test fails on MS-WindowsSean Dewar2022-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Autochdir test fails on MS-Windows. Solution: Expecta nother error on MS-Windows. https://github.com/vim/vim/commit/adbb383e0f2bb59286ea8133f02c448fd334958f
| * | | | | vim-patch:8.2.4419: illegal memory access when using 20 highlightsSean Dewar2022-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Illegal memory access when using exactly 20 highlights. Solution: Add one more item in the array. (Brandon Richardson, closes vim/vim#9800) https://github.com/vim/vim/commit/a493b6506b67887a1cc2d1c00a896598c3b2d445
| * | | | | vim-patch:8.2.4418: crash when using special multi-byte characterSean Dewar2022-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when using special multi-byte character. Solution: Don't use isalpha() for an arbitrary character. https://github.com/vim/vim/commit/5921aeb5741fc6e84c870d68c7c35b93ad0c9f87 Rename vim_isalpha to mb_isalpha.
| * | | | | vim-patch:8.2.4403: ml_get error with nested folds and deleting linesSean Dewar2022-02-19
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | Problem: ml_get error with nested folds and deleting lines. Solution: Correct the last line number before calling hasFoldingWin(). https://github.com/vim/vim/commit/943773783384a5ff63f57769d37ddabf8156fe1e
* / | | | vim-patch:8.2.4424: ".gts" and ".gjs" files are not recognized (#17464)Christian Clason2022-02-19
|/ / / / | | | | | | | | | | | | | | | | | | | | Problem: ".gts" and ".gjs" files are not recognized. Solution: Recognize Glimmer flavored typescript and javascript. (closes vim/vim#9799) https://github.com/vim/vim/commit/cdf717283ca70b18f20b8a2cefe7957083280c6f
* | | | vim-patch:8.2.4414: solidity files are not recognized (#17451)Christian Clason2022-02-18
| | | | | | | | | | | | | | | | | | | | Problem: Solidity files are not recognized. Solution: Add the *.sol pattern. (Dundar Goc, closes vim/vim#9792) https://github.com/vim/vim/commit/97b231541d4e82fbc85e51121448d95bd43c50ad
* | | | refactor(lua): call loadfile internallyLewis Russell2022-02-18
| | | | | | | | | | | | | | | | | | | | | | | | .. instead of luaL_loadfile allows files to be cached
* | | | vim-patch:8.2.3661: test for put with large count failszeertzjq2022-02-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Test for put with large count fails. Solution: Adjust the counts in the test. https://github.com/vim/vim/commit/8bc07e800c2af36686aadd4178cc2671f5c454d4
* | | | vim-patch:8.2.3660: overflow check uses wrong numberzeertzjq2022-02-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Overflow check uses wrong number. Solution: Divide by ten. https://github.com/vim/vim/commit/9b0e82f35ed4e98414333e71b71ca56219683d16
* | | | vim-patch:8.2.3659: integer overflow with large line numberzeertzjq2022-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Integer overflow with large line number. Solution: Check for overflow. (closes vim/vim#9202) https://github.com/vim/vim/commit/03725c5795ae5b8c14da4a39cd0ce723c6dd4304 Put E1247 in globals.h as E1240 is also there. Do not make getdigits() abort.
* | | | Merge pull request #17433 from seandewar/vim-8.2.3492Sean Dewar2022-02-18
|\ \ \ \ | | | | | | | | | | vim-patch:8.2.{3492,3493,3570,3573,3574,3575,3577,3601}: put overflow checking shenanigans
| * | | | vim-patch:8.2.3601: check for overflow in put count does not work wellSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Check for overflow in put count does not work well. Solution: Improve the overflow check. (Ozaki Kiichi, closes vim/vim#9102) https://github.com/vim/vim/commit/fa53722367c3793fda95dac665af74b8651065e9 Add some casts as Nvim uses size_t variables in some places. We could technically adjust the logic to check for overflow outside of size_t's range, but it's much easier to just port the patch exactly (also means we can use the same tests). v:sizeoflong is N/A, so convert the 64-bit tests to Lua and use the FFI to check long's size.
| * | | | fix(ops): str_to_reg passing NULL to memcpySean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Required for the tests introduced in v8.2.3601 to pass ASAN when running test_alot.vim. Co-authored-by: erw7 <erw7.github@gmail.com>
| * | | | vim-patch:8.2.3577: overflow check fails with 32 intsSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Overflow check fails with 32 ints. Solution: Only test with 64 bit ints. https://github.com/vim/vim/commit/0f0044125c2a5dcde2c4605efc39d2e237eed024
| * | | | vim-patch:8.2.3575: overflow check still fails when sizeof(int) == sizeof(long)Sean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Overflow check still fails when sizeof(int) == sizeof(long). Solution: Use a float to check the result. https://github.com/vim/vim/commit/e551ccfb9311eea5252d1c3106ff7a53c762d994 This approach is... interesting... Tests fail.
| * | | | vim-patch:8.2.3574: divide by zeroSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Divide by zero. Solution: Don't check for overflow if multiplicand is zero. https://github.com/vim/vim/commit/8a1962d1355096af55e84b1ea2f0baf5f1c5a5bc
| * | | | vim-patch:8.2.3573: cannot decide whether to skip test that fails with 64 bitSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot decide whether to skip test that fails with 64 bit ints. (closes vim/vim#9072) Solution: Add v:sizeofint, v:sizeoflong and v:sizeofpointer. Improve the check for multiply overflow. https://github.com/vim/vim/commit/69b3072d984480935ec412b32b97fea974d2b689 Omit v:sizeof{int,long,pointer} as they're only really used for tests.
| * | | | vim-patch:8.2.3570: Test_very_large_count fails on 32bit systemsSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test_very_large_count fails on 32bit systems. Solution: Bail out when using 32 bit numbers. (closes vim/vim#9072) https://github.com/vim/vim/commit/ec6e63079dde24a1d74b4103775e74d00f9215ec
| * | | | vim-patch:8.2.3493: large count test fails on MS-WindowsSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Large count test fails on MS-Windows. Solution: Skip the test on MS-Windows. https://github.com/vim/vim/commit/cddd5ac911707034ca27f10037c4b1b523188c47
| * | | | vim-patch:8.2.3492: crash when pasting too many timesSean Dewar2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when pasting too many times. Solution: Limit the size to what fits in an int. (closes vim/vim#8962) https://github.com/vim/vim/commit/eeed1c7ae090c17f4df51cf97b2a9e4d8b4f4dc7 Note that this overflow check pretty bad. It also doesn't work well on Windows (where sizeof(int) == sizeof(long)). This is all temporary; everything here is rewritten in future patches anyway. e_resulting_text_too_long was already cherry-picked. totlen is size_t in Nvim, but is int in Vim. This means we'll need some casts. We could technically adjust the logic in do_put to use the entire range of size_t in stuff like totlen, but there's not much gain, and it's much easier to just port the patch like Vim as was done before (also allows us to use the same tests).
* | | | | vim-patch:8.2.4411: bicep files are not recognized (#17447)Christian Clason2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: Bicep files are not recognized. Solution: Match *.bicep files. (Dundar Goc, closes vim/vim#9791) https://github.com/vim/vim/commit/8e5ba693ad9377fbf4b047093624248b81eac854
* | | | | fix(api): allow empty list for cterm in nvim_set_hlChristian Clason2022-02-17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: when accessing `nvim_set_hl` from Lua, empty tables are converted to empty lists, not dictionaries, resulting in an error for :lua vim.api.nvim_set_hl(0, "Comment", { cterm = {} }) Workaround: add an empty array as a special case when checking `dict->cterm.type` and just set `cterm_mask_provided`. (Proper solution: handle this in `gen_api_dispatch.lua`.)
* | | | Merge pull request #17421 from lewis6991/hl0_clearbfredl2022-02-17
|\ \ \ \ | |_|_|/ |/| | | fix(highlight): global ns improvements
| * | | feat(highlight): support color names for ctermLewis Russell2022-02-16
| | | |
| * | | fix(highlight): allow globals to be clearedLewis Russell2022-02-16
| | | | | | | | | | | | | | | | | | | | | | | | - and reduce heap allocations Fixes #17420
* | | | Merge pull request #17431 from zeertzjq/vim-8.2.4345zeertzjq2022-02-17
|\ \ \ \ | | | | | | | | | | vim-patch:8.2.4345
| * | | | vim-patch:8.2.4345: <amatch> is expanded like a file name for DirChangedPrezeertzjq2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: <amatch> is expanded like a file name for DirChangedPre. Solution: Do not expand <amatch>. (closes vim/vim#9742) Also for the User event. https://github.com/vim/vim/commit/f6246f51e3d85a982a899b4a8fd9045a5e23016f
* | | | | Merge pull request #17429 from zeertzjq/vim-8.2.4400zeertzjq2022-02-17
|\ \ \ \ \ | |/ / / / |/| | | | vim-patch:8.2.{4392,4394,4400}
| * | | | vim-patch:8.2.4400: MS-Windows: cannot use the mouse in the console with VIMDLLzeertzjq2022-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: MS-Windows: cannot use the mouse in the console with VIMDLL. Solution: use add_char2buf() instead of fix_input_buffer(). (closes vim/vim#9784, closes vim/vim#9769) https://github.com/vim/vim/commit/646bb7247ad6051aca223a2b04b008f682cdb57f N/A patches for version.c: vim-patch:8.2.4392: MS-Windows with VIMDLL: Escaping CSI is wrong Problem: MS-Windows with VIMDLL: Escaping CSI is wrong. Solution: Put back #ifdef. (Ken Takata, closes vim/vim#9769) https://github.com/vim/vim/commit/64d95cfc56406858a05032c6a134f1e08fe2ca78 vim-patch:8.2.4394: UTF8 select mode test fails on MS-Windows Problem: UTF8 select mode test fails on MS-Windows. Solution: Revert the #ifdef change. https://github.com/vim/vim/commit/9fdde7992ab4c21517f447ca3d651b9ff4a770e8
* | | | | Merge pull request #17363 from zeertzjq/dirchangedprezeertzjq2022-02-17
|\ \ \ \ \ | |/ / / / |/| | | | feat(events): add DirChangedPre
| * | | | feat(events): add DirChangedPrezeertzjq2022-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Nvim, like DirChanged, this also triggers when switching windows. This marks Vim patch 8.2.4335 as ported. vim-patch:8.2.4335: no autocommand event triggered before changing directory Problem: No autocommand event triggered before changing directory. (Ronnie Magatti) Solution: Add DirChangedPre. (closes vim/vim#9721) https://github.com/vim/vim/commit/28e8f73ae2d90009fd62cd60f97c2643ba44de68
* | | | | Merge pull request #16678 from lewis6991/runtime_file_errbfredl2022-02-16
|\ \ \ \ \ | | | | | | | | | | | | fix(api): re-route nvim_get_runtime_file errors
| * | | | | fix(api): re-route nvim_get_runtime_file errorsLewis Russell2022-02-15
| | |/ / / | |/| | | | | | | | | | | | | This allows nvim_get_runtime_file to be properly used via pcall
* | | | | refactor: remove NULL check that is always truezeertzjq2022-02-16
| | | | |
* | | | | docs: minor changes related to mapping descriptionzeertzjq2022-02-16
| | | | |
* | | | | feat(mappings): considering map description when filtering (#17423)Shadman2022-02-16
| | | | |
* | | | | Merge pull request #17422 from shadmansaleh/enhance/mapszeertzjq2022-02-16
|\ \ \ \ \ | |/ / / / |/| | | | fix: <Nop> not shown in :map commands
| * | | | fix: <Nop> not shown in :map commandsshadmansaleh2022-02-16
| | | | |
| * | | | chore: improve lua keymaps internal representation schemeshadmansaleh2022-02-16
| | | | |