Package: vim-youcompleteme / 0+20240827+gitb6e8c64+ds-3

Metadata

Package Version Patches format
vim-youcompleteme 0+20240827+gitb6e8c64+ds-3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Bump vim requirement to version 9.1.0016.patch | (download)

README.md | 20 10 + 10 - 0 !
plugin/youcompleteme.vim | 4 2 + 2 - 0 !
python/ycm/diagnostic_interface.py | 4 2 + 2 - 0 !
python/ycm/inlay_hints.py | 2 1 + 1 - 0 !
python/ycm/tests/test_utils.py | 38 24 + 14 - 0 !
python/ycm/tests/youcompleteme_test.py | 2 1 + 1 - 0 !
python/ycm/text_properties.py | 13 2 + 11 - 0 !
python/ycm/vimsupport.py | 79 20 + 59 - 0 !
python/ycm/youcompleteme.py | 2 1 + 1 - 0 !
9 files changed, 63 insertions(+), 101 deletions(-)

 [patch] bump vim requirement to version 9.1.0016

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.

0002 Update Docker image.patch | (download)

test/docker/ci/image/Dockerfile | 18 6 + 12 - 0 !
1 file changed, 6 insertions(+), 12 deletions(-)

 [patch] update docker image


0003 Fix pip not allowing install outside a virtual env.patch | (download)

.github/workflows/ci.yml | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] fix pip not allowing install outside a virtual env


0004 Update test dependencies.patch | (download)

python/test_requirements.txt | 5 2 + 3 - 0 !
1 file changed, 2 insertions(+), 3 deletions(-)

 [patch] update test dependencies

coverage and click were pinned because covimerage was outdated.
Now covimerage states its dependencies properly and works with
coveragepy 7.

0005 Update vim docs.patch | (download)

doc/youcompleteme.txt | 20 10 + 10 - 0 !
1 file changed, 10 insertions(+), 10 deletions(-)

 [patch] update vim docs


0006 Use setlocal for temporary completeopt adjustment.patch | (download)

autoload/youcompleteme.vim | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] use setlocal for temporary completeopt adjustment

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.

0007 Fix typos in the code of conduct.patch | (download)

CODE_OF_CONDUCT.md | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch] fix typos in the code of conduct


00 path to server script.patch | (download)

.ycm_extra_conf.py | 72 0 + 72 - 0 !
autoload/youcompleteme.vim | 8 2 + 6 - 0 !
python/ycm/base.py | 6 2 + 4 - 0 !
python/ycm/paths.py | 57 8 + 49 - 0 !
4 files changed, 12 insertions(+), 131 deletions(-)

 use debian's ycmd package locations for ycmd.
 We neither have the third_party directory for vim-youcompleteme nor
 for ycmd, so we can't import them and we don't want to either.
 .
 This means we can drop lots and lots of complicated code as we know
 by virtue of dependencies where everything is and that it is good
01 allow tests to be run.patch | (download)

python/ycm/tests/paths_test.py | 42 0 + 42 - 0 !
python/ycm/tests/youcompleteme_test.py | 60 0 + 60 - 0 !
run_tests.py | 13 1 + 12 - 0 !
test/completion.common.vim | 12 6 + 6 - 0 !
test/completion_info.test.vim | 12 6 + 6 - 0 !
test/diagnostics.test.vim | 4 2 + 2 - 0 !
test/fixit.test.vim | 4 2 + 2 - 0 !
test/lib/plugin/shared.vim | 12 8 + 4 - 0 !
test/run_vim_tests | 6 5 + 1 - 0 !
test/signature_help.test.vim | 12 7 + 5 - 0 !
test/vimrc | 8 7 + 1 - 0 !
11 files changed, 44 insertions(+), 141 deletions(-)

 use debian's ycmd package locations for ycmd in tests
 We neither have the third_party directory for vim-youcompleteme nor
 for ycmd, so we can't import them and we don't want to either.
 .
 The two python tests are removed as we have always Python installed
 in Debian due to dependencies and the tests can for some reason not
 override this properly.
02 allow to retry failed test runs.patch | (download)

test/run_vim_tests | 76 49 + 27 - 0 !
1 file changed, 49 insertions(+), 27 deletions(-)

 allow retrying failed vim tests automatically
 The vim tests are somewhat sensitive to timing, so if the machine isn't
 the fastest or does other things concurrently it can happen that the
 timing in the tests fail to match reality.
 .
 Ideally the tests would not be sensitive to timing issues, but that is
 a bigger and more involved problem to solve for upstream. So as a tiny
 downstream we just cop out here and allow the tests to be retried a
 bunch of times likely hitting the 'PASS' jackpot in a retry.
