superlou / fountain-atom

Grammar and tools for the Fountain screenwriting syntax
MIT License
47 stars 15 forks source link

Support for Fountain Linting #49

Open jrbostic opened 6 years ago

jrbostic commented 6 years ago

It may be desirable to write an integrated fountain Linting module.

superlou commented 6 years ago

I spent some time messing with a Fountain language server as part of hooking into atom-ide-ui. I think that might be worthwhile, but a separate project.

jrbostic commented 6 years ago

Oh, okay, so... You think a different package altogether?

superlou commented 6 years ago

If we were to make a Fountain language server, yeah, another repository. For a linter, I think it's fine incorporating it into this module. I'm not familiar enough with Linting in Atom to suggest a good path yet. Open to ideas.

jrbostic commented 6 years ago

After experimenting and getting the basics working, I went ahead and just created a separate linter repo. This will allow it to be an optional (and most other languages have standalone linters for atom).

I haven't done any refactoring, testing, or docs yet. So, it still looks pretty hacky.

https://github.com/jrbostic/linter-fountain

It basically only catches the single linting case that we came up with... lol! But I hope we can find ways to lint for "info" messages (useful suggestions) and some other "warning" conditions... with tips & tricks.

I also deployed it as a package (as I was eager to see that process in action). If it becomes mature enough that you want the linter included in fountain-atom, you can just add it as a package dep.

Anyway, I'm looking out for new linting ideas. If anybody has anything, I'd be interested to hear. Otherwise, my next work on that will just be restructuring to make the pieces modular.... testing... and docs.

spookyuser commented 5 years ago

This is so cool. I love the idea of a linter for screenplays!