aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | fix(ui): cursor pos with left gravity inline virt_text at eol (#24329)zeertzjq2023-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cursor is not after inline virtual text with left gravity when inserting after the end of the line. Solution: Add width of inline virtual text with left gravity to cursor virtcol in Insert mode even if on a NUL.
| * | | | | test(extmarks): add test for virt_text_win_col with cpo+=n (#24328)zeertzjq2023-07-13
| | | | | |
| * | | | | feat(lsp): add method filter to get_active_clients (#24319)Mathias Fußenegger2023-07-12
| | | | | |
| * | | | | perf(extmarks): don't handle inline virt_text if there is none (#24322)zeertzjq2023-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extreme testcase: ```lua vim.fn.setline(1, 'foobar') local ns = vim.api.nvim_create_namespace('') for _ = 1, 100000 do vim.api.nvim_buf_set_extmark(0, ns, 0, 3, {}) end local start_time = vim.loop.hrtime() vim.fn.virtcol('$') local stop_time = vim.loop.hrtime() print(stop_time - start_time) ``` Before #20130: 31696 On master branch: 26191344 After this PR: 37692
| * | | | | fix(mouse): copy the line before syntax matching (#24320)zeertzjq2023-07-12
| | | | | |
| * | | | | fix(tutor): don't use concealed text in expected lines #24316Sean Dewar2023-07-11
| | | | | |
| * | | | | fix(drawline): fix missing Visual hl on double-width fold char (#24308)zeertzjq2023-07-11
| | | | | |
| * | | | | perf(extmarks): avoid unnecessary marktree traversal with folds (#24306)zeertzjq2023-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extreme testcase: ```lua vim.cmd([[ call setline(1, ['', '', '']) 2,3fold ]]) local ns = vim.api.nvim_create_namespace('') for _ = 1, 100000 do vim.api.nvim_buf_set_extmark(0, ns, 1, 0, { virt_lines = {{{ '' }}} }) end local start_time = vim.uv.hrtime() vim.api.nvim_win_text_height(0, {}) local stop_time = vim.uv.hrtime() print(stop_time - start_time) ``` Before this PR: 21542011 After this PR: 43874
| * | | | | feat(api): add nvim_win_text_height (#24236)zeertzjq2023-07-11
| | | | | | | | | | | | | | | | | | | | | | | | It uses the same code as "scroll_delta" of "win_viewport" UI event to calculate text height, but is more flexible.
| * | | | | vim-patch:9.0.1673: cannot produce a status 418 or 503 message (#24287)Gregory Anders2023-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot produce a status 418 or 503 message. Solution: Add err_teapot(). https://github.com/vim/vim/commit/80adaa8ae8398403ca4e9797219ea9a501fc76a5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | | | fix(lint): lint warnings #24226Raphael2023-07-10
| | | | | |
| * | | | | fix(completion): don't add backslashes to runtime pattern (#24296)zeertzjq2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Bashslashes added as regexp in runtime completion may be treated as path separator with some 'isfname' value. Solution: Make curly braces work for runtime completion and use it.
| * | | | | fix(defaults): visual star (*) on text with "?"Justin M. Keyes2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | regression from 6318edadc32acce3ed41a6995a5faa5395b5f562
| * | | | | fix(docs): match DocSearch style with site themeJustin M. Keyes2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | ref https://github.com/neovim/neovim.github.io/commit/2b4f9e47809c16743f7d31d0dc1f1e3c2f313a56
| * | | | | fix(defaults): visual hash (#) on text with "?"Justin M. Keyes2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The default "#" mapping fails on the following example after v$h# with cursor at start of the first line: aa?/\bb aa aa?/\bb Solution: Also escape "?".
| * | | | | Merge #24295 from justinmk/doc2Justin M. Keyes2023-07-08
| |\ \ \ \ \ | | | | | | | | | | | | | | docs: "Return (multiple)", condense @notes
| | * | | | | docs: gather @notes items into one sectionJustin M. Keyes2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | related: 21eacbfef399
| | * | | | | docs: "Return (multiple)" headingJustin M. Keyes2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Lua functions that return multiple results are declared by using multiple `@return` docstring directives. But the generated docs don't make it obvious what this represents. Solution: - Generate a "Return (multiple)" heading for multiple-value functions. - Fix `@note` directives randomly placed after `@return`.
| | * | | | | docs: MAINTAIN.md, nvim_get_markJustin M. Keyes2023-07-08
| |/ / / / /
| * | | | | test(tui): add test for overriding argv[0] (#24293)zeertzjq2023-07-08
| | | | | |
| * | | | | fix(lsp): don't use hl_mode = combine for inlay hints #24276Chinmay Dalal2023-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `hl_mode` for inlay hints is `combine`, causing bugs like inlay hints using highlights from the previous character (#24152, #24068) Solution: Don't use hl_mode=combine for inlay hints.
| * | | | | fix(extmarks): fix wrong highlight after "combine" virt_text (#24281)Ibby2023-07-08
| | | | | |
| * | | | | fix(startup): run embedded Nvim with real path (#24282)zeertzjq2023-07-08
| | | | | | | | | | | | | | | | | | fix(startup): run embedded process with real path
| * | | | | feat(lua): allow vim.wo to be double indexed (#20288)Lewis Russell2023-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(lua): allow vim.wo to be double indexed Problem: `vim.wo` does not implement `setlocal` Solution: Allow `vim.wo` to be double indexed Co-authored-by: Christian Clason <c.clason@uni-graz.at>
| * | | | | docs: CONTRIBUTING.md updates (#24280)Lewis Russell2023-07-07
| | | | | |
| * | | | | fix(treesitter): update folds in all relevant windows (#24230)Jaehwang Jung2023-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When using treesitter foldexpr, * :diffput/get open diff folds, and * folds are not updated in other windows that contain the updated buffer. Solution: Update folds in all windows that contain the updated buffer and use expr foldmethod.
| * | | | | fix(folds): fix missing virt_lines above when fold is hidden (#24274)zeertzjq2023-07-07
| | | | | |
| * | | | | fix(drawline): inline virt_text hl_mode inside syntax/extmark hl (#24273)zeertzjq2023-07-07
| | | | | |
| * | | | | Merge #21677 fix(defaults): visual star (*,#) is fragileJustin M. Keyes2023-07-06
| |\ \ \ \ \
| | * | | | | refactor(defaults): use vim.region for visual star (*,#)Justin M. Keyes2023-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The parent commit added a new vim.get_visual_selection() function to improve visual star. But that is redundant with vim.region(). Any current limitations of vim.region() should be fixed instead of adding a new function. Solution: Delete vim.get_visual_selection(). Use vim.region() to get the visual selection. TODO: fails with visual "block" selections.
| | * | | | | fix(defaults): visual mode star (*,#) is fragileSteven Ward2023-07-06
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Visual mode "*", "#" mappings don't work on text with "/", "\", "?", and newlines. Solution: Get the visual selection and escape it as a search pattern. Add functions vim.get_visual_selection and _search_for_visual_selection. Fix #21676
| * | | | | docs(luaref): remove parentheses from tags for typedefs (#24271)zeertzjq2023-07-06
| | | | | | | | | | | | | | | | | | And fix alignment.
| * | | | | fix(vim.system): close check handle (#24270)zeertzjq2023-07-06
| | | | | | | | | | | | | | | | | | Fix hang after running vim.system() with sanitizers.
| * | | | | fix(column): fix wrong cursor with 'statuscolumn' and cpo+=n (#24268)zeertzjq2023-07-06
| | | | | |
| * | | | | refactor(plines.c): update outdated comments (#24264)zeertzjq2023-07-06
| | | | | |
| * | | | | fix(ui): delay win_viewport until screen update #24182fredizzimo2023-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Sometimes, when nvim sends the `win_viewport` event, for example when scrolling with visible folds on the screen, it reports the `scroll_delta` value one batch into "future". So when the client application is trying to show the new viewport it's not yet updated, resulting in temporary corruption / screen flickering. For more details see #23609, and st