Last active
July 5, 2022 09:00
-
-
Save FScoward/20f0f78321c2e763c83e0337766ea86c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- This file can be loaded by calling `lua require('plugins')` from your init.vim | |
-- Only required if you have packer configured as `opt` | |
vim.cmd [[packadd packer.nvim]] | |
return require('packer').startup(function() | |
-- Packer can manage itself | |
use 'wbthomason/packer.nvim' | |
use "EdenEast/nightfox.nvim" -- Packer | |
use { | |
'nvim-lualine/lualine.nvim', | |
requires = { 'kyazdani42/nvim-web-devicons', opt = true } | |
} | |
use { | |
"nvim-neo-tree/neo-tree.nvim", | |
branch = "v2.x", | |
requires = { | |
"nvim-lua/plenary.nvim", | |
"kyazdani42/nvim-web-devicons", -- not strictly required, but recommended | |
"MunifTanjim/nui.nvim", | |
{ | |
-- only needed if you want to use the commands with "_with_window_picker" suffix | |
's1n7ax/nvim-window-picker', | |
tag = "1.*", | |
config = function() | |
require'window-picker'.setup({ | |
autoselect_one = true, | |
include_current = false, | |
filter_rules = { | |
-- filter using buffer options | |
bo = { | |
-- if the file type is one of following, the window will be ignored | |
filetype = { 'neo-tree', "neo-tree-popup", "notify", "quickfix" }, | |
-- if the buffer type is one of following, the window will be ignored | |
buftype = { 'terminal' }, | |
}, | |
}, | |
other_win_hl_color = '#e35e4f', | |
}) | |
end, | |
} | |
}, | |
config = function () | |
-- Unless you are still migrating, remove the deprecated commands from v1.x | |
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]]) | |
-- If you want icons for diagnostic errors, you'll need to define them somewhere: | |
vim.fn.sign_define("DiagnosticSignError", | |
{text = " ", texthl = "DiagnosticSignError"}) | |
vim.fn.sign_define("DiagnosticSignWarn", | |
{text = " ", texthl = "DiagnosticSignWarn"}) | |
vim.fn.sign_define("DiagnosticSignInfo", | |
{text = " ", texthl = "DiagnosticSignInfo"}) | |
vim.fn.sign_define("DiagnosticSignHint", | |
{text = "", texthl = "DiagnosticSignHint"}) | |
-- NOTE: this is changed from v1.x, which used the old style of highlight groups | |
-- in the form "LspDiagnosticsSignWarning" | |
require("neo-tree").setup({ | |
close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab | |
popup_border_style = "rounded", | |
enable_git_status = true, | |
enable_diagnostics = true, | |
sort_case_insensitive = false, -- used when sorting files and directories in the tree | |
sort_function = nil , -- use a custom function for sorting files and directories in the tree | |
-- sort_function = function (a,b) | |
-- if a.type == b.type then | |
-- return a.path > b.path | |
-- else | |
-- return a.type > b.type | |
-- end | |
-- end , -- this sorts files and directories descendantly | |
default_component_configs = { | |
container = { | |
enable_character_fade = true | |
}, | |
indent = { | |
indent_size = 2, | |
padding = 1, -- extra padding on left hand side | |
-- indent guides | |
with_markers = true, | |
indent_marker = "│", | |
last_indent_marker = "└", | |
highlight = "NeoTreeIndentMarker", | |
-- expander config, needed for nesting files | |
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders | |
expander_collapsed = "", | |
expander_expanded = "", | |
expander_highlight = "NeoTreeExpander", | |
}, | |
icon = { | |
folder_closed = "", | |
folder_open = "", | |
folder_empty = "ﰊ", | |
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there | |
-- then these will never be used. | |
default = "*", | |
highlight = "NeoTreeFileIcon" | |
}, | |
modified = { | |
symbol = "[+]", | |
highlight = "NeoTreeModified", | |
}, | |
name = { | |
trailing_slash = false, | |
use_git_status_colors = true, | |
highlight = "NeoTreeFileName", | |
}, | |
git_status = { | |
symbols = { | |
-- Change type | |
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name | |
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name | |
deleted = "✖",-- this can only be used in the git_status source | |
renamed = "",-- this can only be used in the git_status source | |
-- Status type | |
untracked = "", | |
ignored = "", | |
unstaged = "", | |
staged = "", | |
conflict = "", | |
} | |
}, | |
}, | |
window = { | |
position = "left", | |
width = 40, | |
mapping_options = { | |
noremap = true, | |
nowait = true, | |
}, | |
mappings = { | |
["<space>"] = { | |
"toggle_node", | |
nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use | |
}, | |
["<2-LeftMouse>"] = "open", | |
["<cr>"] = "open", | |
["S"] = "open_split", | |
["s"] = "open_vsplit", | |
-- ["S"] = "split_with_window_picker", | |
-- ["s"] = "vsplit_with_window_picker", | |
["t"] = "open_tabnew", | |
["w"] = "open_with_window_picker", | |
["C"] = "close_node", | |
["a"] = { | |
"add", | |
-- some commands may take optional config options, see `:h neo-tree-mappings` for details | |
config = { | |
show_path = "none" -- "none", "relative", "absolute" | |
} | |
}, | |
["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". | |
["d"] = "delete", | |
["r"] = "rename", | |
["y"] = "copy_to_clipboard", | |
["x"] = "cut_to_clipboard", | |
["p"] = "paste_from_clipboard", | |
["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add": | |
-- ["c"] = { | |
-- "copy", | |
-- config = { | |
-- show_path = "none" -- "none", "relative", "absolute" | |
-- } | |
--} | |
["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add". | |
["q"] = "close_window", | |
["R"] = "refresh", | |
["?"] = "show_help", | |
} | |
}, | |
nesting_rules = {}, | |
filesystem = { | |
filtered_items = { | |
visible = false, -- when true, they will just be displayed differently than normal items | |
hide_dotfiles = true, | |
hide_gitignored = true, | |
hide_hidden = true, -- only works on Windows for hidden files/directories | |
hide_by_name = { | |
--"node_modules" | |
}, | |
hide_by_pattern = { -- uses glob style patterns | |
--"*.meta" | |
}, | |
never_show = { -- remains hidden even if visible is toggled to true | |
--".DS_Store", | |
--"thumbs.db" | |
}, | |
}, | |
follow_current_file = false, -- This will find and focus the file in the active buffer every | |
-- time the current file is changed while the tree is open. | |
group_empty_dirs = false, -- when true, empty folders will be grouped together | |
hijack_netrw_behavior = "open_default", -- netrw disabled, opening a directory opens neo-tree | |
-- in whatever position is specified in window.position | |
-- "open_current", -- netrw disabled, opening a directory opens within the | |
-- window like netrw would, regardless of window.position | |
-- "disabled", -- netrw left alone, neo-tree does not handle opening dirs | |
use_libuv_file_watcher = false, -- This will use the OS level file watchers to detect changes | |
-- instead of relying on nvim autocmd events. | |
window = { | |
mappings = { | |
["<bs>"] = "navigate_up", | |
["."] = "set_root", | |
["H"] = "toggle_hidden", | |
["/"] = "fuzzy_finder", | |
["f"] = "filter_on_submit", | |
["<c-x>"] = "clear_filter", | |
["[g"] = "prev_git_modified", | |
["]g"] = "next_git_modified", | |
} | |
} | |
}, | |
buffers = { | |
follow_current_file = true, -- This will find and focus the file in the active buffer every | |
-- time the current file is changed while the tree is open. | |
group_empty_dirs = true, -- when true, empty folders will be grouped together | |
show_unloaded = true, | |
window = { | |
mappings = { | |
["bd"] = "buffer_delete", | |
["<bs>"] = "navigate_up", | |
["."] = "set_root", | |
} | |
}, | |
}, | |
git_status = { | |
window = { | |
position = "float", | |
mappings = { | |
["A"] = "git_add_all", | |
["gu"] = "git_unstage_file", | |
["ga"] = "git_add_file", | |
["gr"] = "git_revert_file", | |
["gc"] = "git_commit", | |
["gp"] = "git_push", | |
["gg"] = "git_commit_and_push", | |
} | |
} | |
} | |
}) | |
vim.cmd([[nnoremap \ :Neotree reveal<cr>]]) | |
end | |
} | |
-- install without yarn or npm | |
use({ | |
"iamcco/markdown-preview.nvim", | |
run = function() vim.fn["mkdp#util#install"]() end, | |
}) | |
use { | |
'nvim-telescope/telescope.nvim', | |
requires = { {'nvim-lua/plenary.nvim'} } | |
} | |
use({'mrjones2014/legendary.nvim'}) | |
use "lukas-reineke/indent-blankline.nvim" | |
use 'rgroli/other.nvim' | |
use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } | |
use 'sidebar-nvim/sidebar.nvim' | |
use {"akinsho/toggleterm.nvim", tag = 'v1.*', config = function() | |
require("toggleterm").setup{ | |
} | |
end | |
} | |
use {'stevearc/dressing.nvim'} | |
use { | |
"SmiteshP/nvim-gps", | |
requires = "nvim-treesitter/nvim-treesitter" | |
} | |
end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment