Skip to content

Commit

Permalink
trying to get a better python lsp setup
Browse files Browse the repository at this point in the history
pylyzer seems great, it just does not seem to understand updates
tracking: mtshiba/pylyzer#81
  • Loading branch information
Kapocsi committed Aug 1, 2024
1 parent 6c4cad3 commit afc34b9
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 35 deletions.
52 changes: 45 additions & 7 deletions .config/nvim/after/plugin/mason.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
local lsp_capabilities = require('cmp_nvim_lsp').default_capabilities()

local util = require("lspconfig/util")
require("lspconfig.configs").pylyzer = {
default_config = {
name = "pylyzer",
cmd = {
"pylyzer",
"--server"
},
filetypes = {
"python"
},
root_dir = function(fname)
local root_files = {
"pyproject.toml",
"setup.py",
"setup.cfg",
"requirements.txt",
"Pipfile"
}
return util.root_pattern(unpack(root_files))(fname) or
util.find_git_ancestor(fname) or util.path.dirname(fname)
end
}
}

local default_setup = function(server)
require('lspconfig').clangd.setup {
capabilities = lsp_capabilities,
Expand All @@ -18,31 +43,44 @@ end
require('mason').setup({})
require('mason-lspconfig').setup({
ensure_installed = {
-- Asm lang
"asm_lsp",
-- C/C++
"clangd",
--
"eslint",
"tsserver",
"html",
"tailwindcss",
--
"lua_ls",
--
"rust_analyzer",
"tailwindcss",
"tsserver",
"typos_lsp",
"pylsp"

--
-- "pylsp",
-- "pyright",
"pylyzer",

-- Generic
"typos_lsp"
},
handlers = {
default_setup
}
})

local required_formatters = {
-- Because ensure_installed does not have support for everything
local mason_requires = {
"black",
"clang-format",
"luaformatter",
"prettier"
"prettier",
"mypy"
}

-- Install all missing formatters
for _, value in pairs(required_formatters) do
for _, value in pairs(mason_requires) do
if not require("mason-registry").is_installed(value) then
vim.cmd("MasonInstall " .. value)
end
Expand Down
11 changes: 7 additions & 4 deletions .config/nvim/after/plugin/nvim-lint.lua
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
require("lint").linters_by_ft = {}
require'lint'.linters_by_ft = {
python = {
'mypy'
}
}

vim.api.nvim_create_autocmd({
"BufWritePost"
}, {
callback = function()
require("lint").try_lint()
end
callback = function() require("lint").try_lint() end
})

14 changes: 14 additions & 0 deletions .config/nvim/after/plugin/treesitter.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
vim.filetype.add({
pattern = {
['.*%.tmpl$'] = function(path, bufnr)
local base_name = path:match('(.+)%.tmpl$')
if base_name then
local filetype = vim.filetype.match({
filename = base_name
})
return filetype
end
end
}
})

require'nvim-treesitter.configs'.setup {
ensure_installed = {},
modules = {},
Expand Down
44 changes: 23 additions & 21 deletions .config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
@@ -1,37 +1,39 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
"bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" },
"catppuccin": { "branch": "main", "commit": "56fb98218d22d5c326387bf9e4076227e7372e6b" },
"LuaSnip": { "branch": "master", "commit": "f3b3d3446bcbfa62d638b1903ff00a78b2b730a1" },
"bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" },
"catppuccin": { "branch": "main", "commit": "9703f227bfab20d04bcee62d2f08f1795723b4ae" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"dashboard-nvim": { "branch": "master", "commit": "92c94c8c3c92ddd29e1181a0aebcc22f2fe96f71" },
"dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" },
"dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" },
"formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" },
"formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" },
"friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" },
"fzf-lua": { "branch": "main", "commit": "618c4de7d36b6c2a2f46794845e631fa6007bbfc" },
"lazy.nvim": { "branch": "main", "commit": "3132d7d27d56d6bb4bdd0a09623d162b3cf1c588" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "fb6e35ceb559a4324aa688f47e1d1eebf193ea6e" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" },
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" },
"neo-tree.nvim": { "branch": "main", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" },
"neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" },
"neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" },
"nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" },
"nvim-cmp": { "branch": "main", "commit": "6ed1c93465c33f6a53b4c3f103bf9d1ab696382a" },
"nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" },
"nvim-lspconfig": { "branch": "master", "commit": "24662f92c18edd397ef12d635b11dbdedef2d094" },
"nvim-treesitter": { "branch": "master", "commit": "6e7b41106e9b15a5b47d149378d53482c9d9c7a3" },
"lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "abac76482ec3012a2b359ba956a74e2ffd33d46f" },
"lsp_signature.nvim": { "branch": "master", "commit": "aed5d1162b0f07bb3af34bedcc5f70a2b6466ed8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "60f6805b12a12e8a912aeb2f975dec1794a8994e" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"neo-tree.nvim": { "branch": "main", "commit": "7d3b02073e59ed9ef271795787de76d0de8f5294" },
"neoconf.nvim": { "branch": "main", "commit": "4ef6c6c5882e7e16209173fb8c47414202843384" },
"neodev.nvim": { "branch": "main", "commit": "fdf6b3c58caf3ed1bfe40822d5dac340fc18c33b" },
"nerdy.nvim": { "branch": "main", "commit": "1ad36242f40a8fd95ae5711258540a07a5dabb51" },
"nui.nvim": { "branch": "main", "commit": "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-lint": { "branch": "master", "commit": "99f93757276ea55c35bbe74ad2a3d25fc504643b" },
"nvim-lspconfig": { "branch": "master", "commit": "aa199c5bbdbb7fd28b56212a89206f13db02799e" },
"nvim-treesitter": { "branch": "master", "commit": "ca46eb3ac96cd96e963895004589f0c9b2a44491" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" },
"nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" },
"plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" },
"nvim-web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" },
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"transparent.nvim": { "branch": "main", "commit": "fd35a46f4b7c1b244249266bdcb2da3814f01724" },
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "6ecf7461d44513af89f8257f057fcc99e9297612" },
"undotree": { "branch": "master", "commit": "aa93a7e5890dbbebbc064cd22260721a6db1a196" },
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "f4125108b58f2a3a5bb30bcee91927ea88cdfa34" },
"undotree": { "branch": "master", "commit": "9dbbf3b7d19dda0d22ceca461818e4739ad8154d" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
}
14 changes: 14 additions & 0 deletions .config/nvim/lua/config/autocmd.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ vim.api.nvim_create_augroup("dashboard_open", {
clear = true
});

