diff --git a/lua/core/globals.lua b/lua/core/globals.lua index 37d6c27..a351514 100644 --- a/lua/core/globals.lua +++ b/lua/core/globals.lua @@ -17,3 +17,6 @@ vim.g.mapleader = " " vim.g.vimsyn_embed = "1" vim.fn.execute("language en_US.utf-8") +-- Fix race condition in nvim-tree +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 \ No newline at end of file diff --git a/lua/plugins/config/tree.lua b/lua/plugins/config/tree.lua new file mode 100644 index 0000000..2f66c71 --- /dev/null +++ b/lua/plugins/config/tree.lua @@ -0,0 +1,72 @@ +--[[ + Copyright 2023 Oscar Wallberg + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +]] + +-- https://github.com/nvim-tree/nvim-tree.lua + +require("nvim-tree").setup({ + sync_root_with_cwd = true, + view = { + width = 40, + preserve_window_proportions = true, + }, + renderer = { + add_trailing = true, + group_empty = true, + highlight_git = true, + indent_markers = { + enable = true, + }, + icons = { + git_placement = "after", + show = { + folder_arrow = true, + }, + }, + }, + update_focused_file = { + enable = true, + update_root = true, + ignore_list = { + "help", + }, + }, + diagnostics = { + enable = true, + show_on_dirs = false, + }, + actions = { + change_dir = { + enable = false, + }, + open_file = { + resize_window = true, + }, + }, + filters = { + custom = { "^\\.git$", }, + }, + notify = { + threshold = vim.log.levels.WARN, + absolute_path = false, + }, +}) + +local opts = { remap = false, silent = true, } +vim.keymap.set( + "n", "tt", + function () require("nvim-tree.api").tree.toggle() end, + opts +) diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 88e695a..a87dc09 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -177,6 +177,10 @@ local plugins = { lazy = true, ft = { "jenkinsfile", "Jenkinsfile", }, }, + { + "kyazdani42/nvim-tree.lua", + config = function () require("plugins.config.tree") end, + }, { "dstein64/vim-startuptime", lazy = true,