aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/server_configurations/blueprint_ls.lua37
1 files changed, 37 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/blueprint_ls.lua b/lua/lspconfig/server_configurations/blueprint_ls.lua
new file mode 100644
index 00000000..d8d36ebb
--- /dev/null
+++ b/lua/lspconfig/server_configurations/blueprint_ls.lua
@@ -0,0 +1,37 @@
+local util = require 'lspconfig.util'
+
+local bin_name = 'blueprint-compiler'
+local cmd = { bin_name, 'lsp' }
+
+if vim.fn.has 'win32' == 1 then
+ cmd = { 'cmd.exe', '/C', bin_name, 'start' }
+end
+
+return {
+ default_config = {
+ cmd = cmd,
+ cmd_env = {
+ -- Prevent recursive scanning which will cause issues when opening a file
+ -- directly in the home directory (e.g. ~/foo.sh).
+ --
+ -- Default upstream pattern is "**/*@(.sh|.inc|.bash|.command)".
+ GLOB_PATTERN = vim.env.GLOB_PATTERN or '*@(.blp)',
+ },
+ filetypes = { 'blueprint' },
+ root_dir = util.find_git_ancestor,
+ single_file_support = true,
+ },
+ docs = {
+ description = [[
+https://gitlab.gnome.org/jwestman/blueprint-compiler
+
+`blueprint-compiler` can be installed via your system package manager.
+
+Language server for the blurprint markup language, written in python and part
+of the blueprint-compiler.
+]],
+ default_config = {
+ root_dir = [[util.find_git_ancestor]],
+ },
+ },
+}