From b290445c7a150d875fd582ea2eb30a80ba09200a Mon Sep 17 00:00:00 2001 From: Eric Tiedemann Date: Sun, 26 Nov 2023 11:23:30 -0500 Subject: [PATCH] autoinstall formatters and automatting --- init.lua | 1 + lua/autocmds.lua | 10 ---------- lua/custom/config/harpoon-config.lua | 11 +++++++++++ lua/custom/config/mason-null-ls-config.lua | 4 ++++ lua/custom/plugins/conform.lua | 13 +++++++++++++ lua/custom/plugins/init.lua | 2 ++ lua/custom/plugins/mason-null-ls.lua | 8 ++++++++ 7 files changed, 39 insertions(+), 10 deletions(-) delete mode 100644 lua/autocmds.lua create mode 100644 lua/custom/config/harpoon-config.lua create mode 100644 lua/custom/config/mason-null-ls-config.lua create mode 100644 lua/custom/plugins/conform.lua create mode 100644 lua/custom/plugins/mason-null-ls.lua diff --git a/init.lua b/init.lua index 96a82f62..32960f94 100644 --- a/init.lua +++ b/init.lua @@ -616,4 +616,5 @@ cmp.setup { require "custom.config.treesj-config" require "custom.config.toggleterm-config" +require "custom.config.harpoon-config" require "autocmds" diff --git a/lua/autocmds.lua b/lua/autocmds.lua deleted file mode 100644 index 1f5aeb4a..00000000 --- a/lua/autocmds.lua +++ /dev/null @@ -1,10 +0,0 @@ -vim.api.nvim_create_autocmd({ "BufWritePost" }, { - pattern = { "*.py" }, - desc = "Auto-format Python files after saving", - callback = function() - local fileName = vim.api.nvim_buf_get_name(0) - vim.cmd(":silent !black --preview -q " .. fileName) - vim.cmd(":silent !isort --profile black --float-to-top -q " .. fileName) - end, - group = autocmd_group, -}) diff --git a/lua/custom/config/harpoon-config.lua b/lua/custom/config/harpoon-config.lua new file mode 100644 index 00000000..9e1c7a1f --- /dev/null +++ b/lua/custom/config/harpoon-config.lua @@ -0,0 +1,11 @@ +require("telescope").load_extension("harpoon") + +require('which-key').register { + ['h'] = { + name = "[H]arpoon", + m = { ":lua require('harpoon.mark').add_file()", "[M]ark" }, + t = { ":lua require('harpoon.ui').toggle_quick_menu()", "[T]oggle Menu" }, + p = { ":lua require('harpoon.ui').nav_prev()", "[P]revious File" }, + n = { ":lua require('harpoon.ui').nav_next()", "[N]ext File" }, + }, +} diff --git a/lua/custom/config/mason-null-ls-config.lua b/lua/custom/config/mason-null-ls-config.lua new file mode 100644 index 00000000..47da06e7 --- /dev/null +++ b/lua/custom/config/mason-null-ls-config.lua @@ -0,0 +1,4 @@ +require("mason-null-ls").setup({ + ensure_installed = { "isort", "black" }, + automatic_installation = true +}) diff --git a/lua/custom/plugins/conform.lua b/lua/custom/plugins/conform.lua new file mode 100644 index 00000000..1ff5b1a8 --- /dev/null +++ b/lua/custom/plugins/conform.lua @@ -0,0 +1,13 @@ +return { + 'stevearc/conform.nvim', + opts = { + formatters_by_ft = { + python = { "isort", "black" }, + }, + format_on_save = { + timeout_ms = 500, + lsp_fallback = true, + } + + } +} diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index b826aa77..71c2b6b2 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -5,4 +5,6 @@ return { 'mg979/vim-visual-multi', 'nvim-treesitter/nvim-treesitter-context', + 'nvim-lua/plenary.nvim', + 'ThePrimeagen/harpoon', } diff --git a/lua/custom/plugins/mason-null-ls.lua b/lua/custom/plugins/mason-null-ls.lua new file mode 100644 index 00000000..57416166 --- /dev/null +++ b/lua/custom/plugins/mason-null-ls.lua @@ -0,0 +1,8 @@ +return { + "jay-babu/mason-null-ls.nvim", + event = { "BufReadPre", "BufNewFile" }, + dependencies = { "williamboman/mason.nvim", "jose-elias-alvarez/null-ls.nvim" }, + config = function() + require("custom.config.mason-null-ls-config") + end, +}