From 305d1634fa72dbe4a9d6c81f876670fe748cf7b6 Mon Sep 17 00:00:00 2001 From: Fernando Araoz Date: Thu, 23 Jan 2025 22:33:47 -0500 Subject: [PATCH] feat(nvim): continue fennel rewrite --- config/nvim/fnl/config.fnl | 2 +- config/nvim/fnl/plugins/colors.fnl | 13 ++++ config/nvim/fnl/plugins/editor.fnl | 17 +++++ config/nvim/fnl/plugins/git.fnl | 103 +++++++++++++++++++++++++++++ 4 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 config/nvim/fnl/plugins/colors.fnl create mode 100644 config/nvim/fnl/plugins/editor.fnl create mode 100644 config/nvim/fnl/plugins/git.fnl diff --git a/config/nvim/fnl/config.fnl b/config/nvim/fnl/config.fnl index a09a26d..ee4a1e5 100644 --- a/config/nvim/fnl/config.fnl +++ b/config/nvim/fnl/config.fnl @@ -82,7 +82,7 @@ :acide/trazo-frontend :onelight :csharp :caret :zig :ayu-dark}] - (var theme :randomhue) + (var theme "vim") (each [dir dir-theme (pairs directory-themes)] (when (string.find cwd dir 1 true) (set theme dir-theme) (lua :break))) (vim.cmd (.. "colorscheme " theme)))) diff --git a/config/nvim/fnl/plugins/colors.fnl b/config/nvim/fnl/plugins/colors.fnl new file mode 100644 index 0000000..ac46f0f --- /dev/null +++ b/config/nvim/fnl/plugins/colors.fnl @@ -0,0 +1,13 @@ +[ + "Mofiqul/dracula.nvim" + "olimorris/onedarkpro.nvim" + "projekt0n/github-nvim-theme" + "folke/tokyonight.nvim" + "arzg/vim-colors-xcode" + "rose-pine/neovim" + "Mofiqul/vscode.nvim" + "scottmckendry/cyberdream.nvim" + "Shatur/neovim-ayu" + "projekt0n/caret.nvim" + ] + diff --git a/config/nvim/fnl/plugins/editor.fnl b/config/nvim/fnl/plugins/editor.fnl new file mode 100644 index 0000000..fec3a49 --- /dev/null +++ b/config/nvim/fnl/plugins/editor.fnl @@ -0,0 +1,17 @@ +(local blankline + {1 :lukas-reineke/indent-blankline.nvim + :main :ibl + :opts {:indent {:char "▏"} + :scope {:show_end false :show_start false}}}) + +(local emmet + {1 :olrtg/nvim-emmet + :config (fn [] + (vim.keymap.set [:n :v] :xe + (. (require :nvim-emmet) + :wrap_with_abbreviation)))}) + +[ + blankline + emmet + ] diff --git a/config/nvim/fnl/plugins/git.fnl b/config/nvim/fnl/plugins/git.fnl new file mode 100644 index 0000000..d6b0a30 --- /dev/null +++ b/config/nvim/fnl/plugins/git.fnl @@ -0,0 +1,103 @@ +(local git + {1 :lewis6991/gitsigns.nvim + :config (fn [] + ((. (require :gitsigns) :setup) {:on_attach (fn [bufnr] + (local gitsigns + (require :gitsigns)) + + (fn map [mode + l + r + opts] + (set-forcibly! opts + (or opts + {})) + (set opts.buffer + bufnr) + (vim.keymap.set mode + l + r + opts)) + + (map :n "]c" + (fn [] + (if vim.wo.diff + (vim.cmd.normal {1 "]c" + :bang true}) + (gitsigns.nav_hunk :next))) + {:desc "Next Git hunk"}) + (map :n "[c" + (fn [] + (if vim.wo.diff + (vim.cmd.normal {1 "[c" + :bang true}) + (gitsigns.nav_hunk :prev))) + {:desc "Previous Git hunk"}) + (map :n + :gs + gitsigns.stage_hunk + {:desc "[s]tage hunk"}) + (map :n + :gr + gitsigns.reset_hunk + {:desc "[r]eset hunk"}) + (map :v + :gs + (fn [] + (gitsigns.stage_hunk [(vim.fn.line ".") + (vim.fn.line :v)])) + {:desc "[S]tage hunk"}) + (map :v + :gr + (fn [] + (gitsigns.reset_hunk [(vim.fn.line ".") + (vim.fn.line :v)])) + {:desc "[R]eset hunk"}) + (map :n + :gS + gitsigns.stage_buffer + {:desc "[S]tage buffer"}) + (map :n + :gu + gitsigns.undo_stage_hunk + {:desc "[u]ndo stage hunk"}) + (map :n + :gR + gitsigns.reset_buffer + {:desc "[R]eset buffer"}) + (map :n + :gp + gitsigns.preview_hunk + {:desc "[p]review hunk"}) + (map :n + :gb + (fn [] + (gitsigns.blame_line {:full true})) + {:desc "[b]lame line"}) + (map :n + :tb + gitsigns.toggle_current_line_blame + {:desc "Toggle current line [b]lame"}) + (map :n + :gd + gitsigns.diffthis + {:desc "[d]iff this file"}) + (map :n + :gD + (fn [] + (gitsigns.diffthis "~")) + {:desc "[D]iff this ~"}) + (map :n + :td + gitsigns.toggle_deleted + {:desc "Toggle [d]eleted"}) + (map [:o :x] + :ih + ":Gitsigns select_hunk")) + :signs {:add {:text "+"} + :change {:text "~"} + :changedelete {:text "~"} + :delete {:text "_"} + :topdelete {:text "‾"}}}))}) + +[git]