rodjek / vim-puppet

Puppet niceties for your Vim setup
Apache License 2.0
501 stars 137 forks source link

vader.vim seems to be abandoned #150

Closed lelutin closed 1 week ago

lelutin commented 3 weeks ago

We're using vader.vim to write tests for this module but it seems to be abandoned by the author for a couple years by now. see https://github.com/junegunn/vader.vim/issues/221

vader.vim still works as it is, but it could benefit from some added features like being able to skip a test under some condition...

We may want to change the test suite to some alternative that's still maintained.

The most viable alternative that I've seen so far is vim-themis. We'll have to change the tests to spec-style syntax though (or we could also use the "basic" style where tests are just plain vimscript functions that should raise an exception when a test is failed).

lelutin commented 1 week ago

note: code was pushed to vader.vim 5 months ago so I've poked the plugin author to see what's their take on the future of the plugin

lelutin commented 1 week ago

I got a reply from junegunn in the vader issue. basically the vader code is there and still works but it won't get significant changes.

so we can still use it without issues and our tests will still behave as expected.

but that last part about not changing is a bit unfortunate since there are changes that would make things so much better, like the PR that adds context to which assertion failed in a test -- currenlty we need to add context by ourselves on all of the assertions with a custom message which is pretty cumbersome ; and the other PR that would add SkipIf is currently something that would be handy.

The most convincing alternative to vader.vim is vim-themis, but from what I can currently see in its documentation, it doesn't have helper functions for testing syntax highlighting, it's rather unclear to me how to give it an arbitrary text file as fixture, and I'm not sure how we could write the same style of integration tests that we have here, basically running some [n]vim command on the fixture.

So I think we should stick with vader.vim for now. And if we eventually want to have the listed missing features above, then we can fork the module and work with that fork, but I'm not currently willing to maintain a fork of vader.vim all by my own.

So I'll close this issue since I don't think I'll investigate this much further for now