atom / language-coffee-script

CoffeeScript support in Atom
Other
59 stars 56 forks source link

syntax highlighting broke #146

Closed Inve1951 closed 7 years ago

Inve1951 commented 7 years ago

copy pasted from https://github.com/atom/atom/issues/15671

Prerequisites

Description

Since a few days coffeescript syntax highlighting broke in that it renders comments as code and regexes as comments and removes it alltogether in other parts.

Steps to Reproduce

  1. unknown

Expected behavior: old behaviour - correct syntax highlighting

Actual behavior: screenshot

Reproduces how often: always for longer files

Versions

>atom -v
Atom    : 1.20.0
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0

>apm -v
apm  1.18.4
npm  3.10.10
node 6.9.5 x64
python 2.7.13
git 2.8.1.windows.1
visual studio 2015

>coffee -v
CoffeeScript version 2.0.0-beta5

>systeminfo
Microsoft Windows 7 Professional
6.1.7601 Service Pack 1 Build 7601

Additional Information

Had the idea it might be due to having coffeescript@2.0.0-beta5 installed which preserves single line comments but switching back to an older version and restarting atom didn't fix it. Having keywords in comments changes the outcome but it's broken either way.

Ben3eeE commented 7 years ago

Thank you for the report!

Inve1951 commented 7 years ago

example fail.zip

>apm list
Built-in Atom Packages (91)
├── atom-dark-syntax@0.28.0
├── atom-dark-ui@0.53.0
├── atom-light-syntax@0.29.0
├── atom-light-ui@0.46.0
├── base16-tomorrow-dark-theme@1.5.0
├── base16-tomorrow-light-theme@1.5.0
├── one-dark-ui@1.10.6
├── one-light-ui@1.10.6
├── one-dark-syntax@1.8.0
├── one-light-syntax@1.8.0
├── solarized-dark-syntax@1.1.2
├── solarized-light-syntax@1.1.2
├── about@1.7.6
├── archive-view@0.63.3
├── autocomplete-atom-api@0.10.2
├── autocomplete-css@0.17.2
├── autocomplete-html@0.8.0
├── autocomplete-plus@2.35.7
├── autocomplete-snippets@1.11.0
├── autoflow@0.29.0
├── autosave@0.24.3
├── background-tips@0.27.1
├── bookmarks@0.44.4
├── bracket-matcher@0.87.3
├── command-palette@0.40.4
├── dalek@0.2.1
├── deprecation-cop@0.56.7
├── dev-live-reload@0.47.1
├── encoding-selector@0.23.4
├── exception-reporting@0.41.4
├── find-and-replace@0.209.5
├── fuzzy-finder@1.5.8
├── github@0.4.0
├── git-diff@1.3.6
├── go-to-line@0.32.1
├── grammar-selector@0.49.5
├── image-view@0.62.3
├── incompatible-packages@0.27.3
├── keybinding-resolver@0.38.0
├── line-ending-selector@0.7.3
├── link@0.31.3
├── markdown-preview@0.159.13
├── metrics@1.2.6
├── notifications@0.69.0
├── open-on-github@1.2.1
├── package-generator@1.1.1
├── settings-view@0.251.5
├── snippets@1.1.4
├── spell-check@0.72.1
├── status-bar@1.8.11
├── styleguide@0.49.6
├── symbols-view@0.117.0
├── tabs@0.107.1
├── timecop@0.36.0
├── tree-view@0.217.7
├── update-package-dependencies@0.12.0
├── welcome@0.36.5
├── whitespace@0.37.2
├── wrap-guide@0.40.2
├── language-c@0.58.1
├── language-clojure@0.22.4
├── language-coffee-script@0.48.9
├── language-csharp@0.14.2
├── language-css@0.42.4
├── language-gfm@0.90.0
├── language-git@0.19.1
├── language-go@0.44.2
├── language-html@0.47.3
├── language-hyperlink@0.16.2
├── language-java@0.27.2
├── language-javascript@0.127.1
├── language-json@0.19.1
├── language-less@0.33.0
├── language-make@0.22.3
├── language-mustache@0.14.1
├── language-objective-c@0.15.1
├── language-perl@0.37.0
├── language-php@0.41.0
├── language-property-list@0.9.1
├── language-python@0.45.4
├── language-ruby@0.71.3
├── language-ruby-on-rails@0.25.2
├── language-sass@0.61.0
├── language-shellscript@0.25.2
├── language-source@0.9.0
├── language-sql@0.25.8
├── language-text@0.7.3
├── language-todo@0.29.2
├── language-toml@0.18.1
├── language-xml@0.35.2
└── language-yaml@0.30.1

Community Packages (7) C:\...........\.atom\packages
├── atom-coffee-repl@0.1.0
├── coffee-navigator@0.0.18
├── coffee-paste@0.8.0
├── coffee-refactor@0.7.0
├── highlight-selected@0.13.1
├── refactor@0.11.5
└── simple-drag-drop-text@0.3.4
Ben3eeE commented 7 years ago

This is happening because of the first line in the file, if you remove that it works.

Not Working:

`//META{"name":"toggleYourStuff"}*//`

class toggleYourStuff
  getName: ->         "Toggle-Your-Stuff"
  getDescription: ->  "Toggle your plugins and themes using hotkeys."
  getVersion: ->      "1.1.1"
  getAuthor: ->       "square"

Working:


class toggleYourStuff
  getName: ->         "Toggle-Your-Stuff"
  getDescription: ->  "Toggle your plugins and themes using hotkeys."
  getVersion: ->      "1.1.1"
  getAuthor: ->       "square"

/cc: @50Wliu

Inve1951 commented 7 years ago

it worked before with it :thinking: all my files for this project got it

probably unrelated: ###//META{"name":"toggleYourStuff"}*//### shows as an error and so do triple backtick js embeds but these did before the issue with highlighting came up

winstliu commented 7 years ago

On it.

GeoffreyBooth commented 7 years ago

@50Wliu While you’re at it, can you fix ### comment highlighting so that it turns off even if the comment doesn’t span multiple lines? Look at the terrible highlighting here: https://github.com/jashkenas/coffeescript/issues/4706

Ben3eeE commented 7 years ago

@GeoffreyBooth It would be great if you can open this in a new issue as it will be easier for us to track, thank you.

GeoffreyBooth commented 7 years ago

Sure, sorry. #149.