summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua')
-rw-r--r--start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua
new file mode 100644
index 0000000..5d18e99
--- /dev/null
+++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/bqnlsp.lua
@@ -0,0 +1,45 @@
+local util = require 'lspconfig.util'
+
+-- set os dependent library path
+local function library_path(path, cmd_env)
+ path = path or '/usr/local/lib'
+ cmd_env = cmd_env or {}
+ if vim.fn.has 'macunix' and not cmd_env.DYLD_LIBRARY_PATH then
+ cmd_env.DYLD_LIBRARY_PATH = path
+ elseif vim.fn.has 'linux' and not cmd_env.LD_LIBRARY_PATH then
+ cmd_env.LD_LIBRARY_PATH = path
+ end
+ return cmd_env
+end
+
+return {
+ default_config = {
+ cmd = { 'bqnlsp' },
+ filetypes = { 'bqn' },
+ root_dir = util.find_git_ancestor,
+ single_file_support = true,
+ libcbqnPath = nil,
+ on_new_config = function(new_config, _)
+ if new_config.libcbqnPath then
+ new_config.cmd_env = library_path(new_config.libcbqnPath, new_config.cmd_env)
+ end
+ end,
+ },
+ docs = {
+ description = [[
+https://git.sr.ht/~detegr/bqnlsp
+
+
+`bqnlsp`, a language server for BQN.
+
+The binary depends on the shared library of [CBQN](https://github.com/dzaima/CBQN) `libcbqn.so`.
+If CBQN is installed system-wide (using `sudo make install` in its source directory) and `bqnlsp` errors that it can't find the shared library, update the linker cache by executing `sudo ldconfig`.
+If CBQN has been installed in a non-standard directory or can't be installed globally pass `libcbqnPath = '/path/to/CBQN'` to the setup function.
+This will set the environment variables `LD_LIBRARY_PATH` (Linux) or `DYLD_LIBRARY_PATH` (macOS) to the provided path.
+
+ ]],
+ default_config = {
+ root_dir = [[util.find_git_ancestor]],
+ },
+ },
+}