added nvim tree and bufferline
authorGeorgios Atheridis <atheridis@tutamail.com>
Sun, 5 Jun 2022 16:32:08 +0000 (19:32 +0300)
committerGeorgios Atheridis <atheridis@tutamail.com>
Sun, 5 Jun 2022 16:32:08 +0000 (19:32 +0300)
nvim/init.lua
nvim/lua/nvim/bufferline.lua [new file with mode: 0644]
nvim/lua/nvim/keymaps.lua
nvim/lua/nvim/nvim-tree.lua [new file with mode: 0644]
nvim/lua/nvim/plugins.lua

index 7d38cb8105cdf527ea7469c3ba6a2c717ee4b8d4..e57a557634c6da1a965eb11c6b771479ca780284 100644 (file)
@@ -7,3 +7,5 @@ require("nvim.lsp")
 require("nvim.autopairs")
 require("nvim.treesitter")
 require("nvim.gitsigns")
+require("nvim.nvim-tree")
+require("nvim.bufferline")
diff --git a/nvim/lua/nvim/bufferline.lua b/nvim/lua/nvim/bufferline.lua
new file mode 100644 (file)
index 0000000..5fd6322
--- /dev/null
@@ -0,0 +1,27 @@
+local status_ok, bufferline = pcall(require, "bufferline")
+if not status_ok then
+       return
+end
+
+bufferline.setup {
+       options = {
+               numbers = "none",
+               close_command = "Bdelete! %d",
+               right_mouse_command = "Bdelete! %d",
+               left_mouse_command = "buffer %d",
+               max_name_length = 30,
+               max_prefix_length = 30,
+               tab_size = 21,
+               diagnostics = true,
+               diagnostics_update_in_insert = true,
+               offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
+               show_buffer_icons = true,
+               show_buffer_close_icons = true,
+               show_close_icon = true,
+               show_tab_indicators = true,
+               persist_buffer_sort = true,
+               separator_style = "thin",
+               enforce_regular_tabs = true,
+               always_show_bufferline = true,
+       },
+}
index f6e25cf28939edea9785aa38bbb5d32789a0414f..b4d10f10228456f7109b10ea429ad07fea8fc7e1 100644 (file)
@@ -30,7 +30,7 @@ nnoremap("<C-j>", "<C-w>j")
 nnoremap("<C-k>", "<C-w>k")
 nnoremap("<C-l>", "<C-w>l")
 
-nnoremap("<leader>e", ":Lex 15<CR>")
+nnoremap("<leader>e", ":NvimTreeToggle<CR>")
 
 -- Resize
 nnoremap("<M-h>", ":vertical resize -2<CR>")
diff --git a/nvim/lua/nvim/nvim-tree.lua b/nvim/lua/nvim/nvim-tree.lua
new file mode 100644 (file)
index 0000000..1193898
--- /dev/null
@@ -0,0 +1,182 @@
+local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
+if not config_status_ok then
+       return
+end
+
+local tree_cb = nvim_tree_config.nvim_tree_callback
+
+-- setup with all defaults
+-- each of these are documented in `:help nvim-tree.OPTION_NAME`
+-- nested options are documented by accessing them with `.` (eg: `:help nvim-tree.view.mappings.list`).
+require'nvim-tree'.setup { -- BEGIN_DEFAULT_OPTS
+  auto_reload_on_write = true,
+  create_in_closed_folder = false,
+  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_setup_file = false,
+  open_on_tab = false,
+  sort_by = "name",
+  update_cwd = false,
+  reload_on_bufenter = false,
+  respect_buf_cwd = false,
+  view = {
+    adaptive_size = false,
+    width = 20,
+    height = 30,
+    hide_root_folder = false,
+    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 = {
+    add_trailing = false,
+    group_empty = false,
+    highlight_git = false,
+    highlight_opened_files = "none",
+    root_folder_modifier = ":~",
+    indent_markers = {
+      enable = false,
+      icons = {
+        corner = "└ ",
+        edge = "│ ",
+        item = "│ ",
+        none = "  ",
+      },
+    },
+    icons = {
+      webdev_colors = true,
+      git_placement = "before",
+      padding = " ",
+      symlink_arrow = " ➛ ",
+      show = {
+        file = true,
+        folder = true,
+        folder_arrow = true,
+        git = true,
+      },
+      glyphs = {
+        default = "",
+        symlink = "",
+        folder = {
+          arrow_closed = "",
+          arrow_open = "",
+          default = "",
+          open = "",
+          empty = "",
+          empty_open = "",
+          symlink = "",
+          symlink_open = "",
+        },
+        git = {
+          unstaged = "✗",
+          staged = "✓",
+          unmerged = "",
+          renamed = "➜",
+          untracked = "★",
+          deleted = "",
+          ignored = "◌",
+        },
+      },
+    },
+    special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
+  },
+  hijack_directories = {
+    enable = true,
+    auto_open = true,
+  },
+  update_focused_file = {
+    enable = false,
+    update_cwd = false,
+    ignore_list = {},
+  },
+  ignore_ft_on_setup = {},
+  system_open = {
+    cmd = "",
+    args = {},
+  },
+  diagnostics = {
+    enable = true,
+    show_on_dirs = true,
+    icons = {
+      hint = "",
+      info = "",
+      warning = "",
+      error = "",
+    },
+  },
+  filters = {
+    dotfiles = false,
+    custom = {},
+    exclude = {},
+  },
+  filesystem_watchers = {
+    enable = false,
+    interval = 100,
+  },
+  git = {
+    enable = true,
+    ignore = true,
+    timeout = 400,
+  },
+  actions = {
+    use_system_clipboard = true,
+    change_dir = {
+      enable = true,
+      global = false,
+      restrict_above_cwd = false,
+    },
+    expand_all = {
+      max_folder_discovery = 300,
+    },
+    open_file = {
+      quit_on_open = false,
+      resize_window = true,
+      window_picker = {
+        enable = true,
+        chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
+        exclude = {
+          filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
+          buftype = { "nofile", "terminal", "help" },
+        },
+      },
+    },
+    remove_file = {
+      close_window = true,
+    },
+  },
+  trash = {
+    cmd = "trash",
+    require_confirm = true,
+  },
+  live_filter = {
+    prefix = "[FILTER]: ",
+    always_show_folders = true,
+  },
+  log = {
+    enable = false,
+    truncate = false,
+    types = {
+      all = false,
+      config = false,
+      copy_paste = false,
+      diagnostics = false,
+      git = false,
+      profile = false,
+      watcher = false,
+    },
+  },
+} -- END_DEFAULT_OPTS
index c19abf1db7fb754b957e464cbe0abbd0769ca350..6f768826bf93585eaf3dab41007dbec02d69aa44 100644 (file)
@@ -113,6 +113,21 @@ return packer.startup(function(use)
                -- Git
                use "lewis6991/gitsigns.nvim"
 
+               -- NvimTree
+               use { "kyazdani42/nvim-tree.lua",
+                       requires = {
+                       "kyazdani42/nvim-web-devicons"
+                       },
+               }
+
+               -- Bufferline
+               use { "akinsho/bufferline.nvim",
+                       requires = {
+                       "kyazdani42/nvim-web-devicons"
+                       },
+               }
+               use "moll/vim-bbye"
+
     -- PLUGINS END --