aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* feat(lsp): completion side effectsMaria José Solano2024-05-27
|
* docs: update LSP quickstart (#28954)Gregory Anders2024-05-24
| | | | | | | | | | The LSP quickstart can act as our true "entrypoint" for answering the question "How do I use LSP in Neovim?" As such, it can be a little more beginniner-friendly than other sections of our help docs by including explanatory comments and a more fleshed out example (including a `FileType` autocommand). This also includes some other minor wording updates and points users toward `:checkhealth lsp`.
* feat(defaults): add LSP default mappings (again) (#28650)Gregory Anders2024-05-24
|
* fix(fs): make vim.fs.root work for relative paths and unnamed buffers (#28964)Gregory Anders2024-05-24
| | | | If a buffer does not have a backing file then fall back to the current working directory.
* fix: show swapfile warning as a warning (#28971)Gregory Anders2024-05-24
| | | | | The new default SwapExists autocommand displays warning text (W325) but does not use the WarningMsg highlight group as other warnings do. Use the WARN log level when displaying this warning.
* refactor: replace deprecated vim.loop with vim.uvdundargoc2024-05-24
|
* feat(complete): specify reason for CompleteDoneFamiu Haque2024-05-24
| | | | | Problem: `CompleteDone` currently does not specify the reason for why completion was done, which is problematic for completion plugins as they cannot know whether the event was triggered due to the completion being canceled, accepted, or for some other reason. Solution: Add a `reason` key to `v:event`, which is set by `CompleteDone` to indicate why completion ended.
* fix: change deprecation presentationdundargoc2024-05-24
| | | | | | | | | | | | | | Deprecation with vim.deprecate is currently too noisy. Show the following warning instead: [function] is deprecated. Run ":checkhealth vim.deprecated" for more information. The important part is that the full message needs to be short enough to fit in one line in order to not trigger the "Press ENTER or type command to continue" prompt. The full information and stack trace for the deprecated functions will be shown in the new healthcheck `vim.deprecated`.
* feat: allow gx to function for markdown linksdundargoc2024-05-24
| | | | | | | In other words, `gx` works regardless of where it was used in `[...](https://...)`. This only works on markdown buffers. Co-authored-by: ribru17 <ribru17@gmail.com>
* docs: extract health to its own filedundargoc2024-05-24
|
* vim-patch:9.1.0439: Cannot filter the history (#28958)zeertzjq2024-05-24
| | | | | | | | | | Problem: Cannot filter the history Solution: Implement :filter :history closes: vim/vim#14835 https://github.com/vim/vim/commit/42a5b5a6d0d05255b9c464abe71f29c7677b5833 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0441: getregionpos() can't properly indicate positions beyond ↵zeertzjq2024-05-24
| | | | | | | | | | | | | | | | | | | | eol (#28957) Problem: getregionpos() can't properly indicate positions beyond eol. Solution: Add an "eol" flag that enables handling positions beyond end of line like getpos() does (zeertzjq). Also fix the problem that a position still has the coladd beyond the end of the line when its column has been clamped. In the last test case with TABs at the end of the line the old behavior is obviously wrong. I decided to gate this behind a flag because returning positions that don't correspond to actual characters in the line may lead to mistakes for callers that want to calculate the length of the selected text, so the behavior is only enabled if the caller wants it. closes: vim/vim#14838 https://github.com/vim/vim/commit/2b09de910458247b70751928217422c38fd5abf8
* vim-patch:22ac941: runtime(i3config/swayconfig): support floating_modifier ↵Christian Clason2024-05-24
| | | | | | | | | | | | | | | | none; revert broken highlighting - fix floating_modifier $mod normal|inverse was being hightlighted as error reverting the floating_modifier change from dd83b63 - will currently allow invalid syntax after floating_modifier fixes: vim/vim#14826 closes: vim/vim#14827 https://github.com/vim/vim/commit/22ac941208fcb2c63ad172c6cf0b39b077b5b682 Co-authored-by: James Eapen <james.eapen@vai.org> Co-authored-by: JosefLitos <litosjos@fit.cvut.cz>
* vim-patch:9.1.0435: filetype: cygport files are not recognizedChristian Clason2024-05-23
| | | | | | | | | | | | | | Problem: filetype: cygport files are not recognized Solution: Recognize '*.cygport' files as sh filetype (Ken Takata) https://cygwin.github.io/cygport/cygport_in.html closes: vim/vim#14833 https://github.com/vim/vim/commit/cd79f8fbd34cdb918153d9fa3821eb4092b7b5fc Co-authored-by: K.Takata <kentkt@csc.jp>
* fix(comment): fall back to using trimmed comment markers (#28938)Evgeni Chasnovski2024-05-23
| | | | | | | | | | | | | Problem: Currently comment detection, addition, and removal are done by matching 'commentstring' exactly. This has the downside when users want to add comment markers with space (like with `-- %s` commentstring) but also be able to uncomment lines that do not contain space (like `--aaa`). Solution: Use the following approach: - Line is commented if it matches 'commentstring' with trimmed parts. - Adding comment is 100% relying on 'commentstring' parts (as is now). - Removing comment is first trying exact 'commentstring' parts with fallback on trying its trimmed parts.
* fix(lsp): check if buffer was detached in on_init callback (#28914)Ilia Choly2024-05-23
| | | Co-authored-by: Jongwook Choi <wookayin@gmail.com>
* refactor(lsp): reuse buf_detach_client logic in on_detach (#28939)Mathias Fußenegger2024-05-23
|
* fix(lsp): trigger LspDetach on buffer delete (#28795)Andre Toerien2024-05-23
| | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* vim-patch:9.1.0430: getregionpos() doesn't handle one char selection (#28924)zeertzjq2024-05-23
| | | | | | | | | | Problem: getregionpos() doesn't handle one char selection. Solution: Handle startspaces differently when is_oneChar is set. Also add a test for an exclusive charwise selection with multibyte chars (zeertzjq) closes: vim/vim#14825 https://github.com/vim/vim/commit/52a6f348874778cf315b47d9e8b5f818f4b97277
* vim-patch:802fc04: runtime(rescript): include basic rescript ftplugin file ↵Christian Clason2024-05-22
| | | | | | | | | | (vim/vim#14822) Reference: https://rescript-lang.org/docs/manual/latest/overview#comments https://github.com/vim/vim/commit/802fc04a78a7d98673dc9171d4b89597447a5bda Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* fix: merge all provider healthchecks into a single health.luadundargoc2024-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | This will help manage the overly granular checkhealth completion to go from ``` vim.health vim.lsp vim.provider.clipboard vim.provider.node vim.provider.perl vim.provider.python vim.provider.ruby vim.treesitter ``` to ``` vim.health vim.lsp vim.provider vim.treesitter ```
* docs: move vim.health documentation to lua.txtdundargoc2024-05-22
| | | | | | `vim.health` is not a "plugin" but part of our Lua API and the documentation should reflect that. This also helps make the documentation maintenance easier as it is now generated.
* refactor(lsp): use supports_method where applicableIlia Choly2024-05-22
|
* vim-patch:62ccaa6: runtime(termdebug): check for gdb file/dir before using ↵zeertzjq2024-05-22
| | | | | | | | | | | | as buffer name (#28908) Add test so that this doesn't regress. fixes: vim/vim#12718 closes: vim/vim#14792 https://github.com/vim/vim/commit/62ccaa60d5f7f9a13c758bd5e55b7ca6855a6de9 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
* vim-patch:d1d9316: runtime(zig): refactor zig ftplugin, remove auto format ↵Gregory Anders2024-05-21
| | | | | | | | | | | | | (#28904) Refactored zig ftplugin, removed upstream comment, aucmd and auto formatting support. Updated documentation for zig configuration settings and added new maintainer. closes: vim/vim#13803 https://github.com/vim/vim/commit/d1d9316c6621d275593f58664975faf0fc23985f Co-authored-by: Tiseno <mathias.lindgren@stabelo.se>
* fix(lsp): detach all clients on_reload to force buf_state reload (#28875)Ilia Choly2024-05-21
| | | | | | Problem: The changetracking state can de-sync when reloading a buffer with more than one LSP client attached. Solution: Fully detach all clients from the buffer to force buf_state to be re-created.
* docs: how to get core dump files #28826Jongwook Choi2024-05-21
| | | | | | | | | | | | | Problem: Docs about how to obtain backtraces on Linux is not very beginner-friendly; some users used to have difficulties in getting stacktrace against Nvim crash. For instance, the `core` dump file might not appear in the current directory on Ubuntu systems with apport, and the current docs do not fully cover such cases. Solution: Add more hints about where core dump files can be found. For example, on Ubuntu where apport is managing core dump files, users would want to find them in `/var/lib/apport/coredump`.
* fix(lsp): semantic token functions allow "0" bufnr #28849Riley Bruins2024-05-21
| | | aligns with ":help dev-patterns"
* fix(lsp): hide layout in codelenses in virtual text (#28794) (#28807)Mango The Fourth2024-05-21
| | | | | | | Problem: layout i.e. whitespace that is part of codelenses is currently displayed as weird symbols and large amounts of spaces Solution: replace all consecutive whitespace symbols with a single space character when trying to display codelenses as virtual text
* feat(signs)!: place higher-priority signs from the left #27781Tobias Schmitz2024-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Higher-priority signs may be hidden by lower-priority signs. Solution: Place higher-priority signs from the left. Example: nvim_buf_set_extmark(0, ns, 0, -1, {sign_text='H', priority=1}) nvim_buf_set_extmark(0, ns, 0, -1, {sign_text='W', priority=2}) nvim_buf_set_extmark(0, ns, 0, -1, {sign_text='E', priority=3}) Before: | | H | W E | ^ | | Not visible After: | | | E W | H | | ^ Not visible Fixes #16632
* fix(lsp): add textDocument/documentLink to capability map (#28838)Ilia Choly2024-05-21
|
* vim-patch:8cf29e4c4a2aChristian Clason2024-05-21
| | | | | | | | | | runtime(matchit): update matchit plugin to v1.20 fixes: vim/vim#14814 https://github.com/vim/vim/commit/8cf29e4c4a2af75bf31ef16ef108aea61c165af8 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:69dff00dfb37Christian Clason2024-05-20
| | | | | | | | | | runtime(verilog): set commentstring option closes: vim/vim#14810 https://github.com/vim/vim/commit/69dff00dfb37077f4a80fd9635ea963889ad4b49 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:9.1.0423: getregionpos() wrong with blockwise mode and multibytezeertzjq2024-05-20
| | | | | | | | | | | | | Problem: getregionpos() wrong with blockwise mode and multibyte. Solution: Use textcol and textlen instead of start_vcol and end_vcol. Handle coladd properly (zeertzjq). Also remove unnecessary buflist_findnr() in add_regionpos_range(), as getregionpos() has already switched buffer. closes: vim/vim#14805 https://github.com/vim/vim/commit/c95e64f41f7f6d1bdc95b047ae9b369743c8637b
* vim-patch:9.1.0394: Cannot get a list of positions describing a regionzeertzjq2024-05-20
| | | | | | | | | | | | | | | Problem: Cannot get a list of positions describing a region (Justin M. Keyes, after v9.1.0120) Solution: Add the getregionpos() function (Shougo Matsushita) fixes: vim/vim#14609 closes: vim/vim#14617 https://github.com/vim/vim/commit/b4757e627e6c83d1c8e5535d4887a82d6a5efdd0 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:9.1.0425: filetype: purescript files are not recognizedChristian Clason2024-05-20
| | | | | | | | | | | | | | | Problem: filetype: purescript files are not recognized Solution: recognize '*.purs' files as purescript filetype, include basic purescript filetype plugin (Riley Bruins) Reference: https://github.com/purescript/documentation/blob/master/language/Syntax.md#comments closes: vim/vim#14813 https://github.com/vim/vim/commit/155583a5c317881e60828e3972383436ac197ee8 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:9.1.0424: filetype: slint files are not recognizedChristian Clason2024-05-20
| | | | | | | | | | | | | Problem: filetype: slint files are not recognized Solution: Detect '*.slint' files as slint filetype, include basic sling filetype plugin (Riley Bruins) closes: vim/vim#14808 https://github.com/vim/vim/commit/aa3104b07a3e5e7cc41310f1fbfb00f71ef801a2 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:f295050fa524Christian Clason2024-05-20
| | | | | | | | | | runtime(nim): basic nim ftplugin file for comments (vim/vim#14812) Reference: https://nim-by-example.github.io/comments/#:~:text=Comments%20in%20Nim%20begin%20with%20the%20hash%20character.&text=Multiline%20or%20block%20comments%20begin,line%20comments%20can%20be%20nested. https://github.com/vim/vim/commit/f295050fa524b3a58289d12d3477b52a8610794f Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:957d903cb7afChristian Clason2024-05-20
| | | | | | | | | | | | | | runtime(arduino): Add Arduino ftplugin and indent files (vim/vim#14811) We already have Arduino syntax file, but we didn't have ftplugin and indent files. This commit adds a basic ftplugin file and a basic indent file. Both of them are derived from {ftplugin,indent}/c.vim. https://github.com/vim/vim/commit/957d903cb7af41539efd3195d053293987af85d9 Co-authored-by: K.Takata <kentkt@csc.jp>
* vim-patch:c3d5c2fc8721Christian Clason2024-05-20
| | | | | | | | | | runtime(typst): include basic typst ftplugin file (vim/vim#14809) Reference: https://typst.app/docs/reference/syntax/#comments https://github.com/vim/vim/commit/c3d5c2fc87212865ee73738cd381ddbaf8132c33 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:9c4d14dbb4baChristian Clason2024-05-20
| | | | | | | | | | runtime(prisma): include basic prisma ftplugin file (vim/vim#14807) Reference: https://www.prisma.io/docs/orm/prisma-schema/overview#comments https://github.com/vim/vim/commit/9c4d14dbb4baeb909ff62a943aed24968e3be6fe Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:1b5e3d21f6f3Christian Clason2024-05-20
| | | | | | | | runtime(v): include basic v ftplugin for comment support (vim/vim#14806) https://github.com/vim/vim/commit/1b5e3d21f6f321824b3c4552a9fff24feeb64aab Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:9.1.0421: filetype: hyprlang files are not recognizedChristian Clason2024-05-20
| | | | | | | | | | | | | Problem: filetype: hyprlang files are not recognized Solution: recognize 'hypr{land,paper,idle,lock}.conf' files as 'hyprlang' filetype, add hyprlang ftplugin (Riley Bruins) closes: vim/vim#14803 https://github.com/vim/vim/commit/5f1b115afd92544ce64d563da0d8ee9844abb10a Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:4d7892bfb1dbChristian Clason2024-05-20
| | | | | | | | | | | runtime(dart): add basic dart ftplugin file fixes vim/vim#14793 closes vim/vim#14802 https://github.com/vim/vim/commit/4d7892bfb1dbcc8ba19d9c60c63b3d11b758553f Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:36e974fdf3f5Christian Clason2024-05-20
| | | | | | | | | | runtime(graphql): basic ftplugin file for graphql closes: vim/vim#14801 https://github.com/vim/vim/commit/36e974fdf3f5db1126bb8211e5a12462258da167 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* vim-patch:df859a36d390Christian Clason2024-05-20
| | | | | | | | | | runtime(sql): set commentstring for sql files in ftplugin closes: vim/vim#14800 https://github.com/vim/vim/commit/df859a36d390bda4241760155a0d2ae0be1bcbe9 Co-authored-by: Riley Bruins <ribru17@hotmail.com>
* fix(diagnostic): show backtrace for deprecation warningsJongwook Choi2024-05-20
| | | | | | | | | | | | Problem: On nvim 11.0-dev, deprecation warnings due to an use of hard-deprecated APIs such as: - `vim.diagnostic.disable()` - `vim.diagnostic.is_disabled()` etc. are not accompanied by backtrace information. It makes difficult for users to figure out which lines or which plugins are still using deprecated APIs. Solution: use `backtrace = true` in vim.deprecate() call.
* refactor!: remove `nvim` and `provider` module for checkhealthdundargoc2024-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The namespacing for healthchecks for neovim modules is inconsistent and confusing. The completion for `:checkhealth` with `--clean` gives ``` nvim provider.clipboard provider.node provider.perl provider.python provider.ruby vim.lsp vim.treesitter ``` There are now three top-level module names for nvim: `nvim`, `provider` and `vim` with no signs of stopping. The `nvim` name is especially confusing as it does not contain all neovim checkhealths, which makes it almost a decoy healthcheck. The confusion only worsens if you add plugins to the mix: ``` lazy mason nvim nvim-treesitter provider.clipboard provider.node provider.perl provider.python provider.ruby telescope vim.lsp vim.treesitter ``` Another problem with the current approach is that it's not easy to run nvim-only healthchecks since they don't share the same namespace. The current approach would be to run `:che nvim vim.* provider.*` and would also require the user to know these are the neovim modules. Instead, use this alternative structure: ``` vim.health vim.lsp vim.provider.clipboard vim.provider.node vim.provider.perl vim.provider.python vim.provider.ruby vim.treesitter ``` and ``` lazy mason nvim-treesitter telescope vim.health vim.lsp vim.provider.clipboard vim.provider.node vim.provider.perl vim.provider.python vim.provider.ruby vim.treesitter ``` Now, the entries are properly sorted and running nvim-only healthchecks requires running only `:che vim.*`.
* vim-patch:94043780196c (#28831)zeertzjq2024-05-18
| | | | | | | runtime(matchparen): fix :NoMatchParen not working (vim/vim#14797) fixes: neovim/neovim#28828 https://github.com/vim/vim/commit/94043780196cc66d23eeec10e2c722c6552324e0
* vim-patch:cf78d0df51f2Christian Clason2024-05-18
| | | | | | | | runtime(sshdconfig): add basic ftplugin file for sshdconfig (vim/vim#14790) https://github.com/vim/vim/commit/cf78d0df51f2737f278a2410f166862001d875ae Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>