This repository has been archived on 2022-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
telescope-vinegar.nvim/README.md

56 lines
1.9 KiB
Markdown
Raw Normal View History

2021-09-11 13:30:25 -05:00
# telescope-vinegar.nvim
A modified version of [Telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)'s built-in file browser with behavior inspired by [vim-vinegar](https://github.com/tpope/vim-vinegar) and [vim-filebeagle](https://github.com/jeetsukumaran/vim-filebeagle).
## Usage
File browser opens in the current buffer's directory in normal mode by default.
- `-` goes up a level to the parent directory
- `/` enters insert mode to search files
- `+` prompts for a new file name to create
- `h` toggles whether hidden files are displayed or not
## Installation
Install with packer (or similar equivalent package manager):
```lua
use 'rudism/telescope-vinegar.nvim'
```
Bind this to a key (I recommend `-`) and execute it to open the file browser in the current file's directory:
```lua
require('telescope').extensions.vinegar.file_browser()
```
2021-09-19 22:03:02 -05:00
## Example Config
The following config maps `-` to the file browser, disables `netrw`, and automatically opens the file browser when you launch nvim with a directory as the file argument (uses [plenary.nvim](https://github.com/nvim-lua/plenary.nvim)).
2021-09-19 22:03:02 -05:00
```lua
-- add keybinding
vim.api.nvim_set_keymap('n', '-',
'<cmd>lua require("telescope").extensions.vinegar.file_browser()<cr>',
{noremap = true})
-- disable netrw
vim.g['loaded_netrw'] = 1
-- create function to open file browser when opening a directory
_G.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
-- autocommand to run the above function when launching
vim.api.nvim_command('au VimEnter * call v:lua.browse_if_dir()')
```