ldelossa / litee.nvim

A framework for building Neovim plugins
409 stars 14 forks source link

Modularize litee into a library #80

Closed ldelossa closed 2 years ago

ldelossa commented 2 years ago

A lot of community discussion resulted in an large request to break litee.nvim into a library and create segmented plugins. This ensures litee.nvim does not become a monolith and also allows others to "plug" into the litee.nvim panel, state, notifications, etc... in a decoupled way.

This PR is the first (and major) step toward supporting that. A new "lib" directory is created and all the code is refactored such that features/plugins require the necessary library modules to implement themselves into litee.nvim.

This PR keeps symboltree, filetree, and calltree within the repository for now, however each feature/plugin now has it's own setup function and it's own config object (tho all are very similar).

The litee.nvim library also grows it's own config object to change how the tree is marshaled or whether to enable/disable notifications at a global level, etc...

The ultimate goal here is to remove symbol/file/calltree plugins from this repository and break them into their own repos moving forward. All new litee.nvim features will exist in their own repositories so the community can "pick-and-choose" what they'd like to use.

Edit:

All plugins now reside in their own repositories:

https://github.com/ldelossa/litee-calltree.nvim https://github.com/ldelossa/litee-symboltree.nvim https://github.com/ldelossa/litee-filetree.nvim