Closed molleweide closed 1 year ago
This is a very very impressive feature set but I'm curious about how adaptable/resistant DUI is to future changes. I'm a bit weary about maintaining another 5000 lines of code as I'm already pretty tight on time. Especially for something like this, unless reliability is 95%+ it might make things harder for the end user (reading docs that have two ways of doing same thing, frustrating when things only work sometimes, crashes cause user to restart neovim). That being said I'm still open to dui, if we can get it in a stable state and if the maintenance cost is low then i'd say it's a good thing to have. I have some questions that might help me understand the maintenance cost of
<module_name>.binds
to <module_name>.keybinds
what would need to be updated and in how many places / files?lua/doom/modules/ui/dui
, maybe just 2 lines on what it does and what it interacts with? I'm struggling a bit to understand the architecture.I had a test and found a few bugs, do you want me to post them here?
@connorgmeehan I shall answer your questions more in depth later today.
This PR is just a demo. This is the main PR https://github.com/NTBBloodbath/doom-nvim/pull/382. I added some more there notes there earlier.
Oh my bad, I'll have a read through the other PR hopefully this weekend
- How does dui handle new modules, will it automatically show them in the telescope finder?
yes 100% regardless if enabled or disabled. Checkout PR 382 with util/tree.lua
and module/utils.lua extend()
.
- How does dui handle changes to the modules API? For example if I renamed
<module_name>.binds
to<module_name>.keybinds
what would need to be updated and in how many places / files?
dui
is still wip so maybe in a handful of places, but the goal is only a single place.
- How resilient is dui to formatting differences, from what I understand it uses treesitter queries, even though we have an auto formatter we should still expect differences in code structure etc. As long as it doesn't crash basically.
I'm not sure I understand this question fully.
- How deeply coupled to the current telescope API is it? If telescope were to change the way you define pickers or handle selecting options what would need to be updated and in how many places? I would prefer to use the most stable version of telescope (as most user's would want that) than run an old version that's compatible with dui.
Should be 100% compatible.
- Could you also provide a little bit of documentation over the responsibilities of each file in
lua/doom/modules/ui/dui
, maybe just 2 lines on what it does and what it interacts with? I'm struggling a bit to understand the architecture.
I do this in PR #382
Oh my bad, I'll have a read through the other PR hopefully this weekend
Cool! No stress. I put a lot of stuff in the same PR but each commit should be understandable. I list the 3 most important files for you to checkout.
this is just a demo. look at
./modules.lua