Spec2
This PR add support for rendering the s/schema and s/select forms used in Clojure Spec 2.
Support for Clojure Spec 2 has been added to the Orchard here: https://github.com/clojure-emacs/orchard/pull/163
Before submitting the PR make sure the following things have been done (and denote this by checking the relevant checkboxes):
- [x] The commits are consistent with our contribution guidelines
- [x] You've added tests (if possible) to cover your change(s)
- [x] All tests are passing (
eldev test) - [x] All code passes the linter (
eldev lint) which is based onelisp-lintand includes- byte-compilation,
checkdoc, check-declare, packaging metadata, indentation, and trailing whitespace checks.
- byte-compilation,
- [x] You've updated the changelog (if adding/changing user-visible functionality)
- [x] You've updated the user manual (if adding/changing user-visible functionality)
You might consider also extending the docs here a little bit https://docs.cider.mx/cider/usage/misc_features.html#browsing-the-clojure-spec-registry and mention that Spec 2 is now also supported, plus some of the pitfalls of mixing spec versions.
Potentially we can move the Spec stuff to a dedicated page if we end up having more spec-relation functionality.
@bbatsov I added a section about Clojure Spec versions to the docs. Regarding the use of the cl- functions, I don't mind, but let's do it in another PR? It's not only used in this new code, but in a lot of other places. And changing all of them might be a bit out of scope for this PR. Wdyt?
Yeah, that's fine.
@bbatsov This one would be ready from my side. Would you like to take another look please?
I think the code is in a good shape, but we need to cut new orchard and cider-nrepl releases before I can merge this PR. Now that we've decided how to proceed we'll haystack I'll do this soon.