evo-lua / evo-runtime

General-purpose Lua programming platform and developer toolkit
https://evo-lua.github.io
Mozilla Public License 2.0
12 stars 1 forks source link

Integrate libgit2 for better table and string diff computations #32

Open rdw-software opened 1 year ago

rdw-software commented 1 year ago

The current approach is hacky to say the least. For debugging failed assertions, a better diff output would be helpful.

Goals:

Possibly relevant:


Obviously, adding another dependency is hardly ideal. But I haven't found a simpler solution that "just works".

Additionally, relying on libgit2 instead of shelled-out git commands for the BuildTools module would make the changelog generation logic more portable, so that it could be used to implement a standalone changelog generator (for which I'd have other uses). Lastly, if a install (download/clone) command was to be implemented, it could also use this library.

rdw-software commented 1 year ago

Example for some better output format (TBD):

https://github.com/avajs/ava#magic-assert

rdw-software commented 8 months ago

While git would also enable cloning packages for #320 , neovim uses xdiff and that might be another option?

See https://github.com/neovim/neovim/blob/05fd70f19b39519985000141d022971e37d66189/src/nvim/lua/xdiff.c#L26