diff --git a/nvim/lua/autocmd.lua b/nvim/lua/autocmd.lua index b9ceef4..bd7d8aa 100644 --- a/nvim/lua/autocmd.lua +++ b/nvim/lua/autocmd.lua @@ -1,6 +1,3 @@ --- launch file browser when opening on a directory -vim.api.nvim_command('au VimEnter * lua require("userfuncs").browse_if_dir()') - -- recognize csx files as csharp vim.api.nvim_command('au BufRead,BufNewFile *.csx set filetype=cs') diff --git a/nvim/lua/keybindings.lua b/nvim/lua/keybindings.lua index 9222a1e..ee132d1 100644 --- a/nvim/lua/keybindings.lua +++ b/nvim/lua/keybindings.lua @@ -12,7 +12,7 @@ vim.api.nvim_set_keymap('i', '', 'gk', snoremap) vim.api.nvim_set_keymap('i', '', 'gj', snoremap) -- file navigation -vim.api.nvim_set_keymap('n', '-', 'lua require("telescope").extensions.vinegar.file_browser()', noremap) +vim.api.nvim_set_keymap('n', '-', ':Telescope file_browser', noremap) vim.api.nvim_set_keymap('n', '', 'b#', noremap) vim.api.nvim_set_keymap('i', '', 'b#', noremap) vim.api.nvim_set_keymap('n', '-', 'lua require("telescope.builtin").find_files('..cwdopt..')', noremap) diff --git a/nvim/lua/plugins-conf.lua b/nvim/lua/plugins-conf.lua index c53ca51..3db86a9 100644 --- a/nvim/lua/plugins-conf.lua +++ b/nvim/lua/plugins-conf.lua @@ -37,16 +37,64 @@ require('luasnip.loaders.from_snipmate').lazy_load({ }) -- replace built in selector with telescope +local fb_actions = require'telescope'.extensions.file_browser.actions require('telescope').setup { extensions = { ["ui-select"] = { - require("telescope.themes").get_dropdown { - -- even more opts - } - } + require("telescope.themes").get_dropdown {} + }, + file_browser = { + initial_mode = "normal", + hijack_netrw = true, + dir_icon = "", + mappings = { + ["i"] = { + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + [""] = false, + }, + ["n"] = { + c = false, + r = false, + m = false, + y = false, + d = false, + o = false, + g = false, + e = false, + w = false, + t = false, + f = false, + h = false, + s = false, + [""] = false, + [""] = false, + ["-"] = fb_actions.goto_parent_dir, + ["/"] = function() + vim.cmd('startinsert') + end, + ["+"] = fb_actions.create, + }, + }, + }, } } require('telescope').load_extension('ui-select') +require('telescope').load_extension('file_browser') -- autocomplete config local cmp = require 'cmp' @@ -203,7 +251,7 @@ require'lualine'.setup { lualine_x = {{ "diagnostics", sources = {"nvim_lsp"}, - icons_enabled = false + icons_enabled = true }}, lualine_y = {'progress'}, lualine_z = {'location'}, diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 7ab8024..22f0cd6 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -2,6 +2,7 @@ return require('packer').startup(function() local pid = vim.fn.getpid() use 'wbthomason/packer.nvim' -- plugin manager + use 'nvim-tree/nvim-web-devicons' -- file icons use 'rktjmp/lush.nvim' use { -- color scheme 'catppuccin/nvim', @@ -35,7 +36,6 @@ return require('packer').startup(function() use 'Pocco81/TrueZen.nvim' -- distraction free writing use 'https://code.sitosis.com/rudism/telescope-dict.nvim.git' -- thesaurus and dictionary use 'nvim-telescope/telescope-file-browser.nvim' -- file picker - use 'https://code.sitosis.com/rudism/telescope-vinegar.nvim.git' -- thesaurus and dictionary use 'tpope/vim-dadbod' -- database query runner use 'tpope/vim-dotenv' -- .env configuration support use 'kristijanhusak/vim-dadbod-completion' -- sql completion diff --git a/nvim/lua/userfuncs.lua b/nvim/lua/userfuncs.lua index e5c1199..4f06616 100644 --- a/nvim/lua/userfuncs.lua +++ b/nvim/lua/userfuncs.lua @@ -25,17 +25,6 @@ local rootfiles = { '*.sln' } -M.browse_if_dir = function() - if require('plenary.path'):new(vim.fn.expand('%:p')):is_dir() then - local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_buf_set_option(buf, 'buftype', 'nofile') - vim.api.nvim_buf_set_option(buf, 'buflisted', false) - vim.api.nvim_buf_set_option(buf, 'swapfile', false) - vim.api.nvim_buf_set_option(buf, 'bufhidden', 'hide') - require('telescope').extensions.vinegar.file_browser() - end -end - M.find_project_root = function() local stop_at = parent_dir(os.getenv('HOME')) local cwd = vim.fn.expand('%:p:h')