diff --git a/config/nvim/lua/plugins/lsp.lua b/config/nvim/lua/plugins/lsp.lua index cb7843f..dbb894f 100644 --- a/config/nvim/lua/plugins/lsp.lua +++ b/config/nvim/lua/plugins/lsp.lua @@ -2,6 +2,8 @@ -- │ LSP Setup and configuration │ -- ╰─────────────────────────────────────────────────────────╯ +require 'utils' + -- LSP Servers are installed and configured by lsp-setup.nvim -- Mason formatters Conform uses to format files -- These are automatically configured by zapling/mason-conform.nvim @@ -27,12 +29,8 @@ local lsp_servers = { }, html = {}, intelephense = { - commands = { - IntelephenseIndex = { - function() - vim.lsp.buf.execute_command { command = 'intelephense.index.workspace' } - end, - }, + init_options = { + licenceKey = GetIntelephenseLicense(), }, }, jsonls = {}, diff --git a/config/nvim/lua/utils.lua b/config/nvim/lua/utils.lua index 46cf919..67d915f 100644 --- a/config/nvim/lua/utils.lua +++ b/config/nvim/lua/utils.lua @@ -80,3 +80,17 @@ end -- Toggle background between light and dark function ToggleBackground() vim.o.bg = vim.o.bg == 'light' and 'dark' or 'light' end + +-- ╭─────────────────────────────────────────────────────────╮ +-- │ LSP Related helper functions │ +-- ╰─────────────────────────────────────────────────────────╯ + +-- Get the license key for intelephense +---@return string|nil -- The license key for intelephense +function GetIntelephenseLicense() + local f = + assert(io.open(os.getenv 'HOME' .. '/intelephense/license.txt', 'rb')) + local content = f:read '*a' + f:close() + return string.gsub(content, '%s+', '')[1] or nil +end