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

(set nvim.g.nvim_tree_show_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
     :hide_root_folder 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") }}}}
     :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}}}))