init.lua 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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_show_icons = {
  20. git = 1,
  21. folders = 1,
  22. files = 1,
  23. folder_arrows = 0
  24. }
  25. vim.g.nvim_tree_icons = {
  26. default = '',
  27. symlink = '',
  28. git = {
  29. unstaged = "",
  30. staged = "S",
  31. unmerged = "",
  32. renamed = "➜",
  33. deleted = "",
  34. untracked = "U",
  35. ignored = "◌"
  36. },
  37. folder = {
  38. default = "",
  39. open = "",
  40. empty = "",
  41. empty_open = "",
  42. symlink = ""
  43. }
  44. }
  45. local tree_cb = require"nvim-tree.config".nvim_tree_callback
  46. g.nvim_tree_bindings = {
  47. ["u"] = ":lua require'some_module'.some_function()<cr>",
  48. ["<CR>"] = tree_cb("edit"),
  49. ["l"] = tree_cb("edit"),
  50. ["o"] = tree_cb("edit"),
  51. ["h"] = tree_cb("close_node"),
  52. ["<2-LeftMouse>"] = tree_cb("edit"),
  53. ["<2-RightMouse>"] = tree_cb("cd"),
  54. ["<C-]>"] = tree_cb("cd"),
  55. ["<C-v>"] = tree_cb("vsplit"),
  56. ["v"] = tree_cb("vsplit"),
  57. ["<C-x>"] = tree_cb("split"),
  58. ["<C-t>"] = tree_cb("tabnew"),
  59. ["<"] = tree_cb("prev_sibling"),
  60. [">"] = tree_cb("next_sibling"),
  61. ["<BS>"] = tree_cb("close_node"),
  62. ["<S-CR>"] = tree_cb("close_node"),
  63. ["<Tab>"] = tree_cb("preview"),
  64. ["I"] = tree_cb("toggle_ignored"),
  65. ["H"] = tree_cb("toggle_dotfiles"),
  66. ["R"] = tree_cb("refresh"),
  67. ["a"] = tree_cb("create"),
  68. ["d"] = tree_cb("remove"),
  69. ["r"] = tree_cb("rename"),
  70. ["<C-r>"] = tree_cb("full_rename"),
  71. ["x"] = tree_cb("cut"),
  72. ["c"] = tree_cb("copy"),
  73. ["p"] = tree_cb("paste"),
  74. ["y"] = tree_cb("copy_name"),
  75. ["Y"] = tree_cb("copy_path"),
  76. ["gy"] = tree_cb("copy_absolute_path"),
  77. ["[c"] = tree_cb("prev_git_item"),
  78. ["]c"] = tree_cb("next_git_item"),
  79. ["-"] = tree_cb("dir_up"),
  80. ["q"] = tree_cb("close")
  81. }
  82. end
  83. return M