aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/lsp/util_spec.lua
Commit message (Collapse)AuthorAge
* fix(lua): enable param-type-mismatch diagnosticLewis Russell2026-09-28
| | | | | | | | | Problem: Argument type mismatches are excluded from EmmyLua checks. Solution: Correct runtime annotations and calls, document local checker workarounds, and enable the diagnostic. AI-assisted
* test(harness): migrate away from magic globalsJustin M. Keyes2026-07-21
| | | | | | | | | | | | | | | | | | | | | Problem: The magic globals `it`, `describe`, etc., are more trouble than they are worth. - Hooking into `after_each` requires `getfenv()` hacks. - They confuse luals/emmylua, because the top-level `.luarc.json` isn't merged with `test/.luarc.json` (apparently a luals limitation?) - They totally defeat discoverability because the user just has to "know" about the various magic symbols. So they harm DX, which means they serve no purpose at all. Solution: - Expose the test API from `testutil`, so tests can call `t.it()`, `t.describe()`, etc., in the conventional way. - Drop `getfenv()` hacks. - Drop the `setfenv()` injection in `load_chunk`. - Drop `test/_meta.lua`.
* fix(lsp): incorrect rendering of markdown codeblock #40861Justin M. Keyes2026-07-20
| | | | | | | | | | | | Problem: LSP hover erroneously drops blank lines before a 4-space-indented codeblock, which is not valid Markdown. This causes incorrect parsing and wrong display. Solution: Fix `split_lines` so that it doesn't drop the blank line just before a 4-space-indented codeblock. fix https://github.com/neovim/neovim/issues/40860
* fix(lsp): preview window converted to normal window is auto-closed (#40770)Rocco Vaccone2026-07-19
| | | | | | | | | | | | | Problem: A floating preview window (hover, signature help) converted to a normal window (e.g. with CTRL-W_H or nvim_win_set_config()) is still closed by the open_floating_preview() autocommands, and a later preview may focus or close it as if it were still a float. Solution: When the preview window is no longer floating, remove its auto-close autocommands and stop tracking it as the buffer's floating preview. Closes #36659
* fix(ui): combine float border with window background #40796Artem Krinitsyn2026-07-19
| | | | | | | | | | Problem: Float border highlight groups (FloatBorder, FloatTitle and FloatFooter) fall back to Normal background highlight if no background color set. Solution: Combine border colors with window-local Normal highlight. Fix #38330
* refactor!: remove deprecated APIsYi Ming2026-05-11
|
* fix(lsp): util.lua attempt to concatenate userdata #39225Olivia Kinnear2026-04-28
| | | | | | | | | Problem: Error when querying document symbols using python-lsp-server: lsp/util.lua:1955: attempt to concatenate field 'containerName' (a userdata value) Solution: Check for `vim.NIL`.
* fix(lsp): handle relative='editor' in make_floating_popup_options() #39320Daigo Yamashita2026-04-26
| | | | | | | | | | | | | | | | | | Problem: With `vim.g.health = { style = 'float' }`, running `:checkhealth` from a `:help` buffer placed the float in the top-left corner instead of centered. make_floating_popup_options() picks the NW/NE/SW/SE anchor and the available height from cursor-relative metrics (winline(), wincol(), winheight()). When the caller passes relative='editor', those metrics are meaningless, so the function could flip to an 'E' anchor and clamp the float off-screen. Solution: When relative='editor', treat the whole editor area as available space (lines_above=0, lines_below=&lines, wincol=0). This makes the NW anchor the natural choice and keeps the float position stable regardless of where the cursor is in the current window. AI-assisted: Claude Code
* test: curbuf initialized in describe-block #39365glepnir2026-04-24
| | | | | | Problem: curbuf was initialized at describe-block load time before any Nvim session existed. Solution: Replace with 0 directly at call sites.
* docs: misc #39045Justin M. Keyes2026-04-18
|
* test(lsp): extract buf/util parts from lsp_spec.lua #39149Yi Ming2026-04-17
| | | | | | | | | Problem: `test/functional/plugin/lsp_spec.lua` had grown into a large catch-all file that mixed core LSP client lifecycle coverage, `vim.lsp.buf.*` behavior, and `vim.lsp.util.*` behavior in one place. Solution: Split the large tests into more focused test files without changing test coverage or intended behavior. After this change, `lsp_spec.lua` is more focused on core LSP client/config/dynamic-registration behavior.
* test: just say no to hyper-granularityJustin M. Keyes2020-01-08
| | | | | - Move plugin/lsp/* to plugin/* - Merge lsp/util_spec.lua into lsp_spec.lua
* lualintAshkan Kiani2019-11-21
|
* UpdatesAshkan Kiani2019-11-21
- Use correct implementation of text_edits. - Send indent options to rangeFormatting and formatting. - Remove references to vim bindings and filetype from lsp.txt - Add more examples to docs. - Add before_init to allow changing initialize_params.