vim.lsp.handlers['textDocument/signatureHelp'] =
vim.lsp.with(vim.lsp.handlers.signature_help, {
focusable = false
})

-- vim.api.nvim_create_autocmd("VimEnter", {
-- desc = "Open Dashboard",
-- group = "dashboard_open",
Expand All @@ -14,3 +19,12 @@ vim.api.nvim_create_augroup("dashboard_open", {
-- end
-- end
-- })

vim.api.nvim_create_autocmd("CursorHold", {
callback = function()
vim.diagnostic.open_float({
focusable = false
})
end
})

12 changes: 10 additions & 2 deletions .config/nvim/lua/plugins/buffer.lua
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
return {
"rafamadriz/friendly-snippets",
"mhartington/formatter.nvim",
"mfussenegger/nvim-lint",
{
"L3MON4D3/LuaSnip",
build = "make install_jsregexp",
dependencies = {
"rafamadriz/friendly-snippets"
}
},
"nvim-treesitter/nvim-treesitter"
"nvim-treesitter/nvim-treesitter",
--- Make nerdfonts easier to type
{
'2kabhishek/nerdy.nvim',
dependencies = {
'stevearc/dressing.nvim',
'nvim-telescope/telescope.nvim'
},
cmd = 'Nerdy'
}
}
4 changes: 3 additions & 1 deletion .config/nvim/lua/plugins/ide.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ return {
"hrsh7th/cmp-path",
"hrsh7th/cmp-buffer",
"stevearc/dressing.nvim",
"ibhagwan/fzf-lua"
"ibhagwan/fzf-lua",
"mfussenegger/nvim-lint"

}

0 comments on commit afc34b9

Please sign in to comment.