atom-language-idris icon indicating copy to clipboard operation
atom-language-idris copied to clipboard

Possible packages to look at integrating with

Open jfdm opened this issue 10 years ago • 5 comments

Jono Bacon of GitHub wrote a blog post about Atom and mentioned several packages he liked about it, on is Linter. I do not have time to look at it properly, but thought it might be something to note. That is, is it possible to integrate with Linter and provided better error messages.

Other packages in the post and comments might be of interest....

jfdm avatar Nov 17 '15 20:11 jfdm

Let me know if there is anything I can help with in terms of feedback. :-)

jonobacon avatar Nov 18 '15 05:11 jonobacon

Linter also has quite a nice UI and is consistent across lots of languages-- definitely good. You might check out the Atom packages ide-haskell and language-haskell for ideas on how to use it.

altaic avatar Nov 20 '15 03:11 altaic

Hey all

this would be a great addition. I don't have enough time at the moment to do it though :( Can I get back to you when I have the time?

Pullrequests welcome too :)

archaeron avatar Nov 20 '15 10:11 archaeron

I have been giving this a stab, and I guess I can complete something in a branch which someone else could polish or give me assistance. There would be several options available - the easiest is to get rid of the type check command and type check everytime the user saves the file. This would automatically trigger the linter, which calls the type checker and displays error messages. Another question which would remain, is whether we would still need the window at the bottom with the type checker results.

I included a mock screenshot, which is result of being called from the linter and displaying an error message in the style of linter without actually calling the typechecker. A git repo with the current results is here: https://github.com/justjoheinz/atom-language-idris/tree/feature/issue88

bildschirmfoto 2016-02-26 um 16 16 42

justjoheinz avatar Feb 26 '16 15:02 justjoheinz

@archaeron I have a working copy (as in works for me) in the branch which I listed above. I did not test it yet with larger projects, but it seems to work fine. Eventually it is necessary to give the atom linter package in the settings more pixels to be able to view expanded messages. There is also a code smell where I do not know how to work around, that is in language-idris.coffee I set the linter object of the controller. It works, but does not seem to be the atom-way of doing things:

consumeLinter: (indieRegistry) ->
    @idrisLinter = indieRegistry.register({ name: 'Idris'})
    @subscriptions.add(@idrisLinter)
    @controller.linter = @idrisLinter

If you could advise on this one, I am happy to put together a PR.

justjoheinz avatar Mar 01 '16 10:03 justjoheinz