Comments (4)
Hi @winks, thanks for this. cursive-ide/cursive#295 is wanting to do a similar thing in IntelliJ. Is there a common external tool format between Eclipse and IntelliJ that would make this reusable for both? (I know that's a tall ask) @cursiveclojure might have some thoughts on this too.
Regarding your patch:
- It would be more robust and concise to create the XML with an XML library rather than building strings by hand
convert-to-path
won't give the correct result for Clojure files that aren't in a src/ directory, or have a different extension to .clj- Can you clean up the debugging statements?
- If there is no common format between IntelliJ and Eclipse then this should be a
cinder-xml
reporter - I wonder whether this would be more suitable in it's own lein plugin. You could use all of the code from kibit as a library, but maintain your cinder reporter separately. My concern is that not enough people are using cinder to take it on as an additional reporter to support.
What are your thoughts?
from kibit.
Yay, an answer :)
Not duplicating effort is always welcome, but I haven't even used the stuff myself for years, plus in retrospect that code I wrote 2 years ago is pretty ugly (re your comments).
And you're definitely correct about using kibit as a library, but it's a bit of a chicken-egg-problem of discoverability, so I thought I'd help the eclipse users out there.
I'll think about this and keep an eye on that other bug.
from kibit.
Interesting approach. I'm hoping to provide something more integrated for Cursive, and unfortunately that means that the code is very hard to share. Cursive doesn't use standard Clojure forms, it uses internal types that mimic them since it has to extend IntelliJ base classes. I'd really like to do a proper integration in Cursive, because then you'll have all the warnings marked in the editor and be able to fix them on the fly with proper formatting and so on - that's really what you want. Additionally since Cursive can resolve symbols it can provide inspections that Kibit can't, for example:
(if-let [test (something)]
...)
can be turned into
(if (something)
...)
If test is never referred to.
from kibit.
I'll close this for now, I don't think IntelliJ and Eclipse will meet in the middle on this one. @winks if you do want to build a lein plugin I'd be happy to put a link to it in the kibit README like the emacs instructions. I don't think you'd lose discoverability if your eclipse-kibit plugin is documented on the kibit repo.
from kibit.
Related Issues (20)
- deps.edn / clj support HOT 6
- Faulty suggestions for do in vector HOT 2
- Check failures exit with 0
- Need a possibility for Check failures to return exit code 0 with findings HOT 4
- Release the new version with :repository tag
- Faulty rule for not empty HOT 8
- namespace docstrings break kibit... HOT 8
- Kibit evaluates and runs code it parses with no option to disable it HOT 1
- Kibit chokes on ##NaN, ##Inf, etc. HOT 1
- Kibit blows up on qualified keywords when require has a `:refer` HOT 1
- Using `--replace` removes the namespace qualifier `::`
- Kibit cannot parse namespaces with string requires
- -> and ->> in datomic queries
- Incorrect suggestion when using reducers HOT 1
- Getting conditionals read not allowed error in `cljc` file HOT 2
- Wrong suggestion for `(fn [x] [x x])` HOT 1
- Maintenance Status HOT 6
- Should not suggest eta-reduction for macros HOT 2
- Please Release HOT 4
- Arithmetic advices for expm1 and hypot + others
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kibit.