duotone-syntax icon indicating copy to clipboard operation
duotone-syntax copied to clipboard

[Question] Language support

Open simurai opened this issue 9 years ago • 3 comments

Question: What languages should the DuoTone themes support? Here a couple options:

  1. Only the ones that get bundled with Atom.
  2. No limits... the more the merrier!
  3. Bundles. Create different themes with different language support.. like a front-end optimized theme with HTML, JS, CSS etc. but not Java, C etc.

simurai avatar Jan 01 '16 07:01 simurai

The big question is: Is there a downside for 2nd? If there are like 100 extra language files? Apart from the extra work to keep maintaining them, maybe performance? But if it 100s of languages would slow down loading/rendering by like 2-3ms, still neglectable, I guess.

Maybe initially we can just do option 2 without much thinking and then at some point, reconsider the question.

simurai avatar Jan 01 '16 07:01 simurai

I think Bundles is the best one, but we need to keep in mind it has differents languages which each front-end uses.

With the bundle way we need a good way to deal with some types of front-end.

  • The Rails guy. SASS, Slim or Haml.
  • The Node guy. JSX, Stylus, Jade.
  • All in one? (Slim, Jade, SCSS, Stylus)

What do you think about it?

filipelinhares avatar Jan 03 '16 18:01 filipelinhares

Ya, Bundles would be nice. But maybe hard to decide where to draw the line. And if there are multiple color variations, it would multiply the amount of themes needed.

Something I've been thinking lately:

  • Themes: Should only provide the colors, but no syntax highlighting logic.
  • Language packages: Should use the colors of a theme and do the syntax highlighting.

Then you would pick a theme because of a certain color scheme and install language packages because you work with certain file types/languages. And in a sense create your own "custom bundle".

If language packages shouldn't style anything, there could be 3 "packages":

  1. Themes -> define colors
  2. Languages -> define scopes
  3. Syntax -> define syntax (what scope should have what color)

But that needs some new convention.. so maybe something for Atom 2.0.

simurai avatar Jan 04 '16 05:01 simurai