From: Georgios Atheridis Date: Sun, 5 Jun 2022 16:32:08 +0000 (+0300) Subject: added nvim tree and bufferline X-Git-Url: https://git.atheridis.org/?a=commitdiff_plain;h=48018d59ffaa5354f2fe71c5b0d7d37394b33660;p=configs%2Fneovim.git added nvim tree and bufferline --- diff --git a/nvim/init.lua b/nvim/init.lua index 7d38cb8..e57a557 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -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 index 0000000..5fd6322 --- /dev/null +++ b/nvim/lua/nvim/bufferline.lua @@ -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, + }, +} diff --git a/nvim/lua/nvim/keymaps.lua b/nvim/lua/nvim/keymaps.lua index f6e25cf..b4d10f1 100644 --- a/nvim/lua/nvim/keymaps.lua +++ b/nvim/lua/nvim/keymaps.lua @@ -30,7 +30,7 @@ nnoremap("", "j") nnoremap("", "k") nnoremap("", "l") -nnoremap("e", ":Lex 15") +nnoremap("e", ":NvimTreeToggle") -- Resize nnoremap("", ":vertical resize -2") diff --git a/nvim/lua/nvim/nvim-tree.lua b/nvim/lua/nvim/nvim-tree.lua new file mode 100644 index 0000000..1193898 --- /dev/null +++ b/nvim/lua/nvim/nvim-tree.lua @@ -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", "", "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 diff --git a/nvim/lua/nvim/plugins.lua b/nvim/lua/nvim/plugins.lua index c19abf1..6f76882 100644 --- a/nvim/lua/nvim/plugins.lua +++ b/nvim/lua/nvim/plugins.lua @@ -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 --