Creating a new language specific linter


I am looking for direction on how to go about creating a new package for linter. I have looked over the linter API, but it lacks much implementation. Inversely, looking through examples provides me with material too far over my head.

Though from what I have gathered, regex can be used to locate and process errors. I saw one example where a compiler was used; however, I’d rather avoid that as I do not have a compiler for my own code.

I really would appreciate any guidance with this. Unless someone else does it before me, I will make sure to post a full example with documentation for anyone else who would follow this same path.

Some of the things I am looking for are:

  • What is the purpose of “use babel”?
  • What is a “promise”?
  • A detailed structure of a linter implementation. As in, it includes how to extend the base. (This will be part of my end goal)
  • There are probably some other main concepts I am leaving out.

If you can help with any part of this, I would really appreciate it. I am still pretty fresh to Atom and coffeescript. so I probably ended up including broader concepts than just implementation of linter.


To tell the build system to process the source with Babel. Babel allows on to use ES6 in Atom and any browser.

You should google that.

Read the source?


So, is there any progress so far? I also think the documentation for linter is too sparse for newcomers…