burodepeper / language-markdown

Add support for Markdown to Atom (including Github flavored, Markdown Extra, CriticMark, YAML/TOML front-matter, and R Markdown), and smart behavior to lists.
https://atom.io/packages/language-markdown
MIT License
119 stars 295 forks source link

not working on Atom 1.27.1 x64 on Windows 10 #221

Closed garretwilson closed 6 years ago

garretwilson commented 6 years ago

This doesn't seem to be working on Atom 1.27.1 x64 on Windows 10. I bring up a foo.md file, and it's showing that the Markdown language is selected. There is no syntax highlighting, however. I've already tried uninstalling and re-installing language-markdown.

burodepeper commented 6 years ago

What syntax theme are you using?

garretwilson commented 6 years ago

Both my UI Theme and Syntax Theme are set to "Atom Light".

burodepeper commented 6 years ago

Yeah, it has poor support. See the README. There are some themes there with proper support. Give them a try, and if it still doesn't do anything then, please post a screenshot.

garretwilson commented 6 years ago

But I don't want to use other themes.

Why should my theme change what the syntax looks like? If _foo_ makes something italics, why shouldn't it be italics in all themes? If ##foo is bold because it's a header, why shouldn't it be bold in all themes?

I'm afraid a syntax highlighter that forces me to use a certain theme isn't really useful. Is there a syntax highlighter for Atom that doesn't essentially break Atom? (I consider forcing me to use another theme "breaking Atom", because if Atom shipped without the light theme I would consider it broken for me, and this is the same thing.) It's a shame Atom doesn't support such a common format.

garretwilson commented 6 years ago

I switched to the "One Light" theme, and syntax highlighting shows up!

So this is a theme issue. But I still don't realize why the theme should disable syntax highlighting altogether.

I'll try the "One Light" theme for a while and see if it will work for me. Thanks for the reply

burodepeper commented 6 years ago

Why should my theme change what the syntax looks like? If foo makes something italics, why shouldn't it be italics in all themes? If ##foo is bold because it's a header, why shouldn't it be bold in all themes?

Because that's not how themes work. Text in between underscores is emphasized and headings need to visually stand out from paragraphs. Yet, that doesn't mean that they have to be italicized or bold. This is not Word.

The theme doesn't disable the syntax highlighting, it just doesn't recognize the semantic elements that the grammar parses. Themes don't highlight every little bit of code either. Differs per theme. Markdown is a bit of an outcast, because it shares very little with your average programming language.

However, you can easily extend your theme. See this and this. It might seem daunting, but it gets easier quite fast. You could even write a little script that switches syntax themes just for Markdown documents.

If this goes over your head, language-markdown probably isn't for you. The default language-gfm should work fine for you.

garretwilson commented 6 years ago

The default language-gfm should work fine for you.

I actually installed language-markdown to try to get any Markdown syntax highlighting. Are you saying that if I would merely have switched to "One Light" instead of "Atom Light", I would have got Markdown syntax built-in anyway?

burodepeper commented 6 years ago

Oh no, the default markdown packages don't have much support for Markdown. This package just opens up possibilities, though themes need some adapting to make use of them.