100 Commits
Author SHA1 Message Date
Maria Solano f9c67c40bc fix(lsp): call on_list before reading loclist #37645
Problem:
`on_list` is supposed to replace the default list-handler. With the current order of these `if` statements `on_list` won't be called if `loclist` is true.

Solution:
Change the order of the relevant blocks.

(cherry picked from commit 0501c5fd09)
2026-02-01 12:41:57 +00:00
Maria Solano 890c257194 fix(lsp): check nvim.lsp.enable before doautoall #36518
(cherry picked from commit 653871da1b)
2025-11-12 06:40:09 +00:00
Maria Solano b92e92b20d feat(lsp): support auto-force escalation in client stop #36430
(cherry picked from commit 02cd564896)
2025-11-02 09:01:41 -08:00
Maria José Solano 6b820258cd fix(lsp): don't override config.title in vim.lsp.buf.signature_help() #35075
(cherry picked from commit afebbd0f34)
2025-07-27 03:17:18 +00:00
Maria José Solano 0ab089add4 refactor(lsp): consistent usage of vim.notify #34802
(cherry picked from commit 580b8cfac7)
2025-07-06 14:40:39 +00:00
Maria José Solano 4621527f59 fix(lsp): add RequestFailed error code constant #34645
Also remove `serverErrorStart/End` as [the spec](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#errorCodes)
says that they're deprecated and don't even represent a real error code.

(cherry picked from commit 3eaa6c5a66)
2025-06-26 09:59:01 +00:00
Maria José Solano ea8db9003b fix(lsp): use correct deprecation function (#34518)
(cherry picked from commit 00ad477419)
2025-06-17 03:14:09 +00:00
Maria José Solano ff8acfffd2 fix(lsp): include client ID when receiving unknown fold kind (#34535)
(cherry picked from commit cd06e0c9d6)
2025-06-17 03:04:36 +00:00
Maria José Solano 901eeeb2e6 fix(lsp): use bufnr when getting clients in symbols_to_items (#33760)
(cherry picked from commit 34c769dd89)
2025-05-02 21:07:05 +00:00
Maria José Solano a94a2927d0 feat(treesitter): allow passing lang to InspectTree 2025-03-12 08:58:41 +01:00
Maria José Solano 3b0fe2659e feat(lsp): support completion context #32793
Problem:
vim.lsp.completion with "autotrigger" enabled, does not send
completion context, even though it has all the necessary info.

Solution:
Include the context for "autotrigger".
trigger() also optionally accepts context when manually invoked.
2025-03-10 09:20:27 -07:00
Maria José Solano 5d08b65ac2 fix(lsp): use unresolved code action when codeAction/resolve fails 2025-03-07 10:23:55 +01:00
Maria José Solano 41b07b128c feat(lsp): support for resolving code action command (#32704)
* fix(lsp): don't call codeAction_resolve with commands

* feat(lsp): support for resolving code action command
2025-03-06 08:21:47 +00:00
Maria José Solano 0a5a0efda6 feat(lua): don't complete private (_) fields after dot (.) #32690 2025-03-02 13:44:13 -08:00
Maria José Solano d2cca606a1 fix(float): ensure floating window width can fit title 2025-02-23 10:32:20 +00:00
Maria José Solano e4c1f6667b feat(lsp): use the meta model to generate server capability map 2025-02-21 08:40:33 -08:00
Maria José Solano ae2fd91b41 feat(lsp): update LSP types 2025-02-17 17:52:55 -08:00
Maria José Solano 0e8e4a07f5 fix(diagnostic): don't include diagnostic code when using custom formatter #32464 2025-02-16 12:13:29 -08:00
Maria José Solano efe92f9dff fix(docs): update context type in vim.lsp.LocationOpts.OnList 2025-02-16 11:31:08 +01:00
Maria José Solano e4c6e732fd feat(lsp): add select kind in showMessageRequest #32387 2025-02-13 05:48:56 -08:00
Maria José Solano 38a52caec0 feat(diagnostic): add current_line option for virtual_text handler 2025-02-05 15:27:09 +01:00
Maria José Solano 445ecca398 feat(diagnostic): format() can filter diagnostics by returning nil #32302 2025-02-03 00:54:31 -08:00
Maria José Solano 48e3ac60c6 perf(diagnostics): cache line diagnostics when current_line is set #32288
Compute the diagnostics per line when `show` is called, allowing for
O(1) access for the diagnostics to display when the cursor line or the
list of diagnostics haven't changed.
2025-02-02 03:40:43 -08:00
Maria José Solano da0ae95349 feat(treesitter): support modelines in query.set() (#30257) 2025-01-29 08:59:28 +01:00
Maria José Solano 1759b7844a feat(diagnostic): virtual_lines #31959 2025-01-26 15:33:03 -08:00
Maria José Solano 575f4bc7d5 docs: document namespace/augroup convention 2025-01-14 21:25:25 -08:00
Maria José Solano 09e01437c9 refactor: use nvim.foo.bar format for autocommand groups 2025-01-14 21:25:25 -08:00
Maria José Solano 850084b519 refactor: use nvim.foo.bar format for namespaces 2025-01-14 19:55:29 -08:00
Maria José Solano 548f19ccc3 feat(health): close checkhealth buffers with q #31870 2025-01-05 09:51:51 -08:00
Maria José Solano 5e90406487 fix(health): set nomodifiable in checkhealth buffers 2025-01-05 09:43:59 +01:00
Maria José Solano 02097e43c8 fix(lsp): check if sig_help window is focusable when configuring cycle keymap 2024-12-29 16:23:23 +00:00
Maria José Solano 3bb2d02759 docs: fix type of vim.validate value 2024-12-09 07:59:51 +00:00
Maria José Solano c2bf09ddff fix(lsp): check for configuration workspace folders when reusing clients 2024-12-07 09:43:45 +00:00
Maria José Solano e56437cd48 feat(lsp): deprecate vim.lsp.start_client #31341
Problem:
LSP module has multiple "start" interfaces.

Solution:
- Enhance vim.lsp.start
- Deprecate vim.lsp.start_client
2024-12-04 05:14:47 -08:00
Maria José Solano 38838fb00a fix(lsp): type-errors, other nits in vim.lsp.log #31235 2024-11-16 18:32:09 -08:00
Maria José Solano 0086ee90dd fix(lsp): list all workspace folders in healthcheck #30966 2024-10-28 06:14:56 -07:00
Maria José Solano 123c0b6b4e docs(lsp): document alternative for vim.lsp.util.jump_to_location 2024-10-27 09:26:52 +00:00
Maria José Solano 01739d4673 fix(defaults): missing ]Q/[Q unimpaired mappings #30943 2024-10-25 06:45:27 -07:00
Maria José Solano f6f2334ac2 fix(defaults): error messages UX for unimpaired mappings #30884 2024-10-23 04:40:12 -07:00
Maria José Solano 31745b17e6 fix(types): add narrower vim.validate types 2024-10-18 07:36:54 +01:00
Maria José Solano e0a5c3bb58 fix(lsp): handle multiline signature help labels #30460 2024-10-15 02:36:04 -07:00
Maria José Solano dad55f5e76 feat(lsp): export diagnostic conversion functions (#30064) 2024-08-27 13:16:33 -05:00
Maria José Solano d9ccd828b0 fix(lsp): return call hierarchy item, not the index (#30145) 2024-08-26 17:37:36 +02:00
Maria José Solano 0e394f136f fix(lsp): log when receiving markup messages (#30065) 2024-08-26 17:35:43 +02:00
Maria José Solano a901fb875f fix(docs): add missing properties to hl_info #30032 2024-08-16 08:36:23 -07:00
Maria José Solano 8bdfc2ab2b fix(version): return nil with empty string 2024-07-27 14:06:31 +01:00
Maria José Solano 5fe4ce6678 fix(snippet): modify base indentation when there's actually whitespace (#29670) 2024-07-16 19:30:22 +02:00
Maria José Solano 8703e7bd12 docs(lpeg): merge upstream changes 2024-07-15 21:16:29 +01:00
Maria José Solano e6cfcaed18 feat(snippet): add default keymaps during snippet session 2024-05-28 08:49:39 -07:00
Maria José Solano 490c2109e6 test(lsp): add completion tests 2024-05-27 14:53:28 -07:00
Maria José Solano ff097f2091 feat(lsp): completion side effects 2024-05-27 14:53:28 -07:00
Maria José Solano 608543f8a9 fix(snippet): cancel snippet session when leaving the buffer (#29031) 2024-05-27 17:18:10 +02:00
Maria José Solano 6818ba271c fix(health): clients may not support watchfiles #28710 2024-05-14 07:08:13 -07:00
Maria José Solano efb44e0cad docs: fix lua type warnings (#28633) 2024-05-05 06:08:17 +08:00
Maria José Solano bc7f86209d fix(lsp): redundant vim.snippet.jumpable #28560 2024-04-29 13:45:53 -07:00
Maria José Solano 97c0a52416 fix(lsp): correct deprecation message #28403 2024-04-18 12:06:52 -07:00
Maria José Solano e52c25b761 feat(lua): deprecate vim.tbl_add_reverse_lookup 2024-03-07 10:24:34 +01:00
Maria José Solano 0101bdaa1a docs(lsp): nits and typos in client.lua 2024-03-06 19:37:20 +00:00
Maria José Solano f912030d4e docs(lpeg): remove double backticks from meta (#27659) 2024-02-29 06:14:49 +08:00
Maria José Solano 853f647da6 fix(lsp): handle reverse lookup in capabilities 2024-02-28 20:20:02 +00:00
Maria José Solano d981670bc9 refactor(lsp): remove outdated comment 2024-02-28 20:20:02 +00:00
Maria José Solano cb146cc4aa docs(lpeg): merge upstream changes 2024-02-28 09:22:09 +00:00
Maria José Solano 63f9c2da9a feat(lsp): support completion itemDefaults 2024-02-27 16:50:51 +01:00
Maria José Solano 3d96e3f9f2 refactor(lsp): alias for CompletionResult 2024-02-27 16:50:51 +01:00
Maria José Solano 7ad2e3c645 docs: fix type of setreg() argument {options} (#27631) 2024-02-27 19:53:49 +08:00
Maria José Solano 185752614d refactor(types): fix miscellaneous type warnings 2024-02-25 22:08:11 +00:00
Maria José Solano 0fcbda5987 fix(lsp): add snippet regression test (#27618) 2024-02-25 11:05:37 +01:00
Maria José Solano ac0e8323dc fix(lsp): add parentheses to generated union array types (#27560) 2024-02-21 12:31:56 +01:00
Maria José Solano cc15ba212c refactor(lsp): typings for protocol constants 2024-02-19 11:23:35 +00:00
Maria José Solano 1c7b0b9d5f docs: stricter bufname and bufnr types (#27454) 2024-02-13 12:15:27 +08:00
Maria José Solano eac7e3fc6c refactor(lsp): add vim.lsp.sync.Range type 2024-02-10 20:05:47 -08:00
Maria José Solano 5a6868c888 refactor(lsp): add shared diagnostic handler 2024-02-10 20:05:47 -08:00
Maria José Solano c73d67d283 refactor(lsp): add type annotations 2024-02-10 20:05:47 -08:00
Maria José Solano 0fe86f7e24 feat(lsp): add opts paramater to vim.lsp.codelens.refresh 2024-02-08 20:24:40 -08:00
Maria José Solano 0e9a33572d fix(lsp): handle adjacent snippet tabstops 2024-02-05 15:03:46 +00:00
Maria José Solano eee52d3427 refactor(lsp): client_hints typo #27250 2024-01-28 18:38:36 -08:00
Maria José Solano a1bdf2852d fix(snippet): remove misleading comment about TM_FILENAME_BASE (#26465) 2023-12-08 21:23:46 +01:00
Maria José Solano 4972c80489 refactor(snippet): rename test utilities 2023-11-17 17:10:27 +01:00
Maria José Solano 7e36c8e972 feat(lsp): support for choice snippet nodes 2023-11-17 17:10:27 +01:00
Maria José Solano 0fe0cf5ada fix(lsp): do not cancel snippet when selecting placeholder (#25835) 2023-10-30 12:58:28 +01:00
Maria José Solano 15983cf2c6 fix(lsp): cancel session when leaving snippet region (#25762) 2023-10-26 07:29:05 +02:00
Maria José Solano 94127cb5df fix(lsp): do not add extra indentation 2023-10-23 17:21:41 +02:00
Maria José Solano 370232dbef fix(lsp): track snippet deletion 2023-10-23 17:21:41 +02:00
Maria José Solano f1775da07f feat(lsp): add snippet API (#25301) 2023-10-21 08:51:26 +02:00
Maria José Solano 315c711700 fix(treesitter): set cursor position when opening inspector 2023-10-19 14:54:10 +02:00
Maria José Solano 3fd7449d5a fix(treesitter): check that buf is loaded in autocommands (#25679) 2023-10-17 15:34:39 -05:00
Maria José Solano 2eecb1b85d fix(lsp): highlight active parameter in signature help #25663
Fixes #25662
2023-10-16 08:52:48 -07:00
Maria José Solano c46a6c065e docs: do not hardcode LSP version in URL #25648 2023-10-16 08:13:37 -07:00
Maria José Solano ee156ca60e fix(lsp): refactor escaping snippet text (#25611) 2023-10-14 09:06:40 +02:00
Maria José Solano 2fde6295df fix(lsp): display initialization errors (#25409) 2023-10-11 15:38:58 -05:00
Maria José Solano c80a3976cb docs: miscellaneous doc and type fixes (#25554) 2023-10-10 06:34:48 +08:00
Maria José Solano eb1f0e8fcc feat(lsp)!: replace snippet parser by lpeg grammar 2023-10-02 22:21:35 +02:00
Maria José Solano f736b075d3 feat(lsp): snippet parsing using lpeg 2023-10-02 22:21:35 +02:00
Maria José Solano 9ed830a3ca refactor(lsp): deprecate util methods (#25400) 2023-09-29 17:37:14 +02:00
Maria José Solano 4db77017fb fix(meta): add nil return types to lpeg functions 2023-09-26 09:43:44 +02:00
Maria José Solano 5198a2555d fix(meta): cleanup lpeg operators 2023-09-26 09:43:44 +02:00
Maria José Solano db51548036 docs: do not use deprecated functions #25334 2023-09-24 21:39:59 -07:00
Maria José Solano f9944a78bc feat(meta): add types for vim.lpeg 2023-09-24 22:10:10 +02:00
Maria José Solano bc0bf9d030 docs: fix type warnings 2023-09-23 23:46:45 +01:00
Maria José Solano dae6770b76 fix(meta): include vim.json 2023-09-22 23:02:45 +01:00