aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(terminal): send Shift-Home Shift-End Ctrl-Home Ctrl-End (#24418)zeertzjq2023-07-22
|
* Merge #24392 from mrshmllow/gx_winJustin M. Keyes2023-07-21
|\ | | | | fix(ui.open): some URLs fail on Windows
| * test(vim.ui.open): mock failure on WindowsJustin M. Keyes2023-07-21
| | | | | | | | | | | | | | | | | | Problem: On Windows, `rundll32` exits zero (success) even when given a non-existent file. Solution: Mock vim.system() on Windows to force a "failure" case.
| * fix(ui.open): some URLs fail on Windowsmarshmallow2023-07-21
| | | | | | | | | | | | | | | | | | | | | | | | Problem: On Windows, `explorer.exe` fails to open some URLs, for example: :lua vim.ui.open('https://devdocs.io/#q=lua%20lua_call') https://github.com/neovim/neovim/pull/23401#issuecomment-1641015704 Solution: Use rundll32 instead.
* | docs(lsp): clean up LSP event documentation #24413Chris AtLee2023-07-21
|/ | | Alphabetize LSP events, and make formatting consistent.
* docs: also change "vimL" and "viml" to "Vimscript" (#24414)zeertzjq2023-07-21
|
* fix(folds): update folds in Insert mode with fdm=indent (#24402)Brandon Simmons2023-07-21
| | | | | | | | | | | Previously, when using foldmethod=indent, inserting an unindented line would inadvertently open closed folds below it. As a performance improvement, folds were only updated once, across all lines, after Insert mode was exited. Now, the performance improvement is no longer being used when foldmethod=indent, so folds are updated multiple times during Insert mode, but only across the lines that are changing, which preserves the folds (and their open/close states) instead of recreating them.
* fix(decoration_provider): don't leak memory on error (#24410)zeertzjq2023-07-21
|
* feat(lsp): implement textDocument/diagnostic (#24128)Chris AtLee2023-07-20
|
* docs(lua): clarify fs.find() documentation #24394futsuuu2023-07-19
|
* feat(decoration_provider): log errors as error messagesThomas Vigouroux2023-07-19
|
* feat(lsp): handle multiple clients in omnifunc (#24381)Mathias Fußenegger2023-07-19
| | | | | Also fixes https://github.com/neovim/neovim/issues/24369 by adding an extra `vim.schedule` to ensure the `vim.fn.complete` call happens outside of a luv callback
* test(startup_spec): add a test for #18315 (#24391)zeertzjq2023-07-19
|
* docs(lua): more improvements (#24387)Lewis Russell2023-07-18
| | | | | | | | | | | | | | | | | * docs(lua): teach lua2dox how to table * docs(lua): teach gen_vimdoc.py about local functions No more need to mark local functions with @private * docs(lua): mention @nodoc and @meta in dev-lua-doc * fixup! Co-authored-by: Justin M. Keyes <justinkz@gmail.com> --------- Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* build(scripts): allow a git ref for lsp_types #24377kylo2522023-07-18
| | | | | | USAGE: nvim -l scripts/lsp_types.lua gen nvim -l scripts/lsp_types.lua gen --build/new_lsp_types.lua nvim -l scripts/lsp_types.lua gen --out runtime/lua/vim/lsp/types/protocol.lua --ref 2023.0.0a2
* refactor(lua2dox): overhaul (#24386)Lewis Russell2023-07-18
|
* fix(fs.lua): normalize slash truncation (#23753)Mike2023-07-18
| | | Preserve last slash in windows' root drive directories
* Merge pull request #24363 from lewis6991/docs/luatypesLewis Russell2023-07-17
|\ | | | | docs(lua): move some function docs to lua files
| * fix: doc errorsLewis Russell2023-07-17
| |
| * fix: luacheckLewis Russell2023-07-17
| |
| * refactor(gen_vimdoc): put defgroup handling in a functionLewis Russell2023-07-17
| |
| * docs(lua): change *lua-foo* -> *vim.foo*Lewis Russell2023-07-17
| |
| * docs(lua): move function docs to lua filesLewis Russell2023-07-17
| |
| * docs: handle whitespace in emmycommentsLewis Russell2023-07-17
| |
| * docs(lua): do not render self argsLewis Russell2023-07-17
| |
| * refactor: rename _meta.lua to _options.luaLewis Russell2023-07-17
| |
* | feat(lsp)!: rename vim.lsp.get_active_clients to get_clients (#24113)Mathias Fußenegger2023-07-17
| |
* | fix(terminal): don't send unknown special keys to terminal (#24378)zeertzjq2023-07-17
| | | | | | | | Special keys are negative integers, so sending them to terminal leads to strange behavior.
* | feat(options)!: remove compatible behaviours for vim 5.0 and earlierLewis Russell2023-07-17
| |
* | test(fs): vim.loop was renamed to vim.uv (#24376)kylo2522023-07-17
| | | | | | test(fs): vim.loop has been replaced with vim.uv
* | fix(inccommand): block errors when parsing command line again (#24374)zeertzjq2023-07-17
| | | | | | Revert the change to ex_getln.c from a741c7fd0465c949a0016fcbee5f4526b65f8c02
* | test(fs): get tmpdir robustly #23021kylo2522023-07-16
| | | | | | | | | | | | | | | | Problem: helpers.tmpname() may create a local file, depending on circumstances. Solution: Only use helpers.tmpname() for its parent directory (the "temp root"). Use fs_mkdtemp() to actually get a unique name.
* | fix(clipboard): ignore exit caused by signal #23378Kai Ting2023-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If clipboard job exits by signal, the exit code is >=128: https://github.com/neovim/neovim/commit/939d9053bdf2f56286640c581eb4e2ff5a856540 xclip 0.13 often exits with code 143, which spams unhelpful messages: clipboard: error invoking xclip: Waiting for selection requests, Control-C to quit Waiting for selection request number 1 Solution: Don't show a warning if the clipboard tool exit code is >=128. Fixes: #7054
* | docs(term.txt): reorder paragraphs about TUI input (#24367)zeertzjq2023-07-16
| | | | | | | | Make |tui-modifyOtherKeys| and |tui-csiu| tags appear at a better place. Also adapt the |<Tab>| help update from https://github.com/vim/vim/commit/dad4473f02e1fec86d43a2fc094536a4b27d3b25
* | fix(lsp): markdown code fence should allow space before info string #24364Mike2023-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Bash language server returns "hover" markdown content that starts with a code fence and info string of `man` preceded by whitespace, which Nvim does not render properly. See https://github.com/bash-lsp/bash-language-server/blob/0ee73c53cebdc18311d4a4ad9367185ea4d98a03/server/src/server.ts#L821C15-L821C15 ```typescript function getMarkdownContent(documentation: string, language?: string): LSP.MarkupContent { return { value: language ? // eslint-disable-next-line prefer-template ['``` ' + language, documentation, '```'].join('\n') : documentation, kind: LSP.MarkupKind.Markdown, } } ``` For example, ``` ``` man NAME git - the stupid content tracker ``` ``` If I remove the white space, then it is properly formatted. ``` ```man instead of ``` man ``` Per CommonMark Spec https://spec.commonmark.org/0.30/#info-string whitespace is allowed before and after the `info string` which identifies the language in a codeblock. > The line with the opening code fence may optionally contain some text > following the code fence; this is trimmed of leading and trailing > spaces or tabs and called the [info > string](https://spec.commonmark.org/0.30/#info-string). If the [info > string](https://spec.commonmark.org/0.30/#info-string) comes after > a backtick fence, it may not contain any backtick characters. (The > reason for this restriction is that otherwise some inline code would > be incorrectly interpreted as the beginning of a fenced code block.) Solution: Adjust stylize_markdown() to allow whitespace before codeblock info.
* | feat(api)!: change return type of nvim_win_text_height to Dict (#24365)zeertzjq2023-07-16
|/
* feat(tui): support Super and Meta modifiers (#24357)zeertzjq2023-07-15
|
* feat(lsp): map K to hover by default #24331Mathias Fußenegger2023-07-14
| | | Related: https://github.com/neovim/neovim/issues/24252
* build(makefile): remove a phony target uninstall (#24349)Yuma Ueda2023-07-14
| | | `uninstall` target was removed from makefile
* fix(lsp): remove unknown LSP protocol property (#24345)Techatrix2023-07-14
| | | 'hierarchicalWorkspaceSymbolSupport' is not part of the LSP Specification
* fix(runtime): respect 'fileignorecase' when sourcing (#24344)zeertzjq2023-07-14
|
* fix(runtime): respect 'rtp' order for all runtime files (#24335)zeertzjq2023-07-14
|
* docs(lua): adds links to related keymap functions to keymap.set (#24337)Mathias Fußenegger2023-07-13
| | | Might help with discovery, given that there is no `keymap.get()`
* perf(rtp): reduce rtp scans (#24191)Lewis Russell2023-07-13
| | | | | | | | | | | * perf(rtp): reduce rtp scans Problem: Scanning the filesystem is expensive and particularly affects startuptime. Solution: Reduce the amount of redundant directory scans by relying less on glob patterns and handle vim and lua sourcing lower down.
* build(deps): bump luajit to HEAD - 8635cbabf (#24301)Christian Clason2023-07-13
|
* 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
|