init.lua 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. local M = {}
  2. M.config = function()
  3. local g = vim.g
  4. vim.o.termguicolors = true
  5. g.nvim_tree_side = "left"
  6. g.nvim_tree_width = 30
  7. g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
  8. g.nvim_tree_auto_open = 1
  9. g.nvim_tree_auto_close = 0
  10. g.nvim_tree_quit_on_open = 0
  11. g.nvim_tree_follow = 1
  12. g.nvim_tree_indent_markers = 1
  13. g.nvim_tree_hide_dotfiles = 1
  14. g.nvim_tree_git_hl = 1
  15. g.nvim_tree_root_folder_modifier = ":t"
  16. g.nvim_tree_tab_open = 0
  17. g.nvim_tree_allow_resize = 1
  18. g.nvim_tree_lsp_diagnostics = 1
  19. g.nvim_tree_auto_ignore_ft = {'startify', 'dashboard'}
  20. g.nvim_tree_show_icons = {
  21. git = 1,
  22. folders = 1,
  23. files = 1,
  24. folder_arrows = 0
  25. }
  26. vim.g.nvim_tree_icons = {
  27. default = '',
  28. symlink = '',
  29. git = {
  30. unstaged = "",
  31. staged = "S",
  32. unmerged = "",
  33. renamed = "➜",
  34. deleted = "",
  35. untracked = "U",
  36. ignored = "◌"
  37. },
  38. folder = {
  39. default = "",
  40. open = "",
  41. empty = "",
  42. empty_open = "",
  43. symlink = ""
  44. }
  45. }
  46. local tree_cb = require"nvim-tree.config".nvim_tree_callback
  47. g.nvim_tree_bindings = {
  48. ["u"] = ":lua require'some_module'.some_function()<cr>",
  49. ["<CR>"] = tree_cb("edit"),
  50. ["l"] = tree_cb("edit"),
  51. ["o"] = tree_cb("edit"),
  52. ["h"] = tree_cb("close_node"),
  53. ["<2-LeftMouse>"] = tree_cb("edit"),
  54. ["<2-RightMouse>"] = tree_cb("cd"),
  55. ["<C-]>"] = tree_cb("cd"),
  56. ["<C-v>"] = tree_cb("vsplit"),
  57. ["v"] = tree_cb("vsplit"),
  58. ["<C-x>"] = tree_cb("split"),
  59. ["<C-t>"] = tree_cb("tabnew"),
  60. ["<"] = tree_cb("prev_sibling"),
  61. [">"] = tree_cb("next_sibling"),
  62. ["<BS>"] = tree_cb("close_node"),
  63. ["<S-CR>"] = tree_cb("close_node"),
  64. ["<Tab>"] = tree_cb("preview"),
  65. ["I"] = tree_cb("toggle_ignored"),
  66. ["H"] = tree_cb("toggle_dotfiles"),
  67. ["R"] = tree_cb("refresh"),
  68. ["a"] = tree_cb("create"),
  69. ["d"] = tree_cb("remove"),
  70. ["r"] = tree_cb("rename"),
  71. ["<C-r>"] = tree_cb("full_rename"),
  72. ["x"] = tree_cb("cut"),
  73. ["c"] = tree_cb("copy"),
  74. ["p"] = tree_cb("paste"),
  75. ["y"] = tree_cb("copy_name"),
  76. ["Y"] = tree_cb("copy_path"),
  77. ["gy"] = tree_cb("copy_absolute_path"),
  78. ["[c"] = tree_cb("prev_git_item"),
  79. ["]c"] = tree_cb("next_git_item"),
  80. ["-"] = tree_cb("dir_up"),
  81. ["q"] = tree_cb("close")
  82. }
  83. end
  84. return M