aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:9.0.1475: busted configuration files are not recognized (#23266)zeertzjq2023-04-22
| | | | | | | Problem: Busted configuration files are not recognized. Solution: Recognize busted configuration files as Lua. (Craig MacEachern, closes vim/vim#12209) Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
* docs(powershell): use tee.exe instead of Tee-ObjectT7272023-04-22
| | | | | | | Problem: Tee-Object does not create a file if it does not receive input for example when :grep does not find matches. and so nvim tries to open a nonexistent errorfile causing an error. Solution: use tee.exe instead of Tee-Object
* feat(lsp): enable workspace/didChangeWatchedFiles by default (#23190)Jon Huhn2023-04-22
|
* refactor(iter): use metatable as packed table tag (#23254)Gregory Anders2023-04-21
| | | | | This is a more robust method for tagging a packed table as it completely eliminates the possibility of mistaking an actual table key as the packed table tag.
* refactor(build): move the last generator from scripts/ to src/nvim/generatorsbfredl2023-04-21
| | | | | | | | | | This one generates a runtime/ file instead of a source file. But otherwise it works the same like all other generators. It has the same prerequisites (shared and mpack modules, etc), and, importantly, it uses results from the source generators. The odd location makes it easy to overlook when refactoring generators (like I did last time, lol)
* refactor(lua): simplify vim.gsplit implJustin M. Keyes2023-04-21
|
* fix(lua): vim.split may trim inner empty itemsJustin M. Keyes2023-04-21
| | | | | | | | | | Problem: `vim.split('a:::', ':', {trimempty=true})` trims inner empty items. Regression from 9c49c1047079427ff0a2356cb37302934845108e Solution: Set `empty_start=false` when first non-empty item is found. close #23212
* fix(treesitter playground): fix the wrong range of a node displayed i… ↵William2023-04-20
| | | | | | | (#23209) fix(treesitter playground): wrong range of a node displayed in playground The call parameters order of the function `get_range_str` is flipped for the last two arguments compared to the declaration.
* Merge pull request #23106 from bfredl/nlua0bfredl2023-04-19
|\ | | | | refactor(build): use vendored versions of mpack and luabitop
| * refactor(build): use vendored versions of mpack and luabitopbfredl2023-04-19
| |
* | Merge pull request #23198 from gpanders/iter-fixGregory Anders2023-04-19
|\ \ | |/ |/| fix(iter): allow table values in iterator pipelines
| * fix(iter): remove special case totable for map-like tablesGregory Anders2023-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally meant as a convenience but prevents possible functionality. For example: -- Get the keys of the table with even values local t = { a = 1, b = 2, c = 3, d = 4 } vim.iter(t):map(function(k, v) if v % 2 == 0 then return k end end):totable() The example above would not work, because the map() function returns only a single value, and cannot be converted back into a table (there are many such examples like this). Instead, to convert an iterator into a map-like table, users can use fold(): vim.iter(t):fold({}, function(t, k, v) t[k] = v return t end)
| * fix(iter): add tag to packed tableGregory Anders2023-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If pack() is called with a single value, it does not create a table; it simply returns the value it is passed. When unpack is called with a table argument, it interprets that table as a list of values that were packed together into a table. This causes a problem when the single value being packed is _itself_ a table. pack() will not place it into another table, but unpack() sees the table argument and tries to unpack it. To fix this, we add a simple "tag" to packed table values so that unpack() only attempts to unpack tables that have this tag. Other tables are left alone. The tag is simply the length of the table.
* | vim-patch:9.0.1467: Jenkinsfiles are not recognized as groovy (#23195)Christian Clason2023-04-19
| | | | | | | | | | | | | | | | Problem: Jenkinsfiles are not recognized as groovy. Solution: Add a pattern for Jenkinsfiles. (closes vim/vim#12236) https://github.com/vim/vim/commit/142ffb024dd5123090c2fd02f55702e76520f1df Co-authored-by: dundargoc <gocdundar@gmail.com>
* | vim-patch:9.0.1464: strace filetype detection is expensive (#23175)Christian Clason2023-04-19
| | | | | | | | | | | | | | | | | | Problem: Strace filetype detection is expensive. Solution: Match with a cheap pattern first. (Federico Mengozzi, closes vim/vim#12220) https://github.com/vim/vim/commit/6e5a9f948221b52caaaf106079cb3430c4dd7c77 Co-authored-by: Federico Mengozzi <19249682+fedemengo@users.noreply.github.com>
* | vim-patch:9.0.1007: there is no way to get a list of swap file nameszeertzjq2023-04-19
|/ | | | | | | | | | | | | | | | | | | | | Problem: There is no way to get a list of swap file names. Solution: Add the swapfilelist() function. Use it in the test script to clean up. Remove deleting individual swap files. https://github.com/vim/vim/commit/c216a7a21a25a701b84b79abc1ba6ab0baa3a311 vim-patch:9.0.1005: a failed test may leave a swap file behind Problem: A failed test may leave a swap file behind. Solution: Delete the swap file to avoid another test to fail. Use another file name. https://github.com/vim/vim/commit/d0f8d39d20f8d42f7451f781f7be0bcd20e06741 Cherry-pick test_window_cmd.vim changes from patch 8.2.1593. Remove FUNC_ATTR_UNUSED from eval functions as fptr is always unused. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* feat(lua): add vim.iter (#23029)Gregory Anders2023-04-17
| | | | | vim.iter wraps a table or iterator function into an `Iter` object with methods such as `filter`, `map`, and `fold` which can be chained to produce iterator pipelines that do not create new tables at each step.
* fix(watchfiles): skip Created events when poll starts (#23139)Jon Huhn2023-04-17
|
* feat(diagnostic): specify diagnostic virtual text prefix as a functionIsak Samsten2023-04-17
| | | | - vim.diagnostic.config() now accepts a function for the virtual_text.prefix option, which allows for rendering e.g., diagnostic severities differently.
* vim-patch:partial:6f4754b9f725zeertzjq2023-04-17
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(checkhealth): shell_error and cpanm moduleJingMatrix2023-04-16
| | | | | | shell_error is a function, the code missed parentheses The actual module for perl module version is App::cpanminus::script, not App::cpanminus::fatscript.
* fix(checkhealth): fix crash due to incorrect argument typedundargoc2023-04-16
|
* fix(lua): inspect_pos respect bufnr when get syntax info (#23098)Raphael2023-04-16
|
* vim-patch:9.0.1455: C++ 20 modules are not recognized (#23124)Christian Clason2023-04-16
| | | | | | | | | Problem: C++ 20 modules are not recognized. Solution: Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson, closes vim/vim#12261) https://github.com/vim/vim/commit/732d69e1918b28ad0fe16eb9bc5a776c7958122b Co-authored-by: Ben Jackson <puremourning@gmail.com>
* vim-patch:9.0.0411: only created files can be cleaned up with one callzeertzjq2023-04-16
| | | | | | | | | | | | | | | | | | | | | | Problem: Only created files can be cleaned up with one call. Solution: Add flags to mkdir() to delete with a deferred function. Expand the writefile() name to a full path to handle changing directory. https://github.com/vim/vim/commit/6f14da15ac900589f2f413d77898b9bff3b31ece vim-patch:8.2.3742: dec mouse test fails without gnome terminfo entry Problem: Dec mouse test fails without gnome terminfo entry. Solution: Check if there is a gnome entry. Also fix 'acd' test on MS-Windows. (Dominique Pellé, closes vim/vim#9282) https://github.com/vim/vim/commit/f589fd3e1047cdf90566b68aaf9a13389e54d26a Cherry-pick test_autochdir.vim changes from patch 9.0.0313. Cherry-pick test_autocmd.vim changes from patch 9.0.0323. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0390: cannot use a partial with :deferzeertzjq2023-04-16
| | | | | | | | | | Problem: Cannot use a partial with :defer. Solution: Add the partial arguments before the other arguments. Disallow using a dictionary. https://github.com/vim/vim/commit/86d87256c4005c6215da5af2597fbf6f6304421f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0379: cleaning up after writefile() is a hasslezeertzjq2023-04-16
| | | | | | | | | | Problem: Cleaning up after writefile() is a hassle. Solution: Add the 'D' flag to defer deleting the written file. Very useful in tests. https://github.com/vim/vim/commit/806a273f3c84ecd475913d901890bb1929be9a0a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0370: cleaning up afterwards can make a function messyzeertzjq2023-04-16
| | | | | | | | | | | | Problem: Cleaning up afterwards can make a function messy. Solution: Add the :defer command. https://github.com/vim/vim/commit/1d84f7608f1e41dad03b8cc7925895437775f7c0 Omit EX_EXPR_ARG: Vim9 script only. Make :def throw E319 to avoid confusing behavior. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3783: confusing error for using a variable as a functionzeertzjq2023-04-16
| | | | | | | | | | Problem: Confusing error for using a variable as a function. Solution: If a function is not found but there is a variable, give a more useful error. (issue vim/vim#9310) https://github.com/vim/vim/commit/2ef9156b4284e4a52613c36e3d4667245273a28d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2977: crash when using a null function referencezeertzjq2023-04-16
| | | | | | | | | Problem: Crash when using a null function reference. (Naohiro Ono) Solution: Check for an invalid function name. (closes vim/vim#8367) https://github.com/vim/vim/commit/22db0d549f64aa3d8a6e366b70eb8d7e66933b82 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* refactor: deprecate checkhealth functionsdundargoc2023-04-15
| | | | | | | | | | | | | | | | | | | | | | | The following functions are deprecated and will be removed in Nvim v0.11: - health#report_start() - health#report_info() - health#report_ok() - health#report_warn() - health#report_error() - vim.health.report_start() - vim.health.report_info() - vim.health.report_ok() - vim.health.report_warn() - vim.health.report_error() Users should instead use these: - vim.health.start() - vim.health.info() - vim.health.ok() - vim.health.warn() - vim.health.error()
* fix(health): properly use the value of $PYENV_VERSION (#23109)zeertzjq2023-04-16
|
* vim-patch:9.0.0303: it is not easy to get information about a scriptzeertzjq2023-04-15
| | | | | | | | | | | Problem: It is not easy to get information about a script. Solution: Make getscriptinf() return the version. When selecting a specific script return functions and variables. (Yegappan Lakshmanan, closes vim/vim#10991) https://github.com/vim/vim/commit/2f892d8663498c21296ad6661dac1bb8372cfd10 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.0269: getscriptinfo() does not include the versionzeertzjq2023-04-15
| | | | | | | | | | | Problem: getscriptinfo() does not include the version. Cannot select entries by script name. Solution: Add the "version" item and the "name" argument. (Yegappan Lakshmanan, closes vim/vim#10962) https://github.com/vim/vim/commit/520f6ef60a59f7b5f3da9199999d13dbe817d3ce Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:b59ae59a5870zeertzjq2023-04-15
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/b59ae59a58706e454ef8c78276f021b1f58466e7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:3f32a5f1601azeertzjq2023-04-15
| | | | | | | | Update runtime files and translations https://github.com/vim/vim/commit/3f32a5f1601ab2b0eba0caad00d4c26fb86a02a2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:d899e5112079zeertzjq2023-04-15
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4934: string interpolation fails when not evaluatingzeertzjq2023-04-15
| | | | | | | | | Problem: String interpolation fails when not evaluating. Solution: Skip the expression when not evaluating. (closes vim/vim#10398) https://github.com/vim/vim/commit/70c41241c2701f26a99085e433925a206ca265a3 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.4883: string interpolation only works in heredoczeertzjq2023-04-15
| | | | | | | | | | | | Problem: String interpolation only works in heredoc. Solution: Support interpolated strings. Use syntax for heredoc consistent with strings, similar to C#. (closes vim/vim#10327) https://github.com/vim/vim/commit/2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e Cherry-pick Test_Debugger_breakadd_expr() from Vim. Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:8.2.4770: cannot easily mix expression and heredoczeertzjq2023-04-15
| | | | | | | | | Problem: Cannot easily mix expression and heredoc. Solution: Support in heredoc. (Yegappan Lakshmanan, closes vim/vim#10138) https://github.com/vim/vim/commit/efbfa867a146fcd93fdec2435597aa4ae7f1325c Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.2138: Vim9: "exit_cb" causes Vim to exit (#23087)zeertzjq2023-04-14
| | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: "exit_cb" causes Vim to exit. Solution: Require white space after a command in Vim9 script. (closes vim/vim#7467) Also fix that Vim9 style heredoc was not always recognized. https://github.com/vim/vim/commit/b5b9480ee936ef4cd0e350c468ef8c5f42fa398b Omit EX_NONWHITE_OK, E1143, E1144: Vim9 script only. Cherry-pick test_vimscript.vim changes from patch 8.2.2141. Cherry-pick E1145 tag from Vim runtime. N/A patches for version.c: vim-patch:8.2.2140: build failure with tiny features Problem: Build failure with tiny features. Solution: Add #ifdef. https://github.com/vim/vim/commit/2a3cd3af455973d678f70303ebdd486f3478bc0d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.1794: no falsy Coalescing operatorzeertzjq2023-04-14
| | | | | | | | | | | | Problem: No falsy Coalescing operator. Solution: Add the "??" operator. Fix mistake with function argument count. https://github.com/vim/vim/commit/92f26c256e06277ff2ec4ce7adea1eb58c85abe0 Cherry-pick tv2bool() into eval/typval.c. Cherry-pick *??* tag from Vim runtime. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* feat(lua)!: add stricter vim.tbl_islist() and rename old one to ↵NAKAI Tsuyoshi2023-04-14
| | | | | | | | | | | | vim.tbl_isarray() (#16440) feat(lua)!: add stricter vim.tbl_islist(), rename vim.tbl_isarray() Problem: `vim.tbl_islist` allows gaps in tables with integer keys ("arrays"). Solution: Rename `vim.tbl_islist` to `vim.tbl_isarray`, add new `vim.tbl.islist` that checks for consecutive integer keys that start from 1.
* feat(lua): vim.tbl_contains supports general tables and predicates (#23040)Christian Clason2023-04-14
| | | | | | | | | | | | * feat(lua): vim.tbl_contains supports general tables and predicates Problem: `vim.tbl_contains` only works for list-like tables (integer keys without gaps) and primitive values (in particular, not for nested tables). Solution: Rename `vim.tbl_contains` to `vim.list_contains` and add new `vim.tbl_contains` that works for general tables and optionally allows `value` to be a predicate function that is checked for every key.
* refactor: remove modelines from Lua filesGregory Anders2023-04-13
| | | | Now that we have builtin EditorConfig support and a formatting check in CI, these are not necessary.
* fix(loader): reset hashes when running the loaderLewis Russell2023-04-13
|
* Merge pull request #23054 from bfredl/nobehavebfredl2023-04-13
|\ | | | | feat(ex_cmds)!: remove :behave
| * feat(ex_cmds)!: remove :behavebfredl2023-04-13
| | | | | | | | | | | | | | | | | | just use the individual options instead. set selection=exclusive set selectmode=mouse,key set mousemodel=popup set keymodel=startsel,stopsel
* | refactor: remove bugreport.vimdundargoc2023-04-12
| | | | | | | | We already have :checkhealth that essentially supersedes it with more useful error checking.
* | docs: add vim.lsp.buf.formatting_sync() to deprecated.txt (#23045)zeertzjq2023-04-12
| |