aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* | | | feat(api): add nvim_get_option_valueGregory Anders2021-12-04
| | | |
* | | | chore: remove legacy/059_utf8_spell_checking.vimJames McCoy2021-11-30
| | | | | | | | | | | | | | | | | | | | The legacy test was converted to a new style Vim test in 8b812183002ec869b20ae33ee7ec52452470fc52.
* | | | Merge pull request #16478 from jamessan/fragile-server-notifications-testJames McCoy2021-11-30
|\ \ \ \ | | | | | | | | | | test(api): mark "notify cancels stale events on channel close" fragile
| * | | | test(api): mark "notify cancels stale events on channel close" fragileJames McCoy2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is already skipped in all CI environments, so it should also be skipped in environments that don't like fragile tests. Since there's no convenient way to express these concisely, add the explicit fragile skip.
* | | | | Merge pull request #15840 from vimpostor/vim-8.2.3430Jan Edmund Lazo2021-11-30
|\ \ \ \ \ | |/ / / / |/| | | | vim-patch:8.2.{3430,3434,3462,3463,3555,3609,3610}: ModeChanged autocmd
| * | | | feat: trigger ModeChanged for terminal modesMagnus Groß2021-11-18
| | | | |
* | | | | NVIM 0.6.0Björn Linse2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BREAKING CHANGES * 32-bit windows builds are no longer provided. * **build deps**: use libuv 1.42.0 upstream for WIN32 (#15889) (f6c0a37), closes #15889 * removes Windows 7 support * removes support for mouse and alternate buffers in TUI for Windows 8 and 8.1 * **lsp/diagnostic:** highlight groups and signs for LSP diagnostics renamed (e.g. `LspDiagnosticsDefaultWarning` to `DiagnosticWarn`) (a5bbb93) * **diagnostic:** make DiagnosticChanged a first class autocmd (#16098) (150a592), closes #16098 * `au User LspDiagnosticsChanged` autocommands are not supported. Use the new first-class DiagnosticChanged event instead. * **lua**: `register_keystroke_callback` => `on_key` (#15460) (69fe427) * **note**: this breaking change was included in 0.5.1 FEATURES * **:source, nvim_exec:** defer script item creation until s:var access (da9b0ab) * **:source, nvim_exec:** support script-local variables (d4ed51e), closes #13143 #11507 * **lua:** add trimempty optional parameter to vim.split (5fa26e2) * **lua:** add vim.str_utf_{start,end} (#16129) (2230b57) * **lua:** add vim.str_utf_pos function (d752cbc) * **lsp:** aggregate code actions from all clients (#15121) (c36df20) * **api:** add lua C bindings for xdiff (#14536) (3d3c0c6) * **api:** evaluate statusline string #16020 (9086938) * **api:** named marks set, get, delete #15346 (49fdc62) * **api:** nvim_get_chan_info: include "argv" for jobs #15537 (0603eba), closes #15440 * **api:** win_viewport also sends line_count #15613 (086631c) * **api:** support :terminal input callback in lua (9e41e82) * **ci:** add backport PR action (#14766) (6cc456d) * **decorations:** allow more than one stacked highlight in a virt_text (1495d36) * **decorations:** support virtual lines (392c658) (8d7816c) * **diagnostic:** move vim.lsp.diagnostic to vim.diagostic and support other sources (a5bbb93) * **diagnostic:** add 'prefix' option to open_float (#16321) (3c74ba4) * **diagnostic:** add option to include diagnostic source (d43151e) * **diagnostic:** allow 'prefix' option to return highlight (cc48837) * **diagnostic:** allow customized diagnostic messages (#15742) (d999c96) * **diagnostic:** match(), tolist(), fromlist() #15704 (e61ea77) * **diagnostic:** update jumplist on goto_next/prev (#15942) (b55944e) * **diagnostic:** use `scope = 'line'` by default for `open_float()` (#16456) (217f9f8), closes #16453 * **diagnostic:** support severity_sort (32c0631) * **checkhealth:** provide function for command line completion (8b43b07) * **f_chansend:** support Blob data argument (7e9ea08) * **job:** add parameter to close stdin (eb7f24b) * **keywordprg:** use :terminal for external commands #15398 (a90513c), closes #2995 #2761 * **lsp:** add 'focus' option to open_floating_preview (#16465) (fff8827) * **lsp:** add a registry for client side code action commands (6c03601) * **lsp:** add client command support to codelens (#15820) (19a77cd) * **lsp:** add codeAction/resolve support (#15818) (ec4731d) * **lsp:** add exit_timeout flag (#16070) (80456cf) * **lsp:** add formatexpr (#16186) (52fa1d2) * **lsp:** add lsp healthcheck (e268026) * **lsp:** add per-client commands (#16101) (519d8de) * **lsp:** add tagfunc (#16103) (f940e7a) * **lsp:** add warning message for large log size (e6777a7) * **lsp:** allow configuring zindex for floating windows (#15086) (c487a73) * **lsp:** allow diagnostics to be disabled for a buffer (#15134) (1aeb945) * **lsp:** allow root_dir to be nil (#15430) (ff0833c) * **lsp:** highlight active parameter in signature help (#15018) (af26371) * **lsp:** improve vim.lsp.util.apply_text_edits (#15561) (41cfba6) * **lsp:** include original request params in handler ctx (187579f) * **lsp:** jump to diagnostics by position (#14795) (ea39ff5) * **lsp:** Make line diagnostics display prettier (e43dbfd) * **lsp:** make list handlers configurable (#15199) (3e00d4f) * **lsp:** support textDocument/prepareRename (#15514) (c1f573f) * **lsp:** use uv_spawn to check if server executable (#16430) (1a60580) * **lsp:** use vim.ui.select() in codelenses (#16004) (e7ea54a) * **lsp:** utilize textEdit.range for startbyte in omnifunc (#15957) (e9d6f7c) * **lua:** add lua-cjson as vendored dependency (8decc9f) * **lua:** add vim.mpack for msgpack support in lua (eaf661d) * **lua:** allow passing handles to vim.b/w/t (6c5e7bd) * **lua:** convert binary string with NULs to Blob (de9df82) * **lua:** document support of packages with v:lua syntax (9dd371b) * **lua:** enable stack traces in error output (#16228) (03b805a) * **lua:** expose lua-cjson as vim.json (30fed27) * **lua:** make vim.mpack support vim.NIL and vim.empty_dict() (0f59666) * **match:** allow hl group to be defined after :match command (fca52f5) * **msgpack:** convert Blobs to BIN strings (af6f454) * **health:** support lua healthchecks (9249dcd), closes #15632 * **shada:** restore Blob globals properly (ef729fb) * **terminal:** TermClose: set exit code in v:event.status #15406 (50b30de), closes #4713 * **treesitter:** add next, prev sibling method (1400841) * **treesitter:** allow to set highlight priority for queries (242608e) * **ui:** add `opt.kind` to `vim.ui.select` (#15838) (7ae86c1) * **ui:** add vim.ui.input and use in lsp rename (#15959) (16d4af6) * **ui:** add vim.ui.select and use in code actions (#15771) (63fde08) * **vim script:** support calling v:lua as a method (b2994e3) CHANGES * **defaults:** auto-create backup dir (4600193) * **defaults:** inccommand=nosplit #15395 (7215d35) * **defaults:** set undo points in <C-U> and <C-W> (#15400) (2cb8db3) * **defaults:** limit syntax cost on CmdwinEnter #15401 (622a36b), closes #6289 #6399 * **defaults:** map CTRL-L to search highlights, update diffs #15385 (0aa8128) * **defaults:** map Y to y$ #13268 (5a111c1), closes #416 #6289 * **defaults:** remove 'options' from viewoptions #15397 (3954537), closes #6289 * **defaults:** set hidden (f6c72b7) * **defaults:** set nojoinspaces (d417e67) * **defaults:** switchbuf=uselast #15394 (4ba7495) * **runtime:** add packages as `"/pack/*/start/*"` patterns to &rtp (9df7e02) * **startup:** load builtin plugins with --clean #15893 (c7a63f3), closes #15605 * **terminal:** set cursorlineopt=number in terminal mode (#15493) (c61a386) * **window:** skip non-focusable floats for :windo (#15378) (e8631cb) PERFORMANCE IMPROVEMENTS * **api:** avoid spurious allocations when converting small objects (705e8f1) * **highlight:** use a hashtable for highlight group names (bb4b4d7) * **lua:** optimize vim.deep_equal #15236 (4b452d4) * **lua:** don't use regexes inside lua require'mod' (ea2023f), closes #15147 #15497 * **lsp:** improve json deserialization performance (#15854) (912a6e5) * **map:** reduce double pointer indirection to single pointer indirection (9e651a9) * **treesitter:** avoid string lookup of highlight name in hot loop (2460f0a) FIXES * **:source, nvim_exec:** handle Vimscript line continuations #14809 (6188926), closes #14807 * **:source:** copy curbuf lines to memory before sourcing #15111 (afdc9e6) * allow str_utfindex second argument to be an explicit nil (#16448) (512ec46) * **api:** fix crash after set_option_value_for() #15390 (8b0e6cc), closes #14097 #13577 * **api:** fix nvim_buf_set_extmark (2338345) * **autocmd:** fix conditions in block_autocmds, unblock_autocmds #15372 (29712ae), closes #6279 * **buffer_updates:** cleanup test behavior (54b2c68) * **buffer_updates:** handle :delete of the very last line in buffer (8335e26) * **buffer_updates:** handle :sort of already sorted buffer (ef687d3) * **buffer_updates:** make `lockmarks` not affect extmarks and buffer updates. fixes #12861 (7d171b1) * **bufupdates:** send correct updates for visual paste (1423146) * **build:** add an env var to re-enable the colors (5087347) * **build:** call find_package(Threads) before using its variables (f446ab3) * **build:** export symbols on Windows (aa644b7) * **build:** fix build failure in MinGW (0503e17) * **build:** make vendored libmpack and libmpack-lua build properly (2a08aef) * **channel:** throw error if sending to internal channel w/o terminal (3b89fee) * **checkhealth:** duplicate checks if module name has "-" #15935 (a36c6e5) * **checkhealth:** mitigate issues with duplicate healthchecks #15919 (acd5e83), closes #15259 * **ci:** disable broken test on openbsd on all CI due to resource constraints (a3e2636) * **ci:** re-run GHA for ready_for_review events (#15377) (c6ef956) * **decorations:** crash when :bdelete (extmark_free_all) after clear_namespace (cd353aa), closes #15212 * **defaults:** "syntax sync maxlines=1" on CmdwinEnter #15552 (5f8518b), closes #15401 * **defaults:** do not map Y in visual-mode #15387 (54726e8), closes #13268 * **diagnostic:** allow floats to be focusable (#16093) (427bac6) * **diagnostic:** change default severity_sort order (938ed45) * **diagnostic:** clamp line numbers in setqflist and setloclist (5b0d8f8) * **diagnostic:** correctly handle folder level diagnostics (f87779a) * **diagnostic:** deepcopy diagnostics before clamping line numbers (2abc799) * **diagnostic:** do not focus floats in goto functions (#16433) (b5b025f) * **diagnostic:** don't clamp line numbers in setqflist (0341c68) * **diagnostic:** don't return nil when callers expect a table (#15765) (057606e) * **diagnostic:** don't use nil col if missing from qflist (#16357) (5e46f64) * **diagnostic:** error on invalid severity value (#15965) (d5dd0aa) * **diagnostic:** fix navigation with diagnostics placed past end of line (34bb5fa) * **diagnostic:** fix option resolution in open_float (#16229) (fd34784) * **diagnostic:** fix wrong data type in setqflist() (3fd1450) * **diagnostic:** get line count per buffer when clamping (c59f200) * **diagnostic:** handle an unknown or missing client (#16242) (1fdbd29) * **diagnostic:** handle diagnostics placed past the end of line (#16095) (a2994c8) * **diagnostic:** make set() go through cache when calling show() (d93f47d) * **diagnostic:** only update decorations for loaded buffers (#15715) (924e8e4) * **diagnostic:** preserve fields from LSP diagnostics via user_data (#15735) (17b7968) * **diagnostic:** remove useless highlight links (#15683) (c13242c), closes #15585 * disable clipboard when test registers (dd63d93) * **docgen:** add tagfunc.lua (0746f00) * **doc:** various fixes #15604 (4eb1ebb) * **eval:** add the vimscript-1 feature to has() (18b32fc) * **eval:** checking for a non-empty string is too strict (#15987) (1dbbaf8) * **eval:** fix has('wsl') #16153 (16d06fa), closes #12642 #16143 * **eval:** fixup for empty modifier in fnamemodify (#16368) (a7ad509), closes #16367 * **extmark:** fix missing virt_lines when using id param of set_extmark (995dbd2) * **extmarks:** splice extmarks on nv_Undo #15920 (e069361) * **fileio:** replace characters over INT_MAX with U+FFFD (#16354) (a2e5c2f), closes #11877 * **float:** fix potential heap corruption in win_redr_border (de670f3) * **float:** redraw if w_border_adj changed (7ff1bc1) * **heath/provider.vim:** using list as string #16007 (5365f24), closes #15988 * **highlight:** remove syncolor.vim, always include syntax colors (9afa0d2), closes #15176 #12573 #15205 * **inccommand:** ignore trailing commands only for *previewed* command #15638 (1f8c91b), closes #8796 #7494 * include ci/ in exported tarball (d6f03aa), closes #15856 * **input:** never reinterpret unmapped ALT- chrods in Terminal mode (#16222) (5ce35ab) * **input:** resolve isolated (non-ALT/META) mappings #13109 (c4857b6), closes #13042 #13086 #15869 * **jobwait:** always drain process event queues #15402 (3c081d0), closes #15349 * **lsp_spec:** tests depended on previous session (069d1de) * **lsp:** accept file URIs without a hostname (a2c2a08) * **lsp:** add done flag to messages returned in util.get_progress_messages() (#15985) (45fa70a) * **lsp:** add placeholder cancel function (#16189) (4da0351) * **lsp:** add textDocument/prepareRename to capability map (#15961) (fcc11d5), closes #15899 * **lsp:** adjust legacy show diagnostic functions to use correct scope (#16106) (dc6c9fe) * **lsp:** allow diagnostic.clear to accept nil bufnr (#15137) (4ed2d4f) * **lsp:** avoid duplicates in client attached buffers (#16099) (c5525f2) * **lsp:** avoid serializing boolean as key (#15810) (96614f8) * **lsp:** change rpc start notify level to warn (#16467) (04c7b55) * **lsp:** change signature of buf_highlight_references (#16345) (eb3d591) * **lsp:** correctly parse LSP snippets #15579 (516775e), closes #15522 * **lsp:** default to UTF-16 in make_position_params (2e3a474) * **lsp:** do not index nil client in progress (#16262) (8f31b21) * **lsp:** do not invoke handlers for unsupported methods (#15926) (d288daa) * **lsp:** don't update active_clients on exit_timeout (#16192) (98f5782) * **lsp:** enable additional capabilities (#15470) (5d63354) * **lsp:** ensure buffers are re-attached on rename (#16266) (ee3a58d) * **lsp:** Ensure users get feedback on references/symbols errors or empty results (256570a) * **lsp:** expose ContentModified error code to callbacks (#15262) (3f09732) * **lsp:** fix cursor row after textEdits (#16038) (bd2f61c) * **lsp:** gracefully handle nil workspaceFolders (#16284) (0ecc58c) * **lsp:** guard textDocument/codeAction command logic #15769 (433bda4) * **lsp:** improve symbols_to_items performance (#16197) (5ad15c9) * **lsp:** Include client name in handler error messages (#15227) (24f2b9e) * **lsp:** pass bufnr for async formatting (#15084) (c31bc6e) * **lsp:** persist diagnostic config for clients (bcc9ba5) * **lsp:** prevent double <text> for cached plaintext markup (910967e) * **lsp:** restore diagnostics extmarks on buffer changes (#15011) (77b33e4) * **lsp:** rewrite incremental sync (#16252) (2ecf0a4) * **lsp:** send buffer contents joined on fileformat-specific linebreak (#16334) (134a638) * **lsp:** send textDocument/didChange for each buffer (#16431) (3451121) * **lsp:** support duplicate params in signature help (#15032) (9132b76) * **lsp:** update lsp-handler signature in call_hierarchy (#15738) (8164adc) * **lsp:** update workspace/applyEdit handler signature (#15573) (3f526fe) * **lua:** fix vim.deepcopy for metatables & cycled tables (#16435) (eb876a0) * **lua:** preserve argument lists which are not lists (6896d22) * **man.vim:** ensure buftype=nofile after :tag or :stag #15675 (29bc648), closes #15650 * **man.vim:** filetype=man is too eager #15488 (2548a9e), closes #15487 #15487 * **mouse:** fix mouse drag positions on multigrid #12667 (0dcfd0e), closes #15091 * **mouse:** correct dragged position in composed layout (810da1a) * **multigrid:** mouse events crash neovim (28ac6c0) * **nvim_open_win:** crash if autocmds delete buffer/window #15549 (0c06da1), closes #15548 * **options:** using :set fillchars should clear local value (7528bce) * prevent K_EVENT from stopping Select mode CTRL-O #15688 (5f144ef) * **provider:** compare versions as number, not string (python 3.10 support) #15937 (e16adbf), closes #14586 * **screen:** make display_tick monotonic up to 2^64. fixes #16152 (9e88c9c) * **screen:** missing search highlights when redrawing from timer #15380 (db695cc), closes #13074 #14064 * **shared:** do not treat empty tables as list in deep extend (#15094) (526fc60) * **sign:** reset auto sign column with minimum in float win minimal style (c8f57f6) * **startup:** init.lua: set $MYVIMRC to absolute path #15748 (c76cddf) * **termdebug:** replace mapset with nvim_set_keymap (#15699) (4d7dcbe) * **termdebug:** replace term_getline with getbufline #15598 (11289ad) * **terminal:** close without ! if the job is stopped (55defa1), closes #4683 * **terminal:** free terminal if close_buffer() closes a closed terminal (#16264) (14def4d) * **test/dumplog:** tostring(rv) before formatting as string (ddaa0cc) * **tests:** use isolated XDG_DATA_HOME in startup tests (8e663e2) * **treesitter:** do not map hl_group when no mapping is set (f489d98) * **treesitter:** run predicates more often in iter_matches (458f2aa) * **tui:** extend smglr ignores to smglp and smgrp (#16239) (3ba800f) * **tui:** remove obsolete $NVIM detection #15791 (4414584), closes #12937 #11390 * **tutor:** formatting, layout #15098 (c52ec8f), closes #15088 * **ui:** use nowait for q mapping in floating window (#16427) (c132144) * **v:lua:** fix emsg when calling v:lua directly (da9005a) * **vim-patch.sh:** run nvim with -u NONE -n #16179 (97ae0ab) * **vim.opt:** vimL map string values not trimmed (#14982) (4906156) * **window:** win_close from other tabpage #15454 (90b2da1), closes #15313 * **windowing:** positioning of relative floats (9065730)
* | | | | feat(diagnostic): use `scope = 'line'` by default for `open_float()` (#16456)cbarrete2021-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | Closes #16453 Co-authored-by: Cédric Barreteau <cbarrete@users.noreply.github.com>
* | | | | test(diagnostic): diagnostics passed to set() should be an arrayGregory Anders2021-11-27
| | | | |
* | | | | chore: fix typos (#16361)dundargoc2021-11-27
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com> Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
* | | | fix(lua): fix vim.deepcopy for metatables & cycled tables (#16435)Shadman2021-11-26
| | | | | | | | | | | | | | | | | | | | vim.deepcopy previously didn't retain metatables in copies and caused stackoverflow on recursive tables/cycled tables this fixes these issues
* | | | test(diagnostic): uncomment equality checkGregory Anders2021-11-24
| | | |
* | | | fix(fileio): replace characters over INT_MAX with U+FFFD (#16354)Javier Lopez2021-11-23
| | | | | | | | | | | | | | | | fixes #11877 credit: @zubairabid https://github.com/neovim/neovim/pull/12010
* | | | Merge pull request #16402 from clason/treesitter-bumpChristian Clason2021-11-23
|\ \ \ \ | | | | | | | | | | build(deps): bump tree-sitter,treesitter-c to v0.20.1 and adapt tests
| * | | | fix(tests): adapt parser_spec test to tree-sitter bumpChristian Clason2021-11-23
| | |/ / | |/| | | | | | | | | | | | | | Change query to include anonymous nodes (`(_)` -> `[_]`) and use new syntax (`{vim,lua}.match?`->`#{vim,lua}.match?`)
* | | | fix(diagnostic): resolve buffer number in get() (#16407)Gregory Anders2021-11-22
| | | |
* | | | fix(diagnostics): don't allow 0 bufnr for metatable index (#16405)Gregory Anders2021-11-22
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 04bfd20bb introduced a subtle bug where using 0 as the buffer number in the diagnostic cache resets the cache for the current buffer. This happens because we were not checking to see if the _resolved_ buffer number already existed in the cache; rather, when the __index metamethod was called we assumed the index did not exist so we set its value to an empty table. The fix for this is to check `rawget()` for the resolved buffer number to see if the index already exists. However, the reason this bug was introduced in the first place was because we are simply being too clever by allowing a 0 buffer number as the index which is automatically resolved to a real buffer number. In the interest of minimizing metatable magic, remove this "feature" by requiring the buffer number index to always be a valid buffer. This ensures that the __index metamethod is only ever called for non-existing buffers (which is what we wanted originally) as well as reduces some of the cognitive overhead for understanding how the diagnostic cache works. The tradeoff is that all public API functions must now resolve 0 buffer numbers to the current buffer number.
* | | Merge pull request #16341 from zeertzjq/vim-8.2.2518nightlyJan Edmund Lazo2021-11-21
|\ \ \ | | | | | | | | vim-patch:8.2.{2518,2520,3572,3588}: 'listchars' (and 'fillchars'?) fixes
| * | | fix(options): using :set fillchars should clear local valuezeertzjq2021-11-17
| | | |
| * | | vim-patch:8.2.2518: 'listchars' should be window-localzeertzjq2021-11-17
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'listchars' should be window-local. Solution: Make 'listchars' global-local. (Yegappan Lakshmanan, Marco Hinz, closes vim/vim#5206, closes vim/vim#7850) https://github.com/vim/vim/commit/eed9d46293f0842aad0d50ff3a526f9a48b12421 Nvim already has this feature, but it implements :set listchars the same as :setglobal listchars, which is incorrect. Vim's implementation of :set listchars is correct: using :set listchars clears local value.
* | | fix(diagnostic): remove invalid buffers from cache (#16397)smolck2021-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Errors were being caused by invalid buffers being kept around in diagnostic_cache, so add a metatable to diagnostic_cache which attaches to new buffers in the cache, removing them after they are invalidated. Closes #16391. Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
* | | Merge pull request #16362 from zeertzjq/vim-8.2.3617Jan Edmund Lazo2021-11-21
|\ \ \ | | | | | | | | vim-patch:8.2.{3468,3617,3618,3622}: some other CWD related patches
| * | | vim-patch:8.2.3622: "verbose pwd" shows confusing infozeertzjq2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: "verbose pwd" shows confusing info when :lcd does not change directory. Solution: Clear last_chdir_reason also when the directory does not change. (closes vim/vim#9160) https://github.com/vim/vim/commit/64be6aa3a54ecfe355d4a03e1200650c301e7f29 This only ports the tests, as this is already Nvim's behavior.
| * | | vim-patch:8.2.3618: getcwd() is unclear about how 'autochdir' is usedzeertzjq2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: getcwd() is unclear about how 'autochdir' is used. Solution: Update the help for getcwd(). Without any arguments always return the actual current directory. (closes vim/vim#9142) https://github.com/vim/vim/commit/851c7a699ae00bdc14a4db874cf722b7b7393b53
| * | | vim-patch:8.2.3617: ":verbose pwd" does not mention 'autochdir' was appliedzeertzjq2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: ":verbose pwd" does not mention 'autochdir' was applied. Solution: Remember the last chdir was done by 'autochdir'. (issue vim/vim#9142) https://github.com/vim/vim/commit/0526815c15170a5926e1008600ec29d42d8b64c2
| * | | vim-patch:8.2.3468: problem with :cd when editing file in non-existent directoryzeertzjq2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Problem with :cd when editing file in non-existent directory. (Yee Cheng Chin) Solution: Prepend the current directory to get the full path. (closes vim/vim#8903) https://github.com/vim/vim/commit/c6376c798433bcb9ee38a8664299d11454546950
* | | | Merge pull request #16370 from gpanders/diagnostic-column-clampGregory Anders2021-11-21
|\ \ \ \
| * | | | fix(diagnostic): fix navigation with diagnostics placed past end of lineGregory Anders2021-11-19
| | | | |
| * | | | fix(diagnostic): deepcopy diagnostics before clamping line numbersGregory Anders2021-11-19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current 'clamp_line_numbers' implementation modifies diagnostics in place, which can have adverse downstream side effects. Before clamping line numbers, make a copy of the diagnostic. This commit also merges the 'clamp_line_numbers' method into a new 'get_diagnostics' local function which also implements the more general "get" method. The public 'vim.diagnostic.get()' API now just uses this function (without clamping). This has the added benefit that other internal API functions that need to use get() no longer have to go through vim.validate. Finally, reorganize the source code a bit by grouping all of the data structures together near the top of the file.
* | | | chore(lsp): clean up initialization process (#16369)Michael Lingelbach2021-11-21
| | | | | | | | | | | | | | | | | | | | * send vim.NIL instead of not sending workspaceFolders * read fallback rootPath and rootUri from workspaceFolders * update documentation
* | | | fix: remove unneeded gzip checkShougo Matsushita2021-11-19
| | | |
* | | | fix: shell problemShougo Matsushita2021-11-19
| | | |
* | | | fix: fix GZIP errorShougo Matsushita2021-11-19
| | | |
* | | | fix: remove previous executed directories to execute tests locallyShougo Matsushita2021-11-19
|/ / /
* / / fix(lsp): improve incremental sync robustness (#16358)Michael Lingelbach2021-11-18
|/ / | | | | | | | | closes https://github.com/neovim/neovim/issues/16352 * improve handling of multi-byte deletions
* | Merge pull request #16328 from gpanders/diagnostic-prefix-hiGregory Anders2021-11-16
|\ \
| * | refactor(diagnostic)!: rename 'show_header' to 'header'Gregory Anders2021-11-15
| | | | | | | | | | | | | | | | | | Rename the `show_header` option in `open_float` to simply `header` and allow users to specify both the header string as well as the highlight group.
| * | feat(diagnostic): allow 'prefix' option to return highlightGregory Anders2021-11-15
| |/ | | | | | | | | Extend the 'prefix' option for `open_float` to also provide an optional highlight group for the prefix string.
* | refactor(diagnostic): make bufnr arguments consistent (#16323)Gregory Anders2021-11-16
| | | | | | | | | | | | | | Make the bufnr argument have similar semantics across API functions; namely, a nil value means "all buffers" while 0 means "current buffer". This increases the flexibility of the API by allowing functions such as enable() and disable() to apply globally or per-namespace, rather than only on a specific buffer.
* | fix(lsp): fix edge cases in incremental sync (#16308)Michael Lingelbach2021-11-15
|/
* feat(diagnostic): add 'prefix' option to open_float (#16321)Gregory Anders2021-11-14
| | | | The 'prefix' option accepts a function or a string that is used to add a prefix string to each diagnostic displayed in the floating window.
* fix(lsp): ensure buffers are re-attached on rename (#16266)Mathias Fußenegger2021-11-14
| | | | | | | | | If a LSP server sent a workspace edit containing a rename the buffers file name changed without the server receiving a close notification for the old buffer and without the client properly re-attaching on the new file. This affected `Move` code-actions in nvim-jdtls, but also `vim.lsp.buf.rename` on a class level.
* fix(float): skip non-focusable windows for :windo (#15378)Daniel Steinberg2021-11-11
|
* test: add tests for freeing channel opened by termopen()zeertzjq2021-11-11
| | | | This indirectly covers #16264
* fix(channel): fix channels opened by nvim_open_term() never being freedzeertzjq2021-11-11
|
* fix(channel): throw error if sending to internal channel w/o terminalzeertzjq2021-11-11
| | | | | Prevent SIGABRT when sending to a channel created by nvim_open_term() after the associated terminal has been deleted.
* fix(lsp): rewrite incremental sync (#16252)Michael Lingelbach2021-11-09
| | | | | | * use codeunits/points instead of byte ranges when applicable * take into account different file formats when computing range and sending text (dos, unix, and mac supported) * add tests of incremental sync
* feat(diagnostic): do not require namespace for hide() and show() (#16261)Gregory Anders2021-11-09
| | | | | | | Also fix a few other small bugs regarding saving and restoring extmarks. In particular, now that the virtual text and underline handlers have their own dedicated namespaces, they should be responsible for saving and restoring their own extmarks. Also fix the wrong argument ordering in the call to `clear_diagnostic_cache` in the `on_detach` callback.
* feat(ui): add vim.ui.input and use in lsp rename (#15959)Sebastian Lyng Johansen2021-11-07
| | | | | | * vim.ui.input is an overridable function that prompts for user input * take an opts table and the `on_confirm` callback, see `:help vim.ui.input` for more details * defaults to a wrapper around vim.fn.input(opts) * switches the built-in client's rename handler to use vim.ui.input by default
* Merge pull request #16155 from zeertzjq/fix-redr-border-corruptionBjörn Linse2021-11-06
|\ | | | | fix(float): fix potential heap corruption in win_redr_border