From dd42e518fe5939bd7b35e8e43f16eabfc2cb6709 Mon Sep 17 00:00:00 2001 From: Boris Staletic Date: Mon, 2 Oct 2023 22:23:52 +0200 Subject: [PATCH] Update to new ycmd Mostly completer upgrades, and we are now python 3.12 ready. --- README.md | 13 ++++++++----- doc/youcompleteme.txt | 2 +- test/docker/ci/image/Dockerfile | 14 ++++++++++---- test/fixit.test.vim | 2 +- test/hover.test.vim | 2 +- test/signature_help.test.vim | 8 ++++---- third_party/ycmd | 2 +- 7 files changed, 26 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 2847dfa49b..356b2298d8 100644 --- a/README.md +++ b/README.md @@ -391,7 +391,7 @@ The following additional language support options are available: and add `--cs-completer` when calling `install.py`. - Go support: install [Go][go-install] and add `--go-completer` when calling `install.py`. -- JavaScript and TypeScript support: install [Node.js and npm][npm-install] and +- JavaScript and TypeScript support: install [Node.js 18+ and npm][npm-install] and add `--ts-completer` when calling `install.py`. - Rust support: add `--rust-completer` when calling `install.py`. - Java support: install [JDK 17][jdk-install] and add @@ -431,6 +431,9 @@ apt install build-essential cmake vim-nox python3-dev - Install mono-complete, go, node, java and npm ``` +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_current.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list apt install mono-complete golang nodejs openjdk-17-jdk openjdk-17-jre npm ``` @@ -499,7 +502,7 @@ The following additional language support options are available: when calling `install.py`. - Go support: install [Go][go-install] and add `--go-completer` when calling `install.py`. -- JavaScript and TypeScript support: install [Node.js and npm][npm-install] and +- JavaScript and TypeScript support: install [Node.js 18+ and npm][npm-install] and add `--ts-completer` when calling `install.py`. - Rust support: add `--rust-completer` when calling `install.py`. - Java support: install [JDK 17][jdk-install] and add @@ -613,7 +616,7 @@ The following additional language support options are available: Be sure that [the build utility `msbuild` is in your PATH][add-msbuild-to-path]. - Go support: install [Go][go-install] and add `--go-completer` when calling `install.py`. -- JavaScript and TypeScript support: install [Node.js and npm][npm-install] and +- JavaScript and TypeScript support: install [Node.js 18+ and npm][npm-install] and add `--ts-completer` when calling `install.py`. - Rust support: add `--rust-completer` when calling `install.py`. - Java support: install [JDK 17][jdk-install] and add @@ -1111,7 +1114,7 @@ $ EXTRA_CMAKE_ARGS='-DPATH_TO_LLVM_ROOT=/path/to/your/llvm' ./install.py --clang ``` Please note that if using custom `clangd` or `libclang` it _must_ match the -version that YCM requires. Currently YCM requires ***clang 16.0.1***. +version that YCM requires. Currently YCM requires ***clang 17.0.1***. #### Compile flags @@ -1555,7 +1558,7 @@ available on [the wiki][tern-instructions]. All JavaScript and TypeScript features are provided by the [TSServer][] engine, which is included in the TypeScript SDK. To enable these features, install -[Node.js and npm][npm-install] and call the `install.py` script with the +[Node.js 18+ and npm][npm-install] and call the `install.py` script with the `--ts-completer` flag. [TSServer][] relies on [the `jsconfig.json` file][jsconfig.json] for JavaScript diff --git a/doc/youcompleteme.txt b/doc/youcompleteme.txt index 27d3b93397..95aa08e0ed 100644 --- a/doc/youcompleteme.txt +++ b/doc/youcompleteme.txt @@ -1333,7 +1333,7 @@ build or acquire 'libclang' for yourself and specify it when building, as: $ EXTRA_CMAKE_ARGS='-DPATH_TO_LLVM_ROOT=/path/to/your/llvm' ./install.py --clang-completer --system-libclang < Please note that if using custom 'clangd' or 'libclang' it _must_ match the -version that YCM requires. Currently YCM requires **_clang 16.0.1_**. +version that YCM requires. Currently YCM requires **_clang 17.0.1_**. ------------------------------------------------------------------------------- *youcompleteme-compile-flags* diff --git a/test/docker/ci/image/Dockerfile b/test/docker/ci/image/Dockerfile index a3eb94d456..05a8eff66f 100644 --- a/test/docker/ci/image/Dockerfile +++ b/test/docker/ci/image/Dockerfile @@ -5,24 +5,30 @@ ENV LC_ALL C.UTF-8 ARG VIM_VERSION=v8.2.2735 ARG YCM_VIM_PYTHON=python3 +ARG NODE_MAJOR=18 RUN apt-get update && \ apt-get -y dist-upgrade && \ apt-get -y --no-install-recommends install ca-cacert \ + gnupg \ locales \ tzdata \ language-pack-en \ - libncurses5-dev libncursesw5-dev \ + curl \ + sudo \ + libncurses5-dev libncursesw5-dev && \ + mkdir -p /etc/apt/keyrings && \ + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" > /etc/apt/sources.list.d/nodesource.list && \ + apt-get update && apt-get -y upgrade && apt-get -y --no-install-recommends install \ git \ build-essential \ cmake \ - curl \ - sudo \ python3-dev \ python3-pip \ python3-setuptools \ openjdk-11-jdk-headless \ - npm \ + nodejs \ vim-nox \ zlib1g-dev && \ apt-get -y autoremove diff --git a/test/fixit.test.vim b/test/fixit.test.vim index 430cf466ba..5af9b1b788 100644 --- a/test/fixit.test.vim +++ b/test/fixit.test.vim @@ -24,7 +24,7 @@ function! Test_Ranged_Fixit_Works() function! SelectEntry( id ) closure redraw - call test_feedinput( "4\" ) + call test_feedinput( "3\" ) endfunction call timer_start( 5000, funcref( 'SelectEntry' ) ) diff --git a/test/hover.test.vim b/test/hover.test.vim index 0939bf7e7d..f19df03db3 100644 --- a/test/hover.test.vim +++ b/test/hover.test.vim @@ -71,7 +71,7 @@ let s:cpp_lifetime = { \ '', \ 'Type: char', \ 'Offset: 16 bytes', - \ 'Size: 1 byte (+7 padding)', + \ 'Size: 1 byte (+7 bytes padding)', \ 'nobody will live > 128 years', \ '', \ '// In PointInTime', diff --git a/test/signature_help.test.vim b/test/signature_help.test.vim index 45def35af9..331ba0f393 100644 --- a/test/signature_help.test.vim +++ b/test/signature_help.test.vim @@ -804,7 +804,7 @@ function! Test_Signature_Help_Manual_HideShow() function! Check( ... ) call youcompleteme#test#popup#CheckPopupPosition( \ s:_GetSigHelpWinID(), - \ { 'line': 9, 'col': 6, 'visible': 1 } ) + \ { 'line': 9, 'col': 8, 'visible': 1 } ) call FeedAndCheckAgain( 'kjkj', funcref( 'Check2' ) ) endfunction @@ -812,7 +812,7 @@ function! Test_Signature_Help_Manual_HideShow() function! Check2( ... ) call youcompleteme#test#popup#CheckPopupPosition( \ s:_GetSigHelpWinID(), - \ { 'line': 9, 'col': 6, 'visible': 0 } ) + \ { 'line': 9, 'col': 8, 'visible': 0 } ) call FeedAndCheckAgain( 'kjkj', funcref( 'Check3' ) ) endfunction @@ -820,7 +820,7 @@ function! Test_Signature_Help_Manual_HideShow() function! Check3( ... ) call youcompleteme#test#popup#CheckPopupPosition( \ s:_GetSigHelpWinID(), - \ { 'line': 9, 'col': 6, 'visible': 1 } ) + \ { 'line': 9, 'col': 8, 'visible': 1 } ) call feedkeys( "\" ) endfunction @@ -858,7 +858,7 @@ function! Test_Signature_Help_Manual_NoSigs() let popup_id = s:_GetSigHelpWinID() call youcompleteme#test#popup#CheckPopupPosition( \ s:_GetSigHelpWinID(), - \ { 'line': 9, 'col': 6, 'visible': 1 } ) + \ { 'line': 9, 'col': 8, 'visible': 1 } ) call FeedAndCheckAgain( ')', funcref( 'CheckSigsClosed' ) ) endfunction diff --git a/third_party/ycmd b/third_party/ycmd index 45bc1c51ff..e755af6fd4 160000 --- a/third_party/ycmd +++ b/third_party/ycmd @@ -1 +1 @@ -Subproject commit 45bc1c51ff28d66c510ad90388307e1f596a20a2 +Subproject commit e755af6fd45f1a7be33420258566cc586d03898a