Over the past few days I've worked on a little experiment for Brackets that I wanted to share with folks. I'm not sure this is a good idea. Or a practical one for that matter. But that hasn't stopped me from sharing code before so why start now?

Today I've released Canalyzer! (also available via the Brackets Extension Manager). Canalyzer attempts to parse your project directory for possible compatibility issues. For example, if your code makes use of a datalist then you may want to know that datalist isn't available on certain platforms. It uses a "dictionary" of regular expressions that match to CanIUse.com features. For each match it can then report on the possible browser issues.

To be clear, just because you have a piece of code in your HTML does not mean it won't render in a particular browser. datalist is a great example of this. Yes, an unsupported browser won't support the autocomplete feature. But it won't throw an error either! The same goes for modern HTML form types. These all degrade perfectly well into plain text fields.

My intent here wasn't to report these items as things you should fix, but more so to ensure you are aware of the items.

Here is a screen shot showing it in action. And yes - this could be rendered a bit nicer.

You will note that there are only 5 browsers listed. That was a personal choice based on what I thought would be most important. The feature link you see in the screen shot brings you to the specification for that feature. I should also point out that the "dictionary" has a grand total of... 2 items. So this is where other people come in. If people think this is a good idea - if they think they will actually use it - I'll definitely continue to work on it. I will also gladly accept pull requests from people who want to do some of the gruntglorious work.

Check it out. Again, you can grab the source over on GitHub (https://github.com/cfjedimaster/canalyzer) or via the Extension Manager.