aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge pull request #15242 from ↵bfredl2022-01-16
|\ | | | | | | | | dundargoc/docs/vim-patch/move-outsite-of-getting-started docs: deprioritize vim-patch as a good beginner task
| * docs: deprioritize vim-patch as a good beginner taskDundar Göc2022-01-16
|/ | | | Also add a disclaimer where familiarity with vim is strongly suggested.
* fix(lsp): avoid nil workspace/symbol query (#17107)Daniel Steinberg2022-01-15
|
* fix(lsp): fetch offset_encoding from client in references (#17104)Michael Lingelbach2022-01-15
|
* Merge pull request #16836 from bfredl/mark2bfredl2022-01-15
|\ | | | | refactor(marks): use a more efficient representation with less pointer indirection
| * refactor(extmarks): use a more efficient representationBjörn Linse2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | marktree.c was originally constructed as a "generic" datatype, to make the prototyping of its internal logic as simple as possible and also as the usecases for various kinds of extmarks/decorations was not yet decided. As a consequence of this, various extra indirections and allocations was needed to use marktree to implement extmarks (ns/id pairs) and decorations of different kinds (some which is just a single highlight id, other an allocated list of virtual text/lines) This change removes a lot of indirection, by making Marktree specialized for the usecase. In particular, the namespace id and mark id is stored directly, instead of the 64-bit global id particular to the Marktree struct. This removes the two maps needed to convert between global and per-ns ids. Also, "small" decorations are stored inline, i.e. those who doesn't refer to external heap memory anyway. That is highlights (with priority+flags) are stored inline, while virtual text, which anyway occurs a lot of heap allocations, do not. (previously a hack was used to elide heap allocations for highlights with standard prio+flags) TODO(bfredl): the functionaltest-lua CI version of gcc is having severe issues with uint16_t bitfields, so splitting up compound assignments and redundant casts are needed. Clean this up once we switch to a working compiler version.
* | feat: use nvim_buf_set_extmark for vim.highlight (#16963)Michael Lingelbach2022-01-15
| | | | | | | | | | | | | | | | | | Closes https://github.com/neovim/neovim/issues/13647 This allows customizing the priority of the highlights. * Add default priority of 50 * Use priority of 200 for highlight on yank * use priority of 40 for highlight references (LSP)
* | Merge pull request #17001 from mjlbach/feat/non-strict-extmarksbfredl2022-01-15
|\ \ | |/ |/| feat(extmarks): add strict option
| * Hopefully last attemptMichael Lingelbach2022-01-15
| |
| * Address review r3Michael Lingelbach2022-01-15
| |
| * Address review r2Michael Lingelbach2022-01-12
| |
| * Address 'review'Michael Lingelbach2022-01-12
| |
| * feat(extmarks): add strict optionMichael Lingelbach2022-01-08
| | | | | | | | | | | | | | | | | | The strict option, when set to false, allows placing extmarks on invalid row and column values greater than the maximum buffer row or line column respectively. This allows for nvim_buf_set_extmark to be a drop-in replacement for nvim_buf_set_highlight.
* | vim-patch:8.2.4095: sed script not recognized by the first line (#17101)Christian Clason2022-01-15
| | | | | | | | | | Problem: Sed script not recognized by the first line. Solution: Recognize a sed script starting with "#n". (Doug Kearns) https://github.com/vim/vim/commit/e3ce17a3ca838954728df21ccb6c2a724490203d
* | feat(lsp): dynamically generate list title in response_to_list (#17081)Gregory Anders2022-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives quickfix/location lists created by handlers which use 'response_to_list' (textDocument/documentSymbols and workspace/symbol by default) the ability to set a more useful list title. This commit gives lists created for documentSymbols a title of the form: Symbols in <filename> and lists for workspace/symbol a title of the form: Symbols matching '<query>' These are more informative than a standard "Language Server" list title and can help disambiguate results when users have multiple quickfix lists that they cycle through with `:colder` and `:cnewer`.
* | fix(filetype): expand tildes in filetype patterns (#17091)Gregory Anders2022-01-14
| | | | | | | | | | | | | | This allows patterns like ["~/.config/foo"] = "fooscript" to work.
* | Merge pull request #16998 from zeertzjq/lua-vim-var-funcrefbfredl2022-01-14
|\ \ | | | | | | feat(api, lua): more conversions between LuaRef and Vim Funcref
| * | feat(api, lua): more conversions between LuaRef and Vim Funcrefzeertzjq2022-01-13
| | |
* | | fix(lsp): always split text edits on \r, \r\n, and \n (#17087)Michael Lingelbach2022-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes: https://github.com/neovim/neovim/issues/17053 Servers can return a mix of line endings per the language server protocol. See: https://microsoft.github.io/language-server-protocol/specification.html#textDocuments All should be equally treated as line endings.
* | | Merge pull request #17086 from zeertzjq/vim-8.1.2375James McCoy2022-01-13
|\ \ \ | | | | | | | | vim-patch:8.1.2375: no suffucient testing for registers
| * | | vim-patch:8.1.2375: no suffucient testing for registerszeertzjq2022-01-14
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No suffucient testing for registers. Solution: Add more test cases. (Yegappan Lakshmanan, closes vim/vim#5296) Fix that "p" on last virtual column of tab inserts spaces. https://github.com/vim/vim/commit/6f1f0ca3edf395102ff3109c998d81300c8be3c9 This patch doesn't actually change any behavior in Nvim, because Nvim always has vartabs feature. I modified a line in the test because of #6137.
* | | Merge pull request #16978 from gpanders/filetype-updatesGregory Anders2022-01-13
|\ \ \
| * | | fix(filetype): fix foam pattern detectionGregory Anders2022-01-13
| | | |
| * | | feat(filetype.lua): fix .cc file not detectedrhcher2022-01-13
| | | |
| * | | feat(filetype.lua): add support for files under .gitSanchayan Maity2022-01-13
| | | |
| * | | feat(filetype.lua): add support for patch filesSanchayan Maity2022-01-13
| | | |
| * | | feat(filetype.lua): add support for tmux.conf filesGary Sentosa2022-01-13
| | | |
| * | | feat(filetype.lua): fix .env file not detectedGary Sentosa2022-01-13
|/ / /
* | | vim-patch:8.2.4077: not all Libsensors files are recognized (#17080)Christian Clason2022-01-13
| | | | | | | | | | | | | | | Problem: Not all Libsensors files are recognized. Solution: Add "sensors.d/*" pattern. (Doug Kearns) https://github.com/vim/vim/commit/8d9e470aa91a93da7d6bda62521aef69a79e956d
* | | fix(lsp): forward offset_encoding in rename handler (#17079)Michael Lingelbach2022-01-13
| | |
* | | fix(lsp): forward offset_encoding to apply_text_edits (#17075)Michael Lingelbach2022-01-13
| | |
* | | Merge pull request #17034 from zeertzjq/compl-lua-selectbfredl2022-01-13
|\ \ \ | | | | | | | | feat(completion): support selecting item via API from Lua mapping
| * | | feat(completion): support selecting item via API from Lua mappingzeertzjq2022-01-11
| | | |
* | | | fix(lsp): strictly enforce passing offset encoding (#17049)Michael Lingelbach2022-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the "fallback" to utf-16 in many of our helper functions. We should always explicitly pass these around when possible except in two locations: * generating params with help utilities called by buf.lua functions * the buf.lua functions themselves Anything that is called by the handler should be passed the offset encoding.
* | | | fix(lsp): handle negative activeSignature in signatureHelp (#17064)Mathias Fußenegger2022-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omnisharp-roslyn can send negative values: { activeParameter = 0, activeSignature = -1, signatures = { { documentation = "", label = "TestEntity.TestEntity()", parameters = {} } } } In 3.16 of the specification `activeSignature` is defined as `uinteger` and therefore negative values shouldn't be allowed, but within 3.15 it was defined as `number` which makes me think we can be a bit lenient in this case and handle them. The expected behavior is quite clear: The active signature. If omitted or the value lies outside the range of `signatures` the value defaults to zero or is ignored if the `SignatureHelp` has no signatures. Fixes an error: util.lua:1685: attempt to get length of local 'lines' (a nil value) util.lua:1685: in function 'trim_empty_lines' handlers.lua:334: in function 'textDocument/signatureHelp'
* | | | fix(lsp): fix applying multiple out-of-range TextEdits (#17037)hrsh7th2022-01-13
| | | |
* | | | Merge pull request #16945 from theHamsta/cached-queriesThomas Vigouroux2022-01-13
|\ \ \ \ | | | | | | | | | | perf(treesitter): cache query parsing
| * | | | perf(treesitter): cache query parsingStephan Seitz2022-01-06
| | | | |
* | | | | fix(keywordprg): retain terminal buffer after K (#17046)Daniel Steinberg2022-01-12
| | | | |
* | | | | Merge pull request #17058 from clason/bump-treesitterThomas Vigouroux2022-01-12
|\ \ \ \ \ | | | | | | | | | | | | build(deps): bump treesitter to commit bf210f0
| * | | | | build(deps): bump treesitter to commit bf210f0Christian Clason2022-01-12
|/ / / / / | | | | | | | | | | | | | | | Update to https://github.com/tree-sitter/tree-sitter/commit/bf210f0c9ec7931c1a5f639461495db240aac149, which is a significant improvement to query performance.
* | | | | Merge pull request #17054 from jamessan/debug-publish-issuesJames McCoy2022-01-12
|\ \ \ \ \ | | | | | | | | | | | | ci(release): enable gh's api debug logs when creating the release
| * | | | | ci(release): enable gh's api debug logs when creating the releaseJames McCoy2022-01-12
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is intended to help track down why the release is sporadically left in draft state, rather than being published. [skip ci]
* | | | | Merge pull request #17045 from gpanders/diagnostic-fixupsGregory Anders2022-01-11
|\ \ \ \ \ | |_|_|/ / |/| | | | Various diagnostic fixups
| * | | | feat(diagnostic): allow retrieving current diagnostic configGregory Anders2022-01-11
| | | | |
| * | | | fix(diagnostic): only set default handler config if unsetGregory Anders2022-01-11
| | | | |
| * | | | fix(diagnostic): allow setting arbitrary config valuesGregory Anders2022-01-11
| | | | |
| * | | | fix(diagnostic): resolve nil opts tablesGregory Anders2022-01-11
|/ / / / | | | | | | | | | | | | | | | | In functions which allow opts to be optional, ensure that the value actually resolves to a non-nil value.
* | | | vim-patch:8.2.4064: foam files are not detected (#17041)Christian Clason2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:8.2.4064: foam files are not detected Problem: Foam files are not detected. Solution: Detect the foam filetype by the path and file contents. (Mohammed Elwardi Fadeli, closes vim/vim#9501) https://github.com/vim/vim/commit/2284f6cca384e0ccc352bfec7277dc26386cac3d * Port foam ft detection to filetype.lua Co-authored-by: Gregory Anders <greg@gpanders.com>
* | | | refactor(lsp): debounce timer per buf and unify with non-debounce (#17016)Mathias Fußenegger2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of the `pending_change` closure in the `changetracking.prepare` was a bit confusing because it has access to `bufnr` and `uri` but it could actually contain pending changes batched for multiple buffers. (We accounted for that by grouping `pending_changes` by a `uri`, but it's not obvious what's going on) This commit changes the approach to do everything per buffer to avoid any ambiguity. It also brings the debounce/no-debounce a bit closer together: The only difference is now whether a timer is used or if it is triggered immediately