aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* docs(term): use tic -x for better compatibility with old ncurses (#25421)Dr. Matthew Swabey2023-09-29
| | | Use `tic -x` instead of `tic` to include any unknown capabilities in a modern `terminfo.src` as user-defined ones, instead of dropping them. Modern ncurses behavior with `tic -x` will not change.
* refactor(lsp): deprecate util methods (#25400)Maria José Solano2023-09-29
|
* vim-patch:02902b547bdb (#25406)zeertzjq2023-09-29
| | | | | | | runtime(doc): text-objects: document how escaped delimiters are handled https://github.com/vim/vim/commit/02902b547bdb3ba480a52c90dce742201241f224 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.1950: Vim9: error codes spread out (#25405)zeertzjq2023-09-29
| | | | | | | | | | | | | | Problem: Vim9: error codes spread out Solution: group them together and reserve 100 more for future use Reserve 100 error codes for future enhancements to the Vim9 class support closes: vim/vim#13207 https://github.com/vim/vim/commit/413f83990f15d5d59d27ab741670f527a7a3feb8 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1946: filename expansion using ** in bash may failzeertzjq2023-09-29
| | | | | | | | | | | | | | | | | | | | | | | Problem: filename expansion using ** in bash may fail Solution: Try to enable the globstar setting Starting with bash 4.0 it supports extended globbing using the globstar shell option. This makes matching recursively below a certain directory using the ** pattern work as expected nowadays. However, we need to explicitly enable this using the 'shopt -s globstar' bash command. So let's check the bash environment variable $BASH_VERSINFO (which is supported since bash 3.0 and conditionally enable the globstar option, if the major version is at least 4. For older bashs, this at least shouldn't cause errors (unless one is using really ancient bash 2.X or something). closes: vim/vim#13002 closes: vim/vim#13144 https://github.com/vim/vim/commit/9eb1ce531527a7177d16373b0f8689bbcd3d5f73 Co-authored-by: Christian Brabandt <cb@256bit.org>
* docs: Lua docstrings guidance #25345dundargoc2023-09-27
| | | | | | Recommend adding a space after i.e. `--- @see`. The "space" variant is common for the vast majority of docstring formats such as doxygen, javadoc and typescript.
* vim-patch:5277cfaf8afe (#25397)zeertzjq2023-09-28
| | | | | runtime(doc): mention mouse scrolling in scrollbind-quickadj (vim/vim#13190) https://github.com/vim/vim/commit/5277cfaf8afe847b7d4dcde6057fbecb001ab64e
* vim-patch:54f70cf0780aChristian Clason2023-09-27
| | | | | | | | runtime(swayconfig): Update syntax file (vim/vim#13192) https://github.com/vim/vim/commit/54f70cf0780a797efaf0ff9fd4190215a3ff0eb7 Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:02774f99cebcChristian Clason2023-09-27
| | | | | | | | runtime(i3config): update i3config syntax (vim/vim#13191) https://github.com/vim/vim/commit/02774f99cebcb890d3861febc1d03e75c02cc92d Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:347459423903Christian Clason2023-09-27
| | | | | | | | | | | | | | | | | runtime(rmd) Update ftplugin and syntax files (vim/vim#13193) ftplugin/rmd.vim: - Set 'commentstring' dynamically according to code region. syntax/rmd.vim: - Include syntax highlighting of fenced languages dynamically. - Add conceal char for line break. https://github.com/vim/vim/commit/34745942390383ec626b168e9837d284622c7bbe Co-authored-by: Jakson Alves de Aquino <jalvesaq@gmail.com>
* feat: NVIM_APPNAME supports relative paths #25233Rory Nesbitt2023-09-27
| | | | | | | | | | | | | | Problem: NVIM_APPNAME does not allow path separators in the name, so relative paths can't be used: NVIM_APPNAME="neovim-configs/first-config" nvim NVIM_APPNAME="neovim-configs/second-config" nvim Solution: Let NVIM_APPNAME be a relative path. Absolute paths are not supported. fix #23056 fix #24966
* refactor(tutor): cleanupJustin M. Keyes2023-09-26
|
* fix(tutor): Tutor steps don't work on Windows #25251Leonardo Mello2023-09-26
| | | | | | | | | Problem: Some steps in :Tutor don't work on Windows. Solution: Add support for `{unix:...,win:...}` format and transform the Tutor contents depending on the platform. Fix https://github.com/neovim/neovim/issues/24166
* Merge pull request #25229 from glepnir/20323bfredl2023-09-26
|\ | | | | fix(highlight): add force in nvim_set_hl
| * fix(highlight): add force in nvim_set_hlglepnir2023-09-26
| |
* | fix(meta): add nil return types to lpeg functionsMaria José Solano2023-09-26
| |
* | fix(meta): cleanup lpeg operatorsMaria José Solano2023-09-26
| |
* | vim-patch:54e1f56cf2a5Christian Clason2023-09-26
| | | | | | | | | | | | | | | | runtime(sh): only invoke bash help in ftplugin if it has been detected to be bash (vim/vim#13171) https://github.com/vim/vim/commit/54e1f56cf2a5f74ee11baba170afff867e5d9f99 Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* | fix(runtime): add commentstring for D ftplugin (#25362)ricardaxel2023-09-26
| | | | | | | | | | | | | | | | Problem: No commentstring is set for D buffers after removing the default C-style commentstring Same solution than neovim#23039 Co-authored-by: Axel Ricard <axel.ricard@allegrodvt.com>
* | refactor(options)!: graduate some more shortmess flagsbfredl2023-09-25
| | | | | | | | | | | | | | | | A lot of updated places in the docs were already incorrect since long since they did not reflect the default behaviour. "[dos format]" could've been argued being better for discoverability but that ship has already sailed as it is no longer displayed by default.
* | Merge pull request #25344 from gpanders/doc-shortmessbfredl2023-09-25
|\ \ | | | | | | docs: remove "f" from default 'shortmess' value
| * | docs: remove more references to shm-fGregory Anders2023-09-24
| | |
| * | docs: remove "f" from default 'shortmess' valueGregory Anders2023-09-24
| | | | | | | | | | | | | | | | | | | | | The "f" flag was removed in f7da4722570617bd8927e7aa533fa9a608c45bba. The value of the "f" flag is no longer listed in the 'shortmess' description and it cannot be disabled, so having it in the default value is pointless and confusing.
* | | docs: do not use deprecated functions #25334Maria José Solano2023-09-24
| | |
* | | vim-patch:960822a11f70zeertzjq2023-09-25
| | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): grammar fixes in doc (vim/vim#13164) https://github.com/vim/vim/commit/960822a11f70d2ed7e78b42fb6b75a9f8839ec9f Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
* | | vim-patch:790f9a890ceezeertzjq2023-09-25
| | | | | | | | | | | | | | | | | | | | | | | | runtime(doc): Add a missing '<' to the help of strutf16len() (vim/vim#13168) https://github.com/vim/vim/commit/790f9a890ceeb9539776265cba0f026fb2c96790 Co-authored-by: a5ob7r <12132068+a5ob7r@users.noreply.github.com>
* | | feat(meta): add types for vim.lpegMaria José Solano2023-09-24
| | |
* | | feat(health): list attached buffers in LSP report #23561Bogdan Grigoruță2023-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Users using `vim.lsp.start` directly (instead of nvim-lspconfig) need more visibility for troubleshooting. For example, troubleshooting unnecesary servers or servers that aren't attaching to expected buffers. Solution: Mention attached buffers in the `:checkhealth lsp` report. Example: vim.lsp: Active Clients ~ - clangd (id=1, root_dir=~/dev/neovim, attached_to=[7]) - lua_ls (id=2, root_dir=~/dev/neovim, attached_to=[10])
* | | fix: checkhealth warning even if init.lua exists #25306Tom Blake2023-09-24
|/ / | | | | | | | | | | | | | | | | Problem: `:checkhealth nvim` warns about missing vimrc if `init.lua` exists but `init.vim` does not. Solution: Check for any of: init.vim, init.lua, $MYVIMRC. Fix #25291
* | fix(provider/pythonx): import the correct module (#25342)zeertzjq2023-09-24
| |
* | test(old): don't set options to default before every test (#25335)zeertzjq2023-09-24
| | | | | | | | | | | | | | | | Oldtests clean up after themselves, and the options that need operators to align with Vim all deny duplicates, so there is no need to set them to default. Also make the variable name that test_listchars.vim uses to align with Vim more obvious.
* | fix(ui): always use stl/stlnc fillchars when drawing statusline (#25267)tj-moody2023-09-24
| |
* | docs: fix type warningsMaria José Solano2023-09-23
| |
* | refactor(options)!: graduate shortmess+=f flagbfredl2023-09-23
| | | | | | | | | | | | | | Not everything needs to be crazy overconfigurable. Also fixes a warning in latest clang which didn't approve of the funky math switch statement in append_arg_number
* | fix(provider): cannot detect python3.12 #25316Jongwook Choi2023-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: The builtin python3 provider cannot auto-detect python3.12 when g:python3_host_prog is not set. As a result, when python3 on $PATH is currently python 3.12, neovim will fail to load python3 provider and result in `has("python3") == 0`, e.g., "Failed to load python3 host. You can try to see what happened by ..." ROOT CAUSE: the `system()` call from `provider#pythonx#DetectByModule` does not ignore python warnings, and `pkgutil.get_loader` will print a warning message in the very first line: ``` <string>:1: DeprecationWarning: 'pkgutil.get_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead ``` SOLUTION: - Use `importlib.util.find_spec` instead (python >= 3.4) - Use `-W ignore` option to prevent any potential warning messages
* | Merge pull request #25286 from rktjmp/doc-vim-schedule-wrapzeertzjq2023-09-23
|\ \ | | | | | | docs: add more context to vim.schedule_wrap
| * | docs: update vim.schedule param name and typeOliver Marriott2023-09-23
| | | | | | | | | | | | | | | Per https://github.com/neovim/neovim/pull/25286#discussion_r1332861721 and https://github.com/neovim/neovim/pull/25286#discussion_r1334318352
| * | docs: clarify vim.schedule_wrap behaviourOliver Marriott2023-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the usage of the term "defer" to avoid confusion with `vim.defer_fn`, which also calls `vim.schedule_wrap` internally. - Explicitly state that `vim.schedule_wrap` returns a function in the text. - Mention that arguments are passed along. - Include a usage example. - Rename param to `fn`.
* | | fix(meta): include vim.jsonMaria José Solano2023-09-22
| | |
* | | fix(languagetree): don't treat unparsed nodes as occupying full rangeL Lllvvuu2023-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is incorrect in the following scenario: 1. The language tree is Lua > Vim > Lua. 2. An edit simultaneously wipes out the `_regions` of all nodes, while taking the Vim injection off-screen. 3. The Vim injection is not re-parsed, so the child Lua `_regions` is still `nil`. 4. The child Lua is assumed, incorrectly, to occupy the whole document. 5. This causes the injections to be parsed again, resulting in Lua > Vim > Lua > Vim. 6. Now, by the same process, Vim ends up with its range assumed over the whole document. Now the parse is broken and results in broken highlighting and poor performance. It should be fine to instead treat an unparsed node as occupying nothing (i.e. effectively non-existent). Since, either: - The parent was just parsed, hence defining `_regions` - The parent was not just parsed, in which case this node doesn't need to be parsed either. Also, the name `has_regions` is confusing; it seems to simply mean the opposite of "root" or "full_document". However, this PR does not touch it.
* | | docs: small improvements to compl-autocomplete example (#25299)zeertzjq2023-09-22
| | | | | | | | | | | | - Don't complete when there is pending input. - Use vim.list_contains() instead of vim.tbl_contains().
* | | fix(lsp): handle absence of a trailing newline #25194Sergey Slipchenko2023-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #24339 rust-analyzer sends "Invalid offset" error in such cases. Some other servers handle it specially. LSP spec mentions that "A range is comparable to a selection in an editor". Most editors don't handle trailing newlines the same way Neovim/Vim does, it's clearly visible if it's present or not. With that in mind it's understandable why sending end position as simply the start of the line after the last one is considered invalid in such cases.
* | | fix(lsp): clear codelens on LspDetach (#24903)Jaehwang Jung2023-09-21
| | | | | | | | | Also fix incorrect parameters in on_detach callback.
* | | vim-patch:a7aba6ca5033 (#25285)zeertzjq2023-09-21
|/ / | | | | | | | | runtime(doc): format jumplist examples more consistently (vim/vim#13137) https://github.com/vim/vim/commit/a7aba6ca5033a85839d997d29d5ca88a1f2acf8f
* | vim-patch:9.0.1921: not possible to use the jumplist like a stack (#25278)zeertzjq2023-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: not possible to use the jumplist like a stack Solution: Add the 'jumpoptions' setting to make the jumplist a stack. Add an option for using jumplist like tag stack related: vim/vim#7738 closes: vim/vim#13134 ported from NeoVim: - https://neovim.io/doc/user/motion.html#jumplist-stack - neovim/neovim@39094b3 - https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior Based on the feedback in the previous PR, it looks like many people like this option. https://github.com/vim/vim/commit/87018255e3ad0f4dfa03e20318836d24af721caf Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com> Co-authored-by: butwerenotthereyet <58348703+butwerenotthereyet@users.noreply.github.com>
* | vim-patch:9.0.1918Christian Clason2023-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | patch 9.0.1918: No filetype detection for Authzed filetypes Problem: No filetype detection for Authzed filetypes Solution: Detect the *.zed file extension as authzed filetype closes: vim/vim#13129 https://github.com/vim/vim/commit/5790a54166793554d16f6a85d8824632860b8b37 Co-authored-by: Matt Polzin <mpolzin@workwithopal.com>
* | feat(lua): add vim.func._memoizeLewis Russell2023-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memoizes a function, using a custom function to hash the arguments. Private for now until: - There are other places in the codebase that could benefit from this (e.g. LSP), but might require other changes to accommodate. - Invalidation of the cache needs to be controllable. Using weak tables is an acceptable invalidation policy, but it shouldn't be the only one. - I don't think the story around `hash_fn` is completely thought out. We may be able to have a good default hash_fn by hashing each argument, so basically a better 'concat'.
* | docs: misc #24561Justin M. Keyes2023-09-20
| | | | | | | | fix #24699 fix #25253
* | docs: document $XDG environment variables #25227Eduardo Rittner Coelho2023-09-20
| |
* | vim-patch:9.0.1915: r_CTRL-C works differently in visual mode (#25248)zeertzjq2023-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: r_CTRL-C works differently in visual mode Solution: Make r_CTRL-C behave consistent in visual mode in terminal and Windows GUI in visual mode, r CTRL-C behaves strange in Unix like environments. It seems to end visual mode, but still is waiting for few more chars, however it never seems to replace it by any characters and eventually just returns back into normal mode. In contrast in Windows GUI mode, r_CTRL-C replaces in the selected area all characters by a literal CTRL-C. Not sure why it behaves like this. It seems in the Windows GUI, got_int is not set and therefore behaves as if any other normal character has been pressed. So remove the special casing of what happens when got_int is set and make it always behave like in Windows GUI mode. Add a test to verify it always behaves like replacing in the selected area each selected character by a literal CTRL-C. closes: vim/vim#13091 closes: vim/vim#13112 https://github.com/vim/vim/commit/476733f3d06876c7ac105e064108c973a57984d3 Co-authored-by: Christian Brabandt <cb@256bit.org>