diff --git a/nvim/dotfiles/lspconfigs/html.lua b/nvim/dotfiles/lspconfigs/html.lua new file mode 100644 index 0000000..6b9fec4 --- /dev/null +++ b/nvim/dotfiles/lspconfigs/html.lua @@ -0,0 +1,34 @@ +local utils = require('kdotfiles.utils') +local lspconfig = require('lspconfig') + +local file = '/etc/os-release' +local lines = utils.lines_from(file) +local os_name = utils.get_os(lines) + +local cmd = (os_name == 'arch') and {'vscode-html-languageserver'} or {'vscode-html-language-server'} +vim.list_extend(cmd, {'--stdio'}) + +lspconfig['html'].setup({ + cmd = cmd; + filetypes = {'html', 'handlebars', 'htmldjango', 'blade'}; + completion_menu_label = 'HTML'; + + settings_scopes = {'html', 'css', 'javascript'}; + settings = { + html = { + format = { + enable = false; + }; + }; + javascript = { + format = { + enable = false; + }; + }; + css = { + format = { + enable = false; + }; + }; + }; +}) diff --git a/nvim/dotfiles/lspconfigs/php.lua b/nvim/dotfiles/lspconfigs/php.lua new file mode 100644 index 0000000..fd01699 --- /dev/null +++ b/nvim/dotfiles/lspconfigs/php.lua @@ -0,0 +1,3 @@ +local lspconfig = require('lspconfig') + +lspconfig['phpactor'].setup({}) diff --git a/nvim/lua/kdotfiles/utils.lua b/nvim/lua/kdotfiles/utils.lua new file mode 100644 index 0000000..17e4ef7 --- /dev/null +++ b/nvim/lua/kdotfiles/utils.lua @@ -0,0 +1,28 @@ +local M = require('dotfiles.autoload')('kdotfiles.utils') + +function M.file_exists(file) + local f = io.open(file, "rb") + if f then f:close() end + return f ~= nil +end + +function M.lines_from(file) + if not M.file_exists(file) then return {} end + lines = {} + for line in io.lines(file) do + lines[#lines + 1] = line + end + return lines +end + +function M.get_os(lines) + os_name = "Unknown" + for k,v in pairs(lines) do + if string.match(v, "^ID=") then + os_name = string.sub(v, 4) + end + end + return os_name +end + +return M