forked from ycm-core/YouCompleteMe
-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fork updates from ycm-core/YouCompleteMe master #32
Open
github-actions
wants to merge
310
commits into
tabnine:master
Choose a base branch
from
ycm-core:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Previously we would trigger completion (call complete()) on every keystroke even if nothing had changed in the result set. The purpose of this with the old completion system (using feedkeys) was to reduce flicker - we closed the completion menu on every keystroke, then re-opened it. With the new completion system, that's not necessary as we don't close the pum on every keystroke - only when the result set is emtpy. However, we still called complete() on every keystroke to ensure that it's always our own filtering etc. that gets applied. The problem with this is that this causes a _lot_ of redraw. Every call to complete() seems to involve a very expensive draw call, particularly in languages with complex regex-based syntax highlighting. Profiling vim suggests that this change roughly halves the time spend redrawing - which is to be expected. I think that the extremely slow redraw is a bug in either the syntax file or vim itslef, frankly, but this is quite difficult to pin down. For now, I think it's better to have occasionally-incorrect filtering when deleting characters to frequently-extremely-laggy typing.
This is more of an issue now that we echo diags inline - previously we were updating the echo'd (or virtual text) diagnostic even if diag updates were disabled in insert mode. This was annoying. OnCursorMoved is called for both normal and insert mode, so just don't update in insert mode. Also clear virtual text when going into insert moode if updates are disabled. This feels really nice to work with, by comparison with all the noise when it's enabled, so recommend that setting in the docs. Perhaps we can in future make it the default.
only clear the range that we actually received add a <plug> mapping to toggle them on/off manually. add an option to enable/disable in insert mode
Inlay hints
When available use the "types" list in prop_remove
Reduce calls to prop_remove
… When text is inserted it can easily just be wrong and tracking the changes is monstrously complex
Inlay hints: Stop trying to be clever about clearing the right range.…
For some reason, the (wierd) way we were initialising s:enable_inlay_hints via vim.command was causing wierdness on older vims and neovim (i.e. where it was returning 0). Unclear why this was happening, but using less wierd syntax seems to fix it.
…-issue Fix passing '+10' etc on command line in older vims.
If a candidate shown in the symbol finder is too long to display the path and line number, we would incorrectly calculate the length of the path text property. Calculate it correctly.
Fix traceback when a long identifier is displayed in finder
Update ycmd : update jdtls
Fix cursorlineopt
Changelog: 1. Upgrade all subservers 2. Hierarchy support
Previously the tests were using async result checking, but this is intended for insert mode only. In fact we were running off the end of the test and then the check callbacks were firing. Simplified by just making it the same but sequential, and replacding FeedAndCheck* with direct calls to feedkeys(..., 'xt').
indexof was added so recently that even vim-helptag-versions website doesn't have it. Replace with a loop.
There were some unnecessary `WaitForAssert()` calls and unnecessary `silent` commands.
- `badd` is unnecessary since we have `GetBufferNumberForFilename()` - Instead of passing `location`, we can pass `file`, `line` and `column` separately.
[READY] Implement type/call hierarchy handling
[Auto] Update vim docs
The `decorator` type was introduced in LSP 1.17. The `concept` type is used by clangd.
Add new semantic token types
The given repository is no longer needed to install the specified packages.
Update ycmd submodule
Since Ubuntu 24.04 is out, we can clean up a bit. Some of the `VimSupportsFoo()` functions will always return `True` in vim, but we also need to take into account othervim.
coverage and click were pinned because covimerage was outdated. Now covimerage states its dependencies properly and works with coveragepy 7.
[Auto] Update vim docs
Since vim 9.1.0469, completeopt is a global-local option. When adding `noselect`, we need to treat `completeopt` as local and use `setlocal`. This works for 9.1.0016 as well and allows users to freely mess with buffer-local `completeopt` without messing up YCM completions.
[READY] Use setlocal for temporary completeopt adjustment
Fix typos in the code of conduct document
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.