From 41095142b26b9eb59cc5e37673c87e6463b3ba1a Mon Sep 17 00:00:00 2001 From: Nikos Papadakis Date: Thu, 26 Jan 2023 21:31:17 +0200 Subject: [PATCH] nvim --- nvim/.config/nvim/after/plugin/lspconfig.lua | 23 +++++++++++++++++--- nvim/.config/nvim/after/plugin/nvim-cmp.lua | 7 +++++- nvim/.config/nvim/lua/my/plugins.lua | 1 + 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/nvim/.config/nvim/after/plugin/lspconfig.lua b/nvim/.config/nvim/after/plugin/lspconfig.lua index 1ba885f..8f86009 100644 --- a/nvim/.config/nvim/after/plugin/lspconfig.lua +++ b/nvim/.config/nvim/after/plugin/lspconfig.lua @@ -4,6 +4,8 @@ if not ok then return end +local has_lint, lint = pcall(require, "lint") + local nmap = require("my.utils").nmap local border = { @@ -91,13 +93,28 @@ local on_attach = function(client, bufnr) if has_lsp_status then lsp_status.on_attach(client) end + + if has_lint then + if vim.filetype.match({ buf = bufnr }) == "php" then + lint.linters.psalm.cmd = "./vendor/bin/psalm" + end + + lint.linters_by_ft = { + php = { "psalm" } + } + + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + pattern = { "*.php" }, + callback = function() + lint.try_lint() + end + }) + end end local servers = { gopls = {}, - psalm = { - cmd = { "./vendor/bin/psalm-language-server" }, - }, + phpactor = {}, pylsp = {}, rust_analyzer = { assist = { diff --git a/nvim/.config/nvim/after/plugin/nvim-cmp.lua b/nvim/.config/nvim/after/plugin/nvim-cmp.lua index 808cd0f..20ab0ff 100644 --- a/nvim/.config/nvim/after/plugin/nvim-cmp.lua +++ b/nvim/.config/nvim/after/plugin/nvim-cmp.lua @@ -3,12 +3,17 @@ if not ok then return end +local luasnip_ok, luasnip = pcall(require, "luasnip") +if not luasnip_ok then + vim.notify("Luasnip is required for nvim-cmp to work", vim.log.levels.WARN) +end + local lspkind = require "lspkind" cmp.setup { snippet = { expand = function(args) - require("luasnip").lsp_expand(args.body) + luasnip.lsp_expand(args.body) end, }, mapping = cmp.mapping.preset.insert { diff --git a/nvim/.config/nvim/lua/my/plugins.lua b/nvim/.config/nvim/lua/my/plugins.lua index 2a9442d..c5ba739 100644 --- a/nvim/.config/nvim/lua/my/plugins.lua +++ b/nvim/.config/nvim/lua/my/plugins.lua @@ -44,4 +44,5 @@ require "paq" { "L3MON4D3/LuaSnip", "nvim-lua/lsp-status.nvim", "onsails/lspkind.nvim", + "mfussenegger/nvim-lint", }