aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:9.0.1618: Trace32 files are not recognized (#23960)Christian Clason2023-06-08
| | | | | | | | Problem: Trace32 files are not recognized. Solution: Add patterns for the t32 filetype. (Christoph Sax, closes vim/vim#12505) https://github.com/vim/vim/commit/7fbcee6f928356f1c205a4dfa67c1d542f743b92 Co-authored-by: Christoph Sax <christoph.sax@mailbox.org>
* feat(lua): add ringbuffer (#22894)Mathias Fußenegger2023-06-08
| | | https://en.wikipedia.org/wiki/Circular_buffer
* vim-patch:9.0.1616: quickfix text field is truncated (#23951)zeertzjq2023-06-08
| | | | | | | | | Problem: Quickfix text field is truncated. Solution: Fix output of text field after pattern field in quickfix buffer. (Shane Harper, closes vim/vim#12498) https://github.com/vim/vim/commit/5bf042810b19a627eda2f170624a0cfd7b4f6ed6 Co-authored-by: Shane Harper <shane@shaneharper.net>
* vim-patch:9.0.1615: URL shortcut files are not recognized (#23950)Christian Clason2023-06-07
| | | | | | | | Problem: URL shortcut files are not recognized. Solution: Add a pattern for URL shortcut files. (closes vim/vim#12474) https://github.com/vim/vim/commit/cdb7b4c50826df254d2e5ba8abd211e49b7a9784 Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* feat(lua): add `vim.system()`Lewis Russell2023-06-07
| | | | | | | | | | | | | | | feat(lua): add vim.system() Problem: Handling system commands in Lua is tedious and error-prone: - vim.fn.jobstart() is vimscript and comes with all limitations attached to typval. - vim.loop.spawn is too low level Solution: Add vim.system(). Partly inspired by Python's subprocess module Does not expose any libuv objects.
* fix(lsp): reduce diagnostics and add more types (#23948)Lewis Russell2023-06-07
|
* feat(diff): grouping optimization for linematch algorithmJonathon2023-06-07
|
* feat(scripts): add lsp_types.lua (#23750)max3975742023-06-07
|
* refactor(options): use slash separator for `option_get_valid_types()` (#23945)Famiu Haque2023-06-07
| | | | | | `option_get_valid_types()` currently uses a comma separator for multi-type options which does not fit well with the changed error message for invalid option value type. A slash seperator is much more suited for its current use-case.
* Merge pull request #23943 from zeertzjq/autocmd-fnamezeertzjq2023-06-07
|\ | | | | fix(events): don't expand non-file as file name
| * fix(events): don't expand non-file as file namezeertzjq2023-06-07
| |
| * revert: "refactor: eliminate `autocmd_fname_full` global"zeertzjq2023-06-07
|/ | | | This reverts commit 82cd0be2eaf71c0476e15c66ba3e83c76896d407.
* refactor(api): adjust errors for setting options (#23942)zeertzjq2023-06-07
|
* refactor(options): remove `getoption_T` and introduce `OptVal` (#23850)Famiu Haque2023-06-07
| | | | | | | | Removes the `getoption_T` struct and also introduces the `OptVal` struct to unify the methods of getting/setting different option value types. This is the first of many PRs to reduce code duplication in the Vim option code as well as to make options easier to maintain. It also increases the flexibility and extensibility of options. Which opens the door for things like Array and Dictionary options.
* build!: remove neovim qtdundargoc2023-06-06
| | | | | | | | | | | | | | | | | | | | | | | Neovim QT was originally bundled on Windows as a response to the then lackluster terminal options. The situation has dramatically changed, with viable options such as Windows terminal, Alacritty and Wezterm to name a few. The Windows build no longer needs this special treatment for neovim to be usable. Pros: - Release builds will be smaller. - Less maintenance burden. - Clearer separation of responsibility (neovim issues go to the neovim repo and neovim-qt issues to the neovim-qt repo). - More consistent treatment between platforms. Cons: - Users who've come to expect neovim-qt to be bundled with nvim will need to adjust and download neovim-qt from https://github.com/equalsraf/neovim-qt instead. - Similarly, build scripts will need to be adjusted to reflect this change. Closes https://github.com/neovim/neovim/issues/21209.
* refactor(defaults): do not use C specific default values for options (#22500)Gregory Anders2023-06-06
| | | | | | | | | | The options 'path', 'include', and 'define' all use C-specific default values. This may have made sense a long time ago when Vim was mostly used just for writing C, but this is no longer the case, and we have ample support for filetype specific configuration. Make the default values of these options empty and move the C-specific values into a filetype plugin where they belong. Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* feat(health): fold successful healthchecks #22866Alexandre Teoi2023-06-06
| | | | | | | | Problem: checkhealth can be noisy, but we don't want to omit info. Solution: Fold OK results by default, if 'foldenable' is enabled. Resolves #22796
* vim-patch:9.0.1614: strlen() called too often for :spellrepall (#23940)zeertzjq2023-06-06
| | | | | | Problem: strlen() called too often for :spellrepall. Solution: Store the result in a variable. (closes vim/vim#12497) https://github.com/vim/vim/commit/59f7038536a370d771758dc34036cc1424be7421
* refactor!: rename "playground" => "dev" #23919Justin M. Keyes2023-06-06
| | | | | | | | | | | | Problem: "playground" is new jargon that overlaps with existing concepts: "dev" (`:help dev`) and "view" (also "scratch" `:help scratch-buffer`) . Solution: We should consistently use "dev" as the namespace for where "developer tools" live. For purposes of a "throwaway sandbox object", we can use the name "view". - Rename `TSPlayground` => `TSView` - Rename `playground.lua` => `dev.lua`
* refactor(api): remove `BOOL` macro #23936Famiu Haque2023-06-06
| | | Remove redundant `BOOL` macro that does the same thing as `BOOLEAN_OBJ`.
* fix: version-range < and <= #23539Gianmaria Bajo2023-06-06
| | | | | | | | | vim.version.range() couldn't parse them correctly. For example, vim.version.range('<0.9.0'):has('0.9.0') returned `true`. fix: range:has() accepts vim.version() So that it's possible to compare a range with: vim.version.range(spec):has(vim.version())
* refactor: adjust headers according to the style guide (#23934)dundargoc2023-06-06
| | | System headers should be included first to prevent naming conflicts.
* fix(statusline): redraw when VIsual_mode changes (#23933)zeertzjq2023-06-06
|
* vim-patch:partial:8.2.4950: text properties position wrong after shifting ↵zeertzjq2023-06-06
| | | | | | | | | | | text (#23930) Problem: Text properties position wrong after shifting text. Solution: Adjust the text properties when shifting a block of text. (closes vim/vim#10418) https://github.com/vim/vim/commit/4b93674159d60c985de906c30f45dbaf2b64056f Co-authored-by: LemonBoy <thatlemon@gmail.com>
* fix(spell): splice extmarks on :spellrepall (#23929)zeertzjq2023-06-06
|
* vim-patch:9.0.1613: some make output gets picked up by 'errorformat' (#23926)Gregory Anders2023-06-05
| | | | | | Problem: Some make output gets picked up by 'errorformat'. Solution: Ignore make output by default. (Gregory Anders, closes vim/vim#12481) https://github.com/vim/vim/commit/d1911a8e2b1498f0cb0275a98f63dd212204a1a8
* vim-patch:9.0.1612: "skipcol" not reset when using multi-byte characters ↵zeertzjq2023-06-06
| | | | | | | | | | (#23928) Problem: "skipcol" not reset when using multi-byte characters. Solution: Compare with w_virtcol instead of w_cursor.col. (closes vim/vim#12457) https://github.com/vim/vim/commit/15d4747ffd197ffa5b5a41a852a1fe93b6cc35fd Co-authored-by: Bram Moolenaar <Bram@vim.org>
* Merge pull request #23927 from zeertzjq/vim-9.0.1603zeertzjq2023-06-06
|\ | | | | vim-patch:9.0.{1603,1610}: display wrong if scrolling multiple lines with 'smoothscroll'
| * vim-patch:9.0.1610: display is wrong when 'smoothscroll' is setzeertzjq2023-06-06
| | | | | | | | | | | | | | | | | | Problem: Display is wrong when 'smoothscroll' is set and scrolling multiple lines. Solution: Redraw with UPD_NOT_VALID when "skipcol" is or was set. (closes vim/vim#12490, closes vim/vim#12468) https://github.com/vim/vim/commit/d9a92dc70b20c76cef9ca186676583c92c14311c
| * vim-patch:9.0.1603: display wrong if scrolling multiple lines with ↵zeertzjq2023-06-06
|/ | | | | | | | | | 'smoothscroll' Problem: Display wrong when scrolling multiple lines with 'smoothscroll' set. Solution: Redraw when w_skipcol changed. (closes vim/vim#12477, closes vim/vim#12468) https://github.com/vim/vim/commit/3c802277604a6b21110e41bedfe4c937ba7c2b7d
* fix: vim.loop in luv threads (#23924)Lewis Russell2023-06-05
| | | Fixes #23914
* fix(editorconfig): check that buffer is valid (#23922)Gregory Anders2023-06-05
| | | Fixes: https://github.com/neovim/neovim/issues/23921
* vim-patch:9.0.1608: update_topline() is called twice (#23920)luukvbaal2023-06-05
| | | | | | | Problem: update_topline() is called twice. Solution: Do not call update_topline() before curs_columns(). (Luuk van Baal, closes vim/vim#12495) https://github.com/vim/vim/commit/5c606846b9a43c7e6b94c7e96838f7532792f557
* fix(lsp): use only utf-16 in default client positionEncodings (#23903)Gregory Anders2023-06-05
| | | | The Nvim client does not yet support multiple offset encodings for clients in the same buffer. Until it does, stick to utf-16 by default.
* defaults: shortmess+=C #23907Justin M. Keyes2023-06-05
| | | | | | | | | Problem: Completion messages such as "scanning tags" are noisy and generally not useful on most systems. Most users probably aren't aware that this is configurable. Solution: Set `shortmess+=C`.
* fix(mouse): handle folded lines with virt_lines attached to line above (#23912)zeertzjq2023-06-05
|
* test(core/startup_spec): add a test for #13720 (#23910)zeertzjq2023-06-05
|
* refactor(lsp): use LPeg for watchfiles matching (#23788)Jon Huhn2023-06-05
|
* fix(lsp): set extra info only when it has a value (#23868)Raphael2023-06-05
|
* Merge pull request #23908 from zeertzjq/vim-9.0.1600zeertzjq2023-06-05
|\ | | | | vim-patch:9.0.{1600,1607}: screenpos() fixes
| * fix(plines): folded lines with virt_lines attached to line abovezeertzjq2023-06-05
| |
| * vim-patch:9.0.1607: screenpos() returns wrong row with diff filler lineszeertzjq2023-06-05
| | | | | | | | | | | | | | | | | | Problem: screenpos() returns wrong row with diff filler lines. Solution: Only add filler lines when appropriate. Also don't add the 'smoothscroll' marker when w_skipcol is zero. (closes vim/vim#12485, closes vim/vim#12484) https://github.com/vim/vim/commit/55daae392157823dc5434e6be1344f4336bfe96f
| * vim-patch:9.0.1600: screenpos() does not take w_skipcol into accountzeertzjq2023-06-05
|/ | | | | | | Problem: screenpos() does not take w_skipcol into account. Solution: Subtract w_skipcol from column. (closes vim/vim#12486, closes vim/vim#12476) https://github.com/vim/vim/commit/f0e68c0e2a3539f899e737e5b167622fe081fbbd
* fix(lsp): restore marks after apply_text_edits() #14630Folke Lemaitre2023-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: Whenever any text edits are applied to the buffer, the `marks` part of those lines will be lost. This is mostly problematic for code formatters that format the whole buffer like `prettier`, `luafmt`, ... When doing atomic changes inside a vim doc, vim keeps track of those changes and can update the positions of marks accordingly, but in this case we have a whole doc that changed. There's no simple way to update the positions of all marks from the previous document state to the new document state. SOLUTION: * save marks right before `nvim_buf_set_lines` is called inside `apply_text_edits` * check if any marks were lost after doing `nvim_buf_set_lines` * restore those marks to the previous positions TEST CASE: * have a formatter enabled * open any file * create a couple of marks * indent the whole file to the right * save the file Before this change: all marks will be removed. After this change: they will be preserved. Fixes #14307
* vim-patch:9.0.1606: using freed memory when 'foldcolumn' is set (#23906)zeertzjq2023-06-05
| | | | | | Problem: Using freed memory when 'foldcolumn' is set. Solution: Save extra pointer to free it later. (closes vim/vim#12492) https://github.com/vim/vim/commit/58e1e010454113a7c8a9b0327c54d2ee7d73d2fd
* fix(ui): don't send empty grid_line with redrawdebug=compositor (#23899)zeertzjq2023-06-04
|
* fix(events)!: trigger CursorMoved later on switching window (#23711)zeertzjq2023-06-04
|
* feat(lsp): set kind in select call for codelens #23889Artyom Andreev2023-06-03
|
* vim-patch:9.0.1602: stray character visible if marker on top of double-wide ↵zeertzjq2023-06-04
| | | | | | | | | | char (#23897) Problem: Stray character is visible if 'smoothscroll' marker is displayed on top of a double-wide character. Solution: When overwriting a double-width character with the 'smoothscroll' marker clear the second half. (closes vim/vim#12469) https://github.com/vim/vim/commit/ecb87dd7d3f7b9291092a7dd8fae1e59b9903252
* vim-patch:9.0.1601: filetype detection fails for *.conf file without ↵Christian Clason2023-06-04
| | | | | | | | | | | | comments (#23896) Problem: Filetype detection fails for *.conf file without comments. (Dmitrii Tcyganok) Solution: Use "conf" filetype as a fallback for an empty .conf file. (closes vim/vim#12487, closes vim/vim#12483) https://github.com/vim/vim/commit/664fd12aa27a3c6bd19cfa474c4630d6c03fcc61 Co-authored-by: zeertzjq <zeertzjq@outlook.com>