summaryrefslogtreecommitdiff
path: root/fnl/config/bufferline.fnl
blob: f4ec98b9fce9e77e8774918e1f8a1962fa486c2e (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
;; Topbar that displays open buffers.
(module config.bufferline
  {autoload {util util}})

(def- options 
  {:numbers  "none"
   :close_command  "Bdelete! %d"
   :right_mouse_command nil
   :left_mouse_command nil
   :middle_mouse_command nil
   :indicator_icon ""
   :buffer_close_icon ""
   :modified_icon  "●"
   :close_icon ""
   :left_trunc_marker "<"
   :right_trunc_marker ">"
   :max_name_length 30
   :max_prefix_length 30
   :tab_size 21
   :diagnostics false
   :diagnostics_update_in_insert false
   :offsets [ { :filetype  "NvimTree" :text  "" :padding  1 } ]
   :show_buffer_icons false
   :show_buffer_close_icons false
   :show_close_icon false
   :show_tab_indicators false
   :persist_buffer_sort true
   :separator_style "thin"
   :enforce_regular_tabs true
   :always_show_bufferline true})

(def- default-bg-tabline {
  :attribute "bg" :highlight "TabLine"})

(def- default-bg-normal {
  :attribute "bg" :highlight "Normal"})

(def- default-fg-tabline {
  :attribute "fg" :highlight "TabLine"})

(def- default-fg-normal {
  :attribute "fg" :highlight "Normal"})

(def- highlights
  {:fill {
     :guifg { :attribute "fg" :highlight "#ff0000" }
     :guibg default-bg-tabline
   }
   :background {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :buffer_visible {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :close_button {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :close_button_visible {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :tab_selected {
     :guifg default-fg-normal
     :guibg default-bg-normal
   }
   :tab {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :tab_close {
     :guifg { :attribute "fg" :highlight "TabLineSel" }
     :guibg default-bg-normal
   }
   :duplicate_selected {
     :guifg { :attribute "fg" :highlight "TabLineSel" }
     :guibg { :attribute "bg" :highlight "TabLineSel" }
     :gui "italic"
   }
   :duplicate_visible {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
     :gui "italic"
   }
   :duplicate {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
     :gui  "italic"
   }
   :modified {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :modified_selected {
     :guifg default-fg-normal
     :guibg default-bg-normal
   }
   :modified_visible {
     :guifg default-fg-tabline
     :guibg default-bg-tabline
   }
   :separator {
     :guifg default-bg-tabline
     :guibg default-bg-tabline
   }
   :separator_selected {
     :guifg default-bg-normal
     :guibg default-bg-normal
   }
   :indicator_selected {
     :guifg { :attribute "fg" :highlight "LspDiagnosticsDefaultHint" }
     :guibg default-bg-normal}})

(let [bufferline (util.load-plugin :bufferline)]
  (bufferline.setup {:options options :highlights highlights}))