You can see the difference in emacs between the ReadableColumn protocol and the RowBuilder protocol, that in RowBuilder it sees the docstring as a docstring.
In intellij it's much more dire because it messes with resolution of functions and classes in the definition and also interferes with locations that call this function:
The issue appears to be that both editors expect :extend-via-metadata true to come after the docstring, not before. The docs seem to indicate this is the expected order, too, which is probably why the editors are expecting this order even though clojure seems to accept either order.
Expected behavior
Expected the protocol to render correctly and for editors to support how they're defined.
Stacktraces
Not relevant.
project.clj/deps.edn
Not really relevant.
Environment (please complete the following information):
Describe the bug
The order of args in the call to
(defprotocol ReadableColumn ....
makes both emacs and intellij unhappy.https://github.com/seancorfield/next-jdbc/blob/develop/src/next/jdbc/result_set.clj#L109-L131
To Reproduce
You can see the difference in emacs between the ReadableColumn protocol and the RowBuilder protocol, that in RowBuilder it sees the docstring as a docstring.
In intellij it's much more dire because it messes with resolution of functions and classes in the definition and also interferes with locations that call this function:
The issue appears to be that both editors expect
:extend-via-metadata true
to come after the docstring, not before. The docs seem to indicate this is the expected order, too, which is probably why the editors are expecting this order even though clojure seems to accept either order.Expected behavior
Expected the protocol to render correctly and for editors to support how they're defined.
Stacktraces
Not relevant.
project.clj/deps.edn
Not really relevant.
Environment (please complete the following information):
I guess this could be relevant?
Additional context
None.