03 do not override unset ycmd settings.patch | (download)

README.md | 80 53 + 27 - 0 !
doc/youcompleteme.txt | 77 50 + 27 - 0 !
plugin/youcompleteme.vim | 98 14 + 84 - 0 !
3 files changed, 117 insertions(+), 138 deletions(-)

 load ycmd default settings from its default_settings.json
 Upstream prefers to keep the configuration in one place, but as Debian has
04 do not require semantic highlighting.patch | (download)

autoload/youcompleteme.vim | 22 18 + 4 - 0 !
1 file changed, 18 insertions(+), 4 deletions(-)

 do not require a ycmd upgrade
 No need to entangle us too strongly for experimental features
05 test supports different hierarchy order on s390x.patch | (download)

test/hierarchies.test.vim | 15 11 + 4 - 0 !
1 file changed, 11 insertions(+), 4 deletions(-)

 support different order in type hierarchies test on s390x
 For some reason on s390x only the order of the type hierarchies is
06 support different clangds in tests.patch | (download)

test/lib/autoload/youcompleteme/test/popup.vim | 8 7 + 1 - 0 !
test/signature_help.test.vim | 8 4 + 4 - 0 !
2 files changed, 11 insertions(+), 5 deletions(-)

 support different clangd versions in tests
 Upstream always blesses and embeds a specific LLVM version and hence
 clangd release and adapts their tests accordingly. While we could do
 similar requiring a specific clangd version I prefer using whatever
 is the default in Debian currently, which means we are sometimes ahead
 or behind and usually both.
 .
 For upstream the changes are at best not-needed, but at times I take
 a shortcut and relax the tests which for upstream isn't appropriate,
 but for us it should be good enough for the time being.
 .
 An example being the CheckPopupPosition change (the only current one)
 as technically only one position is correct and changing it would be
 incorrect/a regression, but given the constraint is still very narrow
 I picked this solution for now.
07 support different ycmds in tests.patch | (download)

test/diagnostics.test.vim | 26 15 + 11 - 0 !
test/lib/plugin/shared.vim | 6 6 + 0 - 0 !
test/run_vim_tests | 1 1 + 0 - 0 !
3 files changed, 22 insertions(+), 11 deletions(-)

 support different ycmd versions in tests
08 ignore arch specific details in hover test.patch | (download)

test/hover.test.vim | 33 19 + 14 - 0 !
1 file changed, 19 insertions(+), 14 deletions(-)

 ignore architecture-specific details in hover vim-test
09 allow tests to be skipped.patch | (download)

test/run_vim_tests | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 implement a simple interface to skip vim tests
 In this way I can skip certain tests in autopkgtest to run them
 later on individually if desired.
 .
 The patch is incomplete as it does handle only skipping entire
 tests while upstream allows running individual testcases inside
 a test file, so an upstreamable --skip should ideally support
 this as well beside that the patch as-is depends on the retry
 one at the moment althrough trivially.
10 add libclang test.patch | (download)

test/libclang.test.vim | 28 28 + 0 - 0 !
1 file changed, 28 insertions(+)

 check that libclang-based completer offers fixit
 clangd is preferred  and more featureful, but libclang is a decent
 fallback and as long as we built it, it should at least keep working.
11 add ccls test.patch | (download)

test/ccls.test.vim | 23 23 + 0 - 0 !
1 file changed, 23 insertions(+)

 check ccls support
 Support is Debian specific as upstream already has libclang and clangd for
 the cfamily and adding more is hard to do platform agnostic, while in Debian
 it is hardly one apt call way and hence easy to do.
12 add gopls test.patch | (download)

test/gopls.test.vim | 27 27 + 0 - 0 !
1 file changed, 27 insertions(+)

 check gopls works
 The test content itself is a bit pointless, but it can at
 least proof that go support isn't entirely broken.
13 add fortran test.patch | (download)

test/fortran.test.vim | 25 25 + 0 - 0 !
test/testdata/diagnostics/foo.f90 | 6 6 + 0 - 0 !
2 files changed, 31 insertions(+)

 adding a simple test for fortran completer
 This is Debian-specific as enabling the completer is a
 Debian-specific patch in ycmd.