summaryrefslogtreecommitdiff
path: root/fnl/config/nvim-tree.fnl
blob: 541ef6a3a62474de7d45ba4e20e86df9a8bbe338 (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
;; A vertical sidebar file explorer.
(module config.nvim-tree {autoload {util util nvim aniseed.nvim}})

(set nvim.g.nvim_tree_show_icons {:git 1 :folders 1 :files 1 :folder_arrows 1})

(set nvim.g.nvim_tree_icons
     {:default ""
      :symlink ""
      :git {:unstaged ""
            :staged :S
            :unmerged ""
            :renamed "➜"
            :deleted ""
            :untracked :U
            :ignored "◌"}
      :folder {:default ""
               :open ""
               :empty ""
               :empty_open ""
               :symlink ""}})

(let [nvim-tree (util.load-plugin :nvim-tree)
      nvim-tree-config (util.load-plugin :nvim-tree.config)]
  (let [tree-cb nvim-tree-config.nvim_tree_callback]
    (nvim-tree.setup {:auto_reload_on_write true
                      :disable_netrw false
                      :hijack_cursor false
                      :hijack_netrw true
                      :hijack_unnamed_buffer_when_opening false
                      :ignore_buffer_on_setup false
                      :open_on_setup false
                      :open_on_tab false
                      :sort_by :name
                      :update_cwd true
                      :view {:width 30
                             :height 30
                             :side :left
                             :preserve_window_proportions false
                             :number false
                             :relativenumber false
                             :signcolumn :yes
                             :mappings {:custom_only false
                                        :list [{:key [:l :<CR> :o]
                                                :cb (tree_cb :edit)}
                                               {:key :h
                                                :cb (tree_cb :close_node)}
                                               {:key :v :cb (tree_cb :vsplit)}]}}
                      :renderer {:icons {:webdev_colors false}}
                      :hijack_directories {:enable true :auto_open true}
                      :update_focused_file {:enable true
                                            :update_cwd true
                                            :ignore_list {}}
                      :ignore_ft_on_setup [:startify :dashboard :alpha]
                      :system_open {:cmd nil :args {}}
                      :diagnostics {:enable true
                                    :show_on_dirs false
                                    :icons {:hint ""
                                            :info ""
                                            :warning ""
                                            :error ""}}
                      :filters {:dotfiles false :custom {} :exclude {}}
                      :git {:enable true :ignore true :timeout 400}
                      :actions {:change_dir {:enable true :global false}
                                :open_file {:quit_on_open false
                                            :resize_window false
                                            :window_picker {:enable true
                                                            :chars :ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
                                                            :exclude {:filetype [:notify
                                                                                 :packer
                                                                                 :qf
                                                                                 :diff
                                                                                 :fugitive
                                                                                 :fugitiveblame]
                                                                      :buftype [:nofile
                                                                                :terminal
                                                                                :help]}}}}
                      :trash {:cmd :trash :require_confirm true}
                      :log {:enable false
                            :truncate false
                            :types {:all false
                                    :config false
                                    :copy_paste false
                                    :git false
                                    :profile false}}})))