From 12ce7a91fe9dab694d077ed2e3be422c89d445ac Mon Sep 17 00:00:00 2001 From: "Vito G. Graffagnino" Date: Fri, 3 Jun 2022 17:10:13 +0100 Subject: Added LSP setting files, added these files to the lsp-installer. Also added lua.lua to enable the key binding gf to recognise lua pathnames --- lua/user/lsp/lsp-installer.lua | 25 +++++++++++++++++++++++++ lua/user/lsp/settings/awk_ls.lua | 10 ++++++++++ lua/user/lsp/settings/bashls.lua | 11 +++++++++++ lua/user/lsp/settings/clangd.lua | 10 ++++++++++ lua/user/lsp/settings/cmake.lua | 12 ++++++++++++ lua/user/lsp/settings/html.lua | 18 ++++++++++++++++++ 6 files changed, 86 insertions(+) create mode 100644 lua/user/lsp/settings/awk_ls.lua create mode 100644 lua/user/lsp/settings/bashls.lua create mode 100644 lua/user/lsp/settings/clangd.lua create mode 100644 lua/user/lsp/settings/cmake.lua create mode 100644 lua/user/lsp/settings/html.lua (limited to 'lua/user/lsp') diff --git a/lua/user/lsp/lsp-installer.lua b/lua/user/lsp/lsp-installer.lua index f539050..ac8f40c 100644 --- a/lua/user/lsp/lsp-installer.lua +++ b/lua/user/lsp/lsp-installer.lua @@ -26,6 +26,31 @@ lsp_installer.on_server_ready(function(server) opts = vim.tbl_deep_extend("force", pyright_opts, opts) end + if server.name == "awk_ls" then + local awk_opts = require("user.lsp.settings.awk_ls") + opts = vim.tbl_deep_extend("force", awk_opts, opts) + end + + if server.name == "bashls" then + local bash_opts = require("user.lsp.settings.bashls") + opts = vim.tbl_deep_extend("force", bash_opts, opts) + end + + if server.name == "clangd" then + local clangd_opts = require("user.lsp.settings.clangd") + opts = vim.tbl_deep_extend("force", clangd_opts, opts) + end + + if server.name == "cmake" then + local cmake_opts = require("user.lsp.settings.cmake") + opts = vim.tbl_deep_extend("force", cmake_opts, opts) + end + + if server.name == "html" then + local html_opts = require("user.lsp.settings.html") + opts = vim.tbl_deep_extend("force", html_opts, opts) + end + -- This setup() function is exactly the same as lspconfig's setup function. -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md server:setup(opts) diff --git a/lua/user/lsp/settings/awk_ls.lua b/lua/user/lsp/settings/awk_ls.lua new file mode 100644 index 0000000..9d4a2da --- /dev/null +++ b/lua/user/lsp/settings/awk_ls.lua @@ -0,0 +1,10 @@ +return { + settings = { + + awk = { + filetypes = { 'awk' }, + single_file_support = true, + } + } +} + diff --git a/lua/user/lsp/settings/bashls.lua b/lua/user/lsp/settings/bashls.lua new file mode 100644 index 0000000..72f8409 --- /dev/null +++ b/lua/user/lsp/settings/bashls.lua @@ -0,0 +1,11 @@ +return { + settings = { + + bash = { + cmd_env = {GLOB_PATTERN = "*@(.sh|.inc|.bash|.command)" }, + filetypes = { 'sh' }, + single_file_support = true, + } + } +} + diff --git a/lua/user/lsp/settings/clangd.lua b/lua/user/lsp/settings/clangd.lua new file mode 100644 index 0000000..55798a1 --- /dev/null +++ b/lua/user/lsp/settings/clangd.lua @@ -0,0 +1,10 @@ +return { + settings = { + + clangd = { + filetypes = { "c","cpp" }, + single_file_support = true, + } + } +} + diff --git a/lua/user/lsp/settings/cmake.lua b/lua/user/lsp/settings/cmake.lua new file mode 100644 index 0000000..c81df8a --- /dev/null +++ b/lua/user/lsp/settings/cmake.lua @@ -0,0 +1,12 @@ +return { + settings = { + + cmake = { + whitelist = {"cmake" }, + initialization_Options = { + buildDirectory = {"build"}, + }, + } + } +} + diff --git a/lua/user/lsp/settings/html.lua b/lua/user/lsp/settings/html.lua new file mode 100644 index 0000000..fb161a9 --- /dev/null +++ b/lua/user/lsp/settings/html.lua @@ -0,0 +1,18 @@ +return { + settings = { + + html = { + filetypes = { 'html' }, + init_options = { + configurationSection = {"html", "css", "javascript" }, + embeddedLanguages = { + css = true, + javascript = true, + }, + provideFormatter = true + }, + single_file_support = true, + } + } +} + -- cgit v1.2.3