Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nyngwang/fzf-lua-projections.nvim
fzf-lua + projections.nvim
https://github.com/nyngwang/fzf-lua-projections.nvim
neovim nvim
Last synced: 3 months ago
JSON representation
fzf-lua + projections.nvim
- Host: GitHub
- URL: https://github.com/nyngwang/fzf-lua-projections.nvim
- Owner: nyngwang
- Archived: true
- Created: 2022-12-06T06:41:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-06T14:44:56.000Z (almost 2 years ago)
- Last Synced: 2024-04-16T03:06:03.327Z (7 months ago)
- Topics: neovim, nvim
- Language: Lua
- Homepage:
- Size: 9.77 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
fzf-lua-projections.nvim
==fzf-lua-projections.nvim will help you restoring any project session in a breeze
by facilitating my favorite plugin [`ibhagwan/fzf-lua`](https://github.com/ibhagwan/fzf-lua/)
and the new star project [`GnikDroy/projections.nvim`](https://github.com/GnikDroy/projections.nvim).btw, this repo was built with the help of projections.nvim and fzf-lua :)
## Demo.
https://user-images.githubusercontent.com/24765272/205894447-3d6d3726-5085-4e7f-830b-8f99c58a5289.mov
## Requirements.
- You will need to add this line to your init.lua
```lua
vim.opt.ssop:append({ 'localoptions' })
```
- For `ibhagwan/fzf-lua`: you don't need to add anything for this plugin. :)
- For `GnikDroy/projections.nvim`: you just need to read the following note.
- if you use neovim as the editor for terminal interactive `git` commands,
e.g `git commit` without any argument,
you have to ensure that you did add the guardian check `vim.fn.argc() == 0`
as indicated in [README.md of `GnikDroy/projections.nvim`](https://github.com/GnikDroy/projections.nvim#recommended-configuration):
```lua
-- auto-restore on start.
vim.api.nvim_create_autocmd({ 'VimEnter' }, {
-- group = 'YOUR_GROUP', -- it's recommended to use augroup.
pattern = '*',
callback = function ()
if -- neovim is not start by `nvim some_arg` or `git commit`.
vim.fn.argc() == 0 then
require('projections.session').restore(vim.loop.cwd())
end
end
})
```## Dependencies
- The dependencies of `ibhagwan/fzf-lua`: https://github.com/ibhagwan/fzf-lua#dependencies
- The dependencies of `GnikDroy/projections.nvim`: (not provided.)## Compatible with
- [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)
## Config. Example.
note: Actually, it's `fzf-lua-projections` requires `GnikDroy/projections.nvim`
```lua
use {
'GnikDroy/projections.nvim',
requires = {
-- add these two lines
'ibhagwan/fzf-lua', -- Customize the menu UI yourself from fzf-lua's setup.
'nyngwang/fzf-lua-projections.nvim', -- actually, it's that fzf-lua-projections requires projections,
-- I just want to make it compact :)
},
config = function ()
require('projections').setup {
-- ...
store_hooks = {
pre = function ()
-- if you use neo-tree.nvim, add these two lines to the `pre` of `store_hooks`.
vim.cmd('tabd Neotree close')
vim.cmd('tabn')
-- ...
end,
-- ...
},
}
-- just setup your `autocmd`s for projections.
-- ...
end
}-- the only keymap
vim.keymap.set('n', 'cp', function () require('fzf-lua-p').projects() end, NOREF_NOERR_TRUNC)
```