From 4d37817667ad9e310c81542846031ad2e21ae4de Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Sun, 31 Oct 2021 00:08:13 +0300 Subject: [PATCH] feat: add fern.vim --- init.lua | 6 ++++-- lua/config/devicons.lua | 1 - lua/config/fern.lua | 8 ++++++++ lua/config/reload.lua | 2 +- lua/config/telescope.lua | 2 +- lua/plugins.lua | 37 +++++++++++++++++++++++++------------ 6 files changed, 39 insertions(+), 17 deletions(-) delete mode 100644 lua/config/devicons.lua create mode 100644 lua/config/fern.lua diff --git a/init.lua b/init.lua index c6dd3cd..86fa0bd 100644 --- a/init.lua +++ b/init.lua @@ -12,8 +12,10 @@ g.maplocalleader = [[,]] -- Disable some built-in plugins we don't want local disabled_built_ins = { 'matchit', - 'netrw', - 'netrwPlugin', + 'netrw', + 'netrwPlugin', + 'netrwSettings', + 'netrwFileHandlers', } for _, name in ipairs(disabled_built_ins) do diff --git a/lua/config/devicons.lua b/lua/config/devicons.lua deleted file mode 100644 index 74f601b..0000000 --- a/lua/config/devicons.lua +++ /dev/null @@ -1 +0,0 @@ -require('nvim-web-devicons').setup() diff --git a/lua/config/fern.lua b/lua/config/fern.lua new file mode 100644 index 0000000..0d95c3b --- /dev/null +++ b/lua/config/fern.lua @@ -0,0 +1,8 @@ +local map = require 'utils.map' +local M = {} + +vim.g['fern#hide_cursor'] = true + +map('n', 'e', ':Fern . -drawer -reveal=% -toggle', {silent = true}) + +return M diff --git a/lua/config/reload.lua b/lua/config/reload.lua index 3ca56bd..f17fe27 100644 --- a/lua/config/reload.lua +++ b/lua/config/reload.lua @@ -1,4 +1,4 @@ local map = require 'utils.map' -map('n', 'rv', ':Restart', {silent = true}) +map('n', 'rc', ':Restart', {silent = true}) diff --git a/lua/config/telescope.lua b/lua/config/telescope.lua index df264a0..c27a32f 100644 --- a/lua/config/telescope.lua +++ b/lua/config/telescope.lua @@ -40,7 +40,7 @@ local silent = {silent = true} map('n', '', [[:lua require('config.telescope').project_files()]], silent) -- Edit neovim config -map('n', 'ev', [[:lua require('config.telescope').edit_config()]], silent) +map('n', 'ec', [[:lua require('config.telescope').edit_config()]], silent) -- Grep string map('n', 'fg', [[:lua require('telescope.builtin').live_grep()]], silent) diff --git a/lua/plugins.lua b/lua/plugins.lua index a7c3565..bfd3bd2 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -1,3 +1,4 @@ + local function usePlugins(use) -- Packer can manage itself use 'wbthomason/packer.nvim' @@ -6,13 +7,10 @@ local function usePlugins(use) -- Temporary solution before PR gets merges. https://github.com/neovim/neovim/pull/15436 use 'lewis6991/impatient.nvim' - -- Various lua utilities - use 'nvim-lua/plenary.nvim' - -- Reload lua configs use { 'famiu/nvim-reload', - requires = { {'nvim-lua/plenary.nvim'} }, + requires = { 'nvim-lua/plenary.nvim' }, config = [[require 'config.reload']] } @@ -29,19 +27,15 @@ local function usePlugins(use) run = ':TSUpdate' } - -- Emoji file icons - use { 'kyazdani42/nvim-web-devicons', config = [[require 'config.devicons']] } - -- Fuzzy file finder - use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } use { 'nvim-telescope/telescope.nvim', config = [[require 'config.telescope']], requires = { - {'nvim-lua/plenary.nvim'}, - {'nvim-treesitter/nvim-treesitter'}, - {'kyazdani42/nvim-web-devicons', opt = true}, - {'nvim-telescope/telescope-fzf-native.nvim', opt = true} + 'nvim-lua/plenary.nvim', + 'nvim-treesitter/nvim-treesitter', + {'kyazdani42/nvim-web-devicons', config = [[require('nvim-web-devicons').setup()]]}, + {'nvim-telescope/telescope-fzf-native.nvim', run = 'make'} } } @@ -59,6 +53,25 @@ local function usePlugins(use) use { 'unblevable/quick-scope', config = [[require 'config.quickscope']] } use 'michaeljsmith/vim-indent-object' + -- File browser + -- use 'tpope/vim-vinegar' + use { + 'lambdalisue/fern.vim', + config = [[require 'config.fern']], + requires = { + 'antoinemadec/FixCursorHold.nvim', + 'lambdalisue/fern-hijack.vim', + {'lambdalisue/fern-renderer-nerdfont.vim', config = [[vim.g["fern#renderer"] = "nerdfont"]]}, + 'lambdalisue/nerdfont.vim' + } + } + + -- UNIX commands + use 'tpope/vim-eunuch' + + -- Movement utilities + use 'tpope/vim-unimpaired' + -- Color themes use 'morhetz/gruvbox' use 'tomasr/molokai'