From 356ed03d2fc26a13d1fae96f1d4da51f606f35ea Mon Sep 17 00:00:00 2001 From: long Date: Tue, 6 Jun 2023 15:50:56 -0500 Subject: [PATCH] gitsigns keybinds, removed filetype plugins that set tab width, python regex injections --- ftplugin/c.lua | 1 - ftplugin/htmldjango.lua | 1 - ftplugin/javascript.lua | 1 - ftplugin/javascriptreact.lua | 1 - ftplugin/svelte.lua | 1 - ftplugin/typescriptreact.lua | 1 - ftplugin/vue.lua | 1 - ftplugin/yaml.lua.nothanks | 1 - lua/helpers.lua | 6 +-- lua/plugins/config.lua | 74 ++++++++++++++++++++++++++++++++--- queries/python/injections.scm | 5 +++ 11 files changed, 76 insertions(+), 17 deletions(-) delete mode 100644 ftplugin/c.lua delete mode 100644 ftplugin/htmldjango.lua delete mode 100644 ftplugin/javascript.lua delete mode 100644 ftplugin/javascriptreact.lua delete mode 100644 ftplugin/svelte.lua delete mode 100644 ftplugin/typescriptreact.lua delete mode 100644 ftplugin/vue.lua delete mode 100644 ftplugin/yaml.lua.nothanks diff --git a/ftplugin/c.lua b/ftplugin/c.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/c.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/htmldjango.lua b/ftplugin/htmldjango.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/htmldjango.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/javascript.lua b/ftplugin/javascript.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/javascript.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/javascriptreact.lua b/ftplugin/javascriptreact.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/javascriptreact.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/svelte.lua b/ftplugin/svelte.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/svelte.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/typescriptreact.lua b/ftplugin/typescriptreact.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/typescriptreact.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/vue.lua b/ftplugin/vue.lua deleted file mode 100644 index 319e2e5..0000000 --- a/ftplugin/vue.lua +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(2) diff --git a/ftplugin/yaml.lua.nothanks b/ftplugin/yaml.lua.nothanks deleted file mode 100644 index 57e3c47..0000000 --- a/ftplugin/yaml.lua.nothanks +++ /dev/null @@ -1 +0,0 @@ -require("helpers").set_tab(4) diff --git a/lua/helpers.lua b/lua/helpers.lua index 2a57df1..e72de56 100644 --- a/lua/helpers.lua +++ b/lua/helpers.lua @@ -5,18 +5,16 @@ function M.map(mode, lhs, rhs, opts) if opts then default_opts = vim.tbl_extend("force", default_opts, opts) end - vim.api.nvim_set_keymap(mode, lhs, rhs, default_opts) + --vim.api.nvim_set_keymap(mode, lhs, rhs, default_opts) + vim.keymap.set(mode, lhs, rhs, default_opts) end function M.lsp_config_defaults() return { root_dir = require("lspconfig.util").root_pattern( - ".ccls", - "manage.py", "pyproject.toml", "package.json", ".null-ls-root", - "Makefile", ".git" ), diff --git a/lua/plugins/config.lua b/lua/plugins/config.lua index e4cb59a..3683b3c 100644 --- a/lua/plugins/config.lua +++ b/lua/plugins/config.lua @@ -34,7 +34,11 @@ function M.fzf() map("n", "gl", ":GFiles") map("n", "gs", ":GFiles?") map("n", "gc", ":Commits") - map("n", "l", ":lua require('fzf_funcs').cwd()") + --map("n", "l", ":lua require('fzf_funcs').cwd()") + --map("n", "f", ":lua require('fzf_funcs').cwd()") + + local fzf = require("fzf_funcs") + map("n", "l", fzf.cwd) end function M.fzf_checkout() @@ -63,11 +67,14 @@ function M.harpoon() }) nmap("a", ":lua require('harpoon.mark').add_file()") nmap("m", ":lua require('harpoon.ui').toggle_quick_menu()") + + for i = 1, 4, 1 do + nmap("", ':lua require("harpoon.ui").nav_file(' .. i .. ")") + end end function M.auto_session() require("auto-session").setup({ - log_level = "info", auto_session_suppress_dirs = { "~/", "~/Projects" }, auto_session_use_git_branch = true, }) @@ -180,7 +187,7 @@ function M.nvim_treesitter() html = true, javascript = true, typescript = true, - svelte = true, + --svelte = true, query = true, }) @@ -206,7 +213,7 @@ function M.nvim_treesitter() disable = function(lang, bufnr) return highlight_disable[lang] or too_many_lines(bufnr) end, - additional_vim_regex_highlighting = { "htmldjango", "html" }, + --additional_vim_regex_highlighting = { "htmldjango", "html" }, }, rainbow = { enable = true, @@ -482,7 +489,64 @@ function M.tokyonight() end function M.gitsigns() - require("gitsigns").setup() + require("gitsigns").setup({ + on_attach = function(bufnr) + local gs = package.loaded.gitsigns + + local function gs_map(mode, l, r, opts) + opts = opts or {} + opts.buffer = bufnr + vim.keymap.set(mode, l, r, opts) + end + + -- Navigation + gs_map("n", "]c", function() + if vim.wo.diff then + return "]c" + end + vim.schedule(function() + gs.next_hunk() + end) + return "" + end, { expr = true }) + + gs_map("n", "[c", function() + if vim.wo.diff then + return "[c" + end + vim.schedule(function() + gs.prev_hunk() + end) + return "" + end, { expr = true }) + + -- Actions + gs_map("n", "hs", gs.stage_hunk) + gs_map("n", "hr", gs.reset_hunk) + gs_map("v", "hs", function() + gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) + end) + gs_map("v", "hr", function() + gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) + end) + gs_map("n", "hS", gs.stage_buffer) + gs_map("n", "hu", gs.undo_stage_hunk) + gs_map("n", "hR", gs.reset_buffer) + gs_map("n", "hp", gs.preview_hunk) + gs_map("n", "hb", function() + gs.blame_line({ full = true }) + end) + gs_map("n", "tb", gs.toggle_current_line_blame) + gs_map("n", "hd", gs.diffthis) + gs_map("n", "hD", function() + gs.diffthis("~") + end) + gs_map("n", "td", gs.toggle_deleted) + + -- Text object + gs_map({ "o", "x" }, "ih", ":Gitsigns select_hunk") + end, + }) end function M.lsp_zero() diff --git a/queries/python/injections.scm b/queries/python/injections.scm index 89e054d..abb5722 100644 --- a/queries/python/injections.scm +++ b/queries/python/injections.scm @@ -9,3 +9,8 @@ (type (string (string_content) @_type)) (string (string_content) @python)) (#eq? @_type "TypeAlias")) + +(class_definition (argument_list (subscript (string (string_content) @python)))) + +(((string (string_content) @python) @_str) + (#match? @_str "^r.*$"))