From 5ff8e1e49f25870b71a31f51157685859ba41eea Mon Sep 17 00:00:00 2001 From: jc <46619361+juancwu@users.noreply.github.com> Date: Fri, 24 May 2024 22:49:40 -0400 Subject: [PATCH] update dotfile (nvim config) --- nvim/lua/juancwu/config/keymaps.lua | 25 ++++++++------ nvim/lua/juancwu/plugins/lsp/init.lua | 48 +++++++++++++++++---------- nvim/lua/juancwu/plugins/null-ls.lua | 26 +++++++-------- 3 files changed, 58 insertions(+), 41 deletions(-) diff --git a/nvim/lua/juancwu/config/keymaps.lua b/nvim/lua/juancwu/config/keymaps.lua index 957a494..f8a66e1 100644 --- a/nvim/lua/juancwu/config/keymaps.lua +++ b/nvim/lua/juancwu/config/keymaps.lua @@ -31,28 +31,28 @@ vim.keymap.set("n", "q", "", { noremap = true }) vim.keymap.set("n", "ss", [[:%s/\<\>//gI]]) -- do not copy with x, for god sake, WHY copy something that is being deleted?? -vim.keymap.set("n", "x", "\"_x") +vim.keymap.set("n", "x", '"_x') -- no copy, delete line, for god sake... -vim.keymap.set("n", "dd", "\"_dd") +vim.keymap.set("n", "dd", '"_dd') vim.keymap.set("n", "dx", "dd") -- cut line, under my control -vim.keymap.set("v", "d", "\"_d") +vim.keymap.set("v", "d", '"_d') -- copy/paste to/from system clipboard -vim.keymap.set({ "n", "v" }, "y", "\"+y") -vim.keymap.set({ "n", "v" }, "p", "\"+p") +vim.keymap.set({ "n", "v" }, "y", '"+y') +vim.keymap.set({ "n", "v" }, "p", '"+p') -- increment/decrement a count, helpful for changing indeces vim.keymap.set("n", "+", "") vim.keymap.set("n", "-", "") -- do not copy when deleting word -vim.keymap.set("n", "dw", "\"_dw") -vim.keymap.set("n", "db", "vb\"_d") -- delete in backwards +vim.keymap.set("n", "dw", '"_dw') +vim.keymap.set("n", "db", 'vb"_d') -- delete in backwards -vim.keymap.set("n", "", "ggG") -- select all +vim.keymap.set("n", "", "ggG") -- select all -- split pane -vim.keymap.set("n", "ss", ":splitw", { silent = true }) -- horizontal +vim.keymap.set("n", "ss", ":splitw", { silent = true }) -- horizontal vim.keymap.set("n", "sv", ":vsplitw", { silent = true }) -- vertical -- pane movement @@ -75,9 +75,12 @@ vim.keymap.set("i", "", "", { noremap = true }) vim.keymap.set("i", "", "", { noremap = true }) -- terminal keymaps -vim.keymap.set("t", "", "", { noremap = true }) -- exit insert mode in terminal -vim.keymap.set("t", "", "bd!", { noremap = true }) -- terminate terminal session +vim.keymap.set("t", "", "", { noremap = true }) -- exit insert mode in terminal +vim.keymap.set("t", "", "bd!", { noremap = true }) -- terminate terminal session vim.keymap.set("n", "", "termi", { noremap = true }) -- create new terminal session -- lazygit on floaterm vim.keymap.set("n", "g", "FloatermNew lazygit", { noremap = true }) + +-- quick way to handle errors in Go +vim.keymap.set("n", "ee", "oif err != nil {}Oreturn err") diff --git a/nvim/lua/juancwu/plugins/lsp/init.lua b/nvim/lua/juancwu/plugins/lsp/init.lua index 7d94348..5b2ef6d 100644 --- a/nvim/lua/juancwu/plugins/lsp/init.lua +++ b/nvim/lua/juancwu/plugins/lsp/init.lua @@ -29,23 +29,37 @@ return { -- formatting { "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - lua = { "stylua" }, - javascript = { "prettierd" }, - typescript = { "prettierd" }, - javascriptreact = { "prettierd" }, - typescriptreact = { "prettierd" }, - go = { "gofumpt" }, - python = { "autopep8" }, - }, - format_on_save = function(bufnr) - if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then - return - end - return { timeout_ms = 500, lsp_fallback = true } - end, - }, + config = function() + require("conform").setup({ + formatters_by_ft = { + lua = { "stylua" }, + javascript = { "prettierd" }, + typescript = { "prettierd" }, + javascriptreact = { "prettierd" }, + typescriptreact = { "prettierd" }, + go = { "gofumpt" }, + python = { "autopep8" }, + }, + format_on_save = function(bufnr) + if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then + return + end + return { timeout_ms = 500, lsp_fallback = true } + end, + }) + + vim.api.nvim_create_user_command("FormatDisable", function() + vim.g.disable_autoformat = true + end, { + desc = "Disable autoformat on save", + }) + + vim.api.nvim_create_user_command("FormatEnable", function() + vim.g.disable_autoformat = false + end, { + desc = "Enable autoformat on save", + }) + end, }, }, config = function() diff --git a/nvim/lua/juancwu/plugins/null-ls.lua b/nvim/lua/juancwu/plugins/null-ls.lua index 6b6b81a..b6edf41 100644 --- a/nvim/lua/juancwu/plugins/null-ls.lua +++ b/nvim/lua/juancwu/plugins/null-ls.lua @@ -1,15 +1,15 @@ return { - "jose-elias-alvarez/null-ls.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - }, - config = function() - local null_ls = require("null-ls") - null_ls.setup({ - sources = { - null_ls.builtins.formatting.prettierd, - null_ls.builtins.diagnostics.eslint, - }, - }) - end + "jose-elias-alvarez/null-ls.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + }, + config = function() + local null_ls = require("null-ls") + null_ls.setup({ + sources = { + null_ls.builtins.formatting.prettierd, + null_ls.builtins.diagnostics.eslint, + }, + }) + end, }