Package Details: vim-youcompleteme-git r3059.50379d35-1

Git Clone URL: https://aur.archlinux.org/vim-youcompleteme-git.git (read-only, click to copy)
Package Base: vim-youcompleteme-git
Description: A code-completion engine for Vim
Upstream URL: https://ycm-core.github.io/YouCompleteMe/
Keywords: completion engine neovim vim ycm
Licenses: GPL3
Groups: vim-plugins
Submitter: thestinger
Maintainer: artafinde
Last Packager: artafinde
Votes: 170
Popularity: 0.60
First Submitted: 2013-02-05 21:32 (UTC)
Last Updated: 2023-01-19 12:56 (UTC)

Dependencies (19)

Required by (0)

Sources (2)

Pinned Comments

artafinde commented on 2021-04-10 13:03 (UTC)

If you want to use system's abseil set the _use_system_abseil to ON - default is to download from internet during build.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 53 Next › Last »

staletic commented on 2020-12-07 21:19 (UTC)

The clangd_binary_path has to get the same treatment as the jdt workspace - it's overridden in plugin/youcompleteme.vim. Here's the missing line:

  sed -e "s|\(ycm_clangd_binary_path',\).*\$|\1 '/usr/bin/clangd' )|" \
      -i "${srcdir}"/YouCompleteMe/plugin/youcompleteme.vim

marcin commented on 2020-12-05 08:02 (UTC)

Arch just upgraded python from python 3.8 to 3.9 which broke vim-youcompleteme-git, as libpython3.8.so was missing.

The solution was to fully uninstall vim-youcompleteme-git, purge it from cache, and re-install so that it compiles against new python 3.9 libraries.

artafinde commented on 2020-12-04 18:23 (UTC) (edited on 2020-12-04 18:36 (UTC) by artafinde)

@edacval: thanks for the contribution. I guess this happens when you maintain a package which targets developers :)

edacval commented on 2020-12-04 17:01 (UTC)

http://ix.io/2GuU Patch to fix prepare() running sed on wrong files and simplify sed substitutions:

diff --git a/PKGBUILD b/PKGBUILD
index 807a9aa..1015438 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -74,33 +74,33 @@ prepare() {

   # NOTE: Arch package for pybind11 2.6.0 doesn't ship headers
   # Force system headers/libs
-  rm -rf "${srcdir}"/ycmd/cpp/llvm || exit
+  rm -rf "${srcdir}"/YouCompleteMe/third_party/ycmd/cpp/llvm || exit

   if [[ "$_gocode" == "y" ]]; then
-    sed -e "s/\(gopls_binary_path\":\).*\$/\1 \"\/usr\/bin\/gopls\",/" \
-        -i "${srcdir}"/ycmd/ycmd/default_settings.json
+    sed -e 's|\(gopls_binary_path":\).*$|\1 "/usr/bin/gopls",|' \
+        -i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
   fi

   if [[ "$_typescript" == "y" ]]; then
     rm -rf "${srcdir}/YouCompleteMe/third_party/ycmd/third_party/tern_runtime" || exit
-    sed -e "s/\(tsserver_binary_path\":\).*\$/\1 \"\/usr\/bin\/tsserver\",/" \
-        -i "${srcdir}"/ycmd/ycmd/default_settings.json
+    sed -e 's|\(tsserver_binary_path":\).*$|\1 "/usr/bin/tsserver",|' \
+        -i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
   fi
   if [[ "$_java" == "y" ]]; then
-    sed -e "s/\(java_jdtls_workspace_root_path\":\).*\$/\1 \"\/tmp\",/" \
-        -e "s/\(java_binary_path\":\).*\$/\1 \"\/usr\/bin\/java\"/" \
-        -i "${srcdir}"/ycmd/ycmd/default_settings.json
+    sed -e 's|\(java_jdtls_workspace_root_path":\).*$|\1 "/tmp",|' \
+        -e 's|\(java_binary_path":\).*$|\1 "/usr/bin/java"|' \
+        -i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
     # The 'java_jdtls_workspace_root_path' option is overriden from the vim plugin
     # so just make sure this is also done there.
-    sed -e "s/\(ycm_java_jdtls_workspace_root_path',\).*\$/\1 '\/tmp' )/" \
+    sed -e "s|\(ycm_java_jdtls_workspace_root_path',\).*\$|\1 '/tmp' )|" \
         -i "${srcdir}"/YouCompleteMe/plugin/youcompleteme.vim
   fi

-  sed -e "s/\(clangd_binary_path\":\).*\$/\1 \"\/usr\/bin\/clangd\",/" \
-      -e "s/\(rust_toolchain_root\":\).*\$/\1 \"\/usr\",/" \
-      -e "s/\(roslyn_binary_path\":\).*\$/\1 \"\/opt\/omnisharp-roslyn\/OmniSharp.exe\",/" \
-      -e "s/\(mono_binary_path\":\).*\$/\1 \"\/usr\/bin\/mono\",/" \
-      -i "${srcdir}"/ycmd/ycmd/default_settings.json
+  sed -e 's|\(clangd_binary_path":\).*$|\1 "/usr/bin/clangd",|' \
+      -e 's|\(rust_toolchain_root":\).*$|\1 "/usr",|' \
+      -e 's|\(roslyn_binary_path":\).*$|\1 "/opt/omnisharp-roslyn/OmniSharp.exe",|' \
+      -e 's|\(mono_binary_path":\).*$|\1 "/usr/bin/mono",|' \
+      -i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
 }

 build() {

staletic commented on 2020-11-29 20:01 (UTC)

Finally, is it possible to specify the minimum version for java-environment? JDT.LS requires java 11.

Fixed

Except it now says java-environment>11, which means 12+? Or does it mean >11.0.0?

Line 133 can also be set in the default_settings.json. The key is called java_jdtls_workspace_root_path - in case you prefer sed to ln -s.

tried and didn't work ycmd doesn't seem to respect it :/

Oh... This might be annoying. It's overridden here.

As you can see, many of the things in default_settings.json are actually overridden in plugin/youcompleteme.vim. The idea behind that was a step towards completely decoupling YCM and ycmd (YCM actually does import ycmd in a few places...). That task proved to be tougher than we thought and we stopped half way through.

The relevant YCM pull request: https://github.com/ycm-core/YouCompleteMe/pull/3243

artafinde commented on 2020-11-29 19:35 (UTC) (edited on 2020-11-29 19:36 (UTC) by artafinde)

@staletic

  • fixed

  • tried and didn't work ycmd doesn't seem to respect it :/

  • fixed

staletic commented on 2020-11-29 18:27 (UTC)

  • -DUSE_PYTHON2 isn't recognized by cmake any more, because we now require python3.
  • Line 133 can also be set in the default_settings.json. The key is called java_jdtls_workspace_root_path - in case you prefer sed to ln -s.
  • Finally, is it possible to specify the minimum version for java-environment? JDT.LS requires java 11.