Skip to content
keremc edited this page Sep 24, 2017 · 6 revisions

Installing server

# Arch Linux
sudo pacman -S clang-tools-extra

Unfortunately, no other distribution offers Clangd as a pre-compiled binary for the time being.

Building server

Requirements

Building

# Download the source code
curl -fsSL https://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz | tar -Jxvf -
mv llvm-5.0.0.src llvm
cd llvm/tools
curl -fsSL https://releases.llvm.org/5.0.0/cfe-5.0.0.src.tar.xz | tar -Jxvf -
mv cfe-5.0.0.src clang
cd clang/tools
curl -fsSL https://releases.llvm.org/5.0.0/clang-tools-extra-5.0.0.src.tar.xz | tar -Jxvf -
mv clang-tools-extra-5.0.0.src extra

# Create a separate directory for building LLVM
cd ../../../..
mkdir llvm-build
cd llvm-build

# Build and install LLVM
cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/llvm ../llvm
make
sudo make install

# Clean-up
cd ..
rm -r llvm llvm-build

Registering in .vimrc

if executable('/opt/llvm/bin/clangd')
    au User lsp_setup call lsp#register_server({
        \ 'name': 'clangd',
        \ 'cmd': {server_info->['/opt/llvm/bin/clangd']},
        \ 'whitelist': ['c', 'cpp', 'objc', 'objcpp'],
        \ })
endif