From 2a94573f54c69a9af7536586ab2c03eb88bda5e7 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Fri, 5 Jan 2024 01:50:20 +0100 Subject: Refactor --- fnl/plugins/gitsigns.fnl | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 fnl/plugins/gitsigns.fnl (limited to 'fnl/plugins/gitsigns.fnl') diff --git a/fnl/plugins/gitsigns.fnl b/fnl/plugins/gitsigns.fnl new file mode 100644 index 0000000..a194f3c --- /dev/null +++ b/fnl/plugins/gitsigns.fnl @@ -0,0 +1,77 @@ +;; Add git signs to source files. + +(local keys [{1 :gR + 2 "lua require 'gitsigns'.reset_buffer()" + :mode :n + :desc "Reset Buffer"} + {1 :gd + 2 "Gitsigns diffthis HEAD" + :mode :n + :desc :Diff} + {1 :gj + 2 "lua require 'gitsigns'.next_hunk()" + :mode :n + :desc "Next Hunk"} + {1 :gk + 2 "lua require 'gitsigns'.prev_hunk()" + :mode :n + :desc "Prev Hunk"} + {1 :gl + 2 "lua require 'gitsigns'.blame_line()" + :mode :n + :desc :Blame} + {1 :gp + 2 "lua require 'gitsigns'.preview_hunk()" + :mode :n + :desc "Preview Hunk"} + {1 :gr + 2 "lua require 'gitsigns'.reset_hunk()" + :mode :n + :desc "Reset Hunk"} + {1 :gs + 2 "lua require 'gitsigns'.stage_hunk()" + :mode :n + :desc "Stage Hunk"} + {1 :gu + 2 "lua require 'gitsigns'.undo_stage_hunk()" + :mode :n + :desc "Undo Stage Hunk"} + {1 :gn + 2 ":Gitsigns select_hunk" + :mode [:o :x] + :desc "GitSigns Select Hunk"}]) + +(local icons (require :icons)) + +(local signs {:add {:text (. icons :git-add)} + :change {:text (. icons :git-add)} + :delete {:text (. icons :git-delete)} + :topdelete {:text (. icons :git-top-delete)} + :changedelete {:text (. icons :git-change-delete)} + :untracked {:text (. icons :git-untracked)}}) + +(local opts {: signs + :signcolumn true + :numhl false + :linehl false + :word_diff false + :watch_gitdir {:follow_files true} + :attach_to_untracked true + :current_line_blame false + :current_line_blame_opts {:virt_text true + :virt_text_pos :eol + :delay 1000 + :ignore_whitespace false} + :current_line_blame_formatter ", - " + :sign_priority 6 + :update_debounce 100 + :status_formatter nil + :max_file_length 40000 + :preview_config {:border :single + :style :minimal + :relative :cursor + :row 0 + :col 1} + :yadm {:enable false}}) + +{1 :lewis6991/gitsigns.nvim :event [:BufReadPre :BufNewFile] : opts : keys} -- cgit v1.2.3-70-g09d2