diff --git a/Dockerfile b/Dockerfile index 1ed5dec..84c1846 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,8 @@ ENV PYTHON_DEVEL_PKGS="\ python3\ conda" +ENV PERL_DEVEL_PKGS="perl-App-cpanminus" + ENV MASON_PKGS=" \ bash-language-server \ css-lsp \ @@ -51,9 +53,10 @@ ENV MASON_PKGS=" \ COPY . /root/.config/nvim # install system dependencies RUN dnf install -y \ - ${GENERAL_PKGS} ${NEOVIM_PKGS} ${PYTHON_DEVEL_PKGS} \ - && dnf clean all -RUN pip install pynvim + ${GENERAL_PKGS} ${NEOVIM_PKGS} ${PYTHON_DEVEL_PKGS} ${PERL_DEVEL_PKGS} \ + && dnf clean all && \ + cpanm PLS && \ + pip install pynvim RUN rm /root/.config/nvim/lazy-lock.json || true # install lsp and linters using mason diff --git a/lua/lazy-load.lua b/lua/lazy-load.lua index c104731..07dccb9 100644 --- a/lua/lazy-load.lua +++ b/lua/lazy-load.lua @@ -20,6 +20,7 @@ require("lazy").setup({ { 'hrsh7th/cmp-buffer' }, { 'hrsh7th/cmp-cmdline' }, { 'hrsh7th/cmp-path' }, + { 'FractalBoy/perl-language-server' }, { 'hrsh7th/nvim-cmp', config = require('plugins.nvim-cmp').init, @@ -40,7 +41,7 @@ require("lazy").setup({ { 'neovim/nvim-lspconfig', init = require('plugins.nvim-lspconfig').init, - priority = 100 + priority = 10 }, { 'mfussenegger/nvim-lint', diff --git a/lua/plugins/nvim-lspconfig.lua b/lua/plugins/nvim-lspconfig.lua index f9084c7..0f69a5c 100644 --- a/lua/plugins/nvim-lspconfig.lua +++ b/lua/plugins/nvim-lspconfig.lua @@ -127,19 +127,23 @@ return { on_attach = on_attach, capabilities = capabilities, } - require 'lspconfig'.perlnavigator.setup { - settings = { - perlnavigator = { - perlPath = 'perl', - enableWarnings = true, - perltidyProfile = '', - perlcriticProfile = '', - perlcriticEnabled = true, - } - }, + require'lspconfig'.perlpls.setup{ on_attach = on_attach, capabilities = capabilities, } + --require 'lspconfig'.perlnavigator.setup { + --settings = { + --perlnavigator = { + --perlPath = 'perl', + --enableWarnings = true, + --perltidyProfile = '', + --perlcriticProfile = '', + --perlcriticEnabled = true, + --} + --}, + --on_attach = on_attach, + --capabilities = capabilities, + --} require 'lspconfig'.cssls.setup { on_attach = on_attach,