aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/servers/ccls/mac.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-21 12:09:59 +0200
committerGitHub <noreply@github.com>2022-04-21 12:09:59 +0200
commitb68fcc6bb2c770495ff8e2508c06dfdd49abcc80 (patch)
treedf7c71efb59958deb21a18eeccf3e3c43c4cd704 /lua/nvim-lsp-installer/servers/ccls/mac.lua
parentrun autogen_metadata.lua (diff)
downloadmason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.gz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.bz2
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.lz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.xz
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.zst
mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.zip
chore: refactor remaining installers to async impl (#616)
Diffstat (limited to 'lua/nvim-lsp-installer/servers/ccls/mac.lua')
-rw-r--r--lua/nvim-lsp-installer/servers/ccls/mac.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/servers/ccls/mac.lua b/lua/nvim-lsp-installer/servers/ccls/mac.lua
new file mode 100644
index 00000000..dc53bde5
--- /dev/null
+++ b/lua/nvim-lsp-installer/servers/ccls/mac.lua
@@ -0,0 +1,22 @@
+local path = require "nvim-lsp-installer.path"
+local platform = require "nvim-lsp-installer.platform"
+local installer = require "nvim-lsp-installer.core.installer"
+local fs = require "nvim-lsp-installer.core.fs"
+
+local ccls_installer = require "nvim-lsp-installer.servers.ccls.common"
+
+---@async
+return function()
+ local ctx = installer.context()
+ local homebrew_prefix = platform.get_homebrew_prefix():get_or_throw()
+ local llvm_dir = path.concat { homebrew_prefix, "opt", "llvm", "lib", "cmake" }
+ if not fs.dir_exists(llvm_dir) then
+ ctx.stdio_sink.stderr(
+ (
+ "LLVM does not seem to be installed on this system (looked in %q). Please install LLVM via Homebrew:\n $ brew install llvm\n"
+ ):format(llvm_dir)
+ )
+ error "Unable to find LLVM."
+ end
+ ccls_installer { llvm_dir = llvm_dir }
+end