summaryrefslogtreecommitdiff
path: root/fnl/config/gitsigns.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/config/gitsigns.fnl')
-rw-r--r--fnl/config/gitsigns.fnl71
1 files changed, 71 insertions, 0 deletions
diff --git a/fnl/config/gitsigns.fnl b/fnl/config/gitsigns.fnl
new file mode 100644
index 0000000..7216ad4
--- /dev/null
+++ b/fnl/config/gitsigns.fnl
@@ -0,0 +1,71 @@
+;; Add git signs to source files.
+(module config.gitsigns
+ {autoload {util util}})
+
+(def- signs {
+ add {
+ hl "GitSignsAdd"
+ text "▎"
+ numhl "GitSignsAddNr"
+ linehl "GitSignsAddLn"
+ }
+ change {
+ hl "GitSignsChange"
+ text "▎"
+ numhl "GitSignsChangeNr"
+ linehl "GitSignsChangeLn"
+ }
+ delete {
+ hl "GitSignsDelete"
+ text "契"
+ numhl "GitSignsDeleteNr"
+ linehl "GitSignsDeleteLn"
+ }
+ topdelete {
+ hl "GitSignsDelete"
+ text "契"
+ numhl "GitSignsDeleteNr"
+ linehl "GitSignsDeleteLn"
+ }
+ changedelete {
+ hl "GitSignsChange"
+ text "▎"
+ numhl "GitSignsChangeNr"
+ linehl "GitSignsChangeLn"}})
+
+(let [(ok? gitsigns) util.load-plugin :gitsigns]
+ (when ok?
+ (gitsigns.setup {
+ :signs signs
+ :signcolumn true
+ :numhl false
+ :linehl false
+ :word_diff false
+ :watch_gitdir {
+ :interval 1000
+ :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_opts {
+ :relative_time false
+ }
+ :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}})))