Package Details: vim-youcompleteme-git r2791.a3d02238-1

Git Clone URL: (read-only, click to copy)
Package Base: vim-youcompleteme-git
Description: A code-completion engine for Vim
Upstream URL:
Keywords: completion engine neovim vim ycm
Licenses: GPL3
Groups: vim-plugins
Submitter: thestinger
Maintainer: artafinde
Last Packager: artafinde
Votes: 162
Popularity: 1.55
First Submitted: 2013-02-05 21:32
Last Updated: 2021-04-10 12:53

Dependencies (21)

Sources (1)

Pinned Comments

artafinde commented on 2021-04-10 13:03

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 ... Next › Last »

David01 commented on 2021-01-03 02:33

After new year's there has been a recent pacman packages update. This update was performed successfully, but there is some conflict with ycm's 2020-12-21 update:

vim filename gives:

Error detected while processing function <SNR>37_PollServerReady:
line    7:
Press ENTER or type command to continue
Error detected while processing function <SNR>37_PollServerReady:
line    7:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function <SNR>37_PollServerReady:
line    7:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function <SNR>37_PollServerReady:
line    7:
  File "/usr/share/vim/vimfiles/python/ycm/", line 226, in CheckIfServerIsReady

:scriptnames gives:

  1: /etc/vimrc
  2: /usr/share/vim/vimfiles/archlinux.vim
  3: ~/.vimrc
  4: /usr/share/vim/vim82/filetype.vim
  5: /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim
  6: /usr/share/vim/vimfiles/ftdetect/meson.vim
  7: /usr/share/vim/vim82/ftplugin.vim
  8: /usr/share/vim/vim82/indent.vim
  9: /usr/share/vim/vim82/syntax/syntax.vim
 10: /usr/share/vim/vim82/syntax/synload.vim
 11: /usr/share/vim/vim82/syntax/syncolor.vim
 12: /usr/share/vim/vim82/autoload/netrw_gitignore.vim
 13: /usr/share/vim/vimfiles/autoload/pathogen.vim
 14: /usr/share/vim/vim82/ftoff.vim
 15: ~/.vim/bundle/vim-polyglot/ftdetect/polyglot.vim
 16: ~/.vim/bundle/vim-colors-xcode/colors/xcodelighthc.vim
 17: /usr/share/vim/vimfiles/plugin/SyntaxFolds.vim
 18: /usr/share/vim/vimfiles/plugin/filebrowser.vim
 19: /usr/share/vim/vimfiles/plugin/fzf.vim
 20: /usr/share/vim/vimfiles/plugin/imaps.vim
 21: /usr/share/vim/vimfiles/plugin/indentLine.vim
 22: /usr/share/vim/vimfiles/plugin/remoteOpen.vim
 23: /usr/share/vim/vimfiles/plugin/youcompleteme.vim
 24: /usr/share/vim/vim82/plugin/getscriptPlugin.vim
 25: /usr/share/vim/vim82/plugin/gzip.vim
 26: /usr/share/vim/vim82/plugin/logiPat.vim
 27: /usr/share/vim/vim82/plugin/manpager.vim
 28: /usr/share/vim/vim82/plugin/matchparen.vim
 29: /usr/share/vim/vim82/plugin/netrwPlugin.vim
 30: /usr/share/vim/vim82/plugin/rrhelper.vim
 31: /usr/share/vim/vim82/plugin/spellfile.vim
 32: /usr/share/vim/vim82/plugin/tarPlugin.vim
 33: /usr/share/vim/vim82/plugin/tohtml.vim
 34: /usr/share/vim/vim82/plugin/vimballPlugin.vim
 35: /usr/share/vim/vim82/plugin/zipPlugin.vim
 36: /usr/share/vim/vim82/scripts.vim
 37: /usr/share/vim/vimfiles/autoload/youcompleteme.vim

Could you please help me ? Many thanks

lahwaacz commented on 2020-12-12 09:49

@artafinde I see you've removed the ycmd repo from the sources array, which makes sense - now makepkg won't update the module only for git submodule update to skip back to the tracked commit.

Now the only problem with package versions is that the last 11 commits have the same message: upgpkg: vim-youcompleteme-git r2774.4496153a-1. I understand you just force-install the same package version with makepkg, but people who put the package into their custom binary repo actually need to bump pkgrel, otherwise pacman won't recognize it as an update and will just tell you that the old, cached package has become corrupted.

artafinde commented on 2020-12-09 08:20

@lahwaacz: The -git packages in AUR are mostly pkgver of 1 since they don't represent any particular release / tag. Whoever uses them agrees in the "silent contract" that they should keep them up to date.

On top of that the vim-youcompleteme-git plugin is a bit more complicated since the upstream depends on the ycmd (server) and it's tracked as git submodule in the upstream source code. So even if the upstream youcompleteme project source code might seem as not updated the submodule (ycmd) might.

My recommendation is to rebuild the -git packages you use often.

Disclaimer: I don't use any aur helper - just makepkg so no clue on what they offer, if any.

staletic commented on 2020-12-09 01:23

@lahwaacz The ycmd git source is YCM's submodule, so it can't change without getting updated in the YCM repo first.

@artafinde pybind11-2.6.1-1 is out and headers now do exist in /usr/include/pybind11. This PKGBUILD should be able to add pybind11 to the rm -rf command on line 77.

lahwaacz commented on 2020-12-08 23:13

The pkgver function is wrong - the PKGBUILD has 2 git repos in the sources array, but the current pkgver function considers only one of them. If the other repo changes, the build obviously results in a different package, but the pkgver stays the same.

artafinde commented on 2020-12-07 21:33


staletic commented on 2020-12-07 21:19

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

Arch just upgraded python from python 3.8 to 3.9 which broke vim-youcompleteme-git, as 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

@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 Patch to fix prepare() running sed on wrong files and simplify sed substitutions:

diff --git a/PKGBUILD b/PKGBUILD
index 807a9aa..1015438 100644
@@ -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

   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
   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

-  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() {