summaryrefslogtreecommitdiff
path: root/fnl/config/gitsigns.fnl
blob: 7216ad446301c9922223279087bc9f39907ed7a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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}})))