microsoft / TypeScript-Sublime-Plugin

IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins
Apache License 2.0
1.72k stars 235 forks source link

Crashed in Sublime build 4084 #755

Open max-mykhailenko opened 4 years ago

max-mykhailenko commented 4 years ago

In the next dev build of sublime got next problem. Is it possible to fix, new Sublime is pretty nice!

Traceback (most recent call last):
  File "./python3.3/threading.py", line 901, in _bootstrap_inner
  File "./python3.3/threading.py", line 858, in run
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/node_client.py", line 295, in __reader
    if NodeCommClient.read_msg(stream, msgq, asyncReq, proc, eventHandlers):
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/node_client.py", line 194, in read_msg
    callback(data_dict)
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/commands/quick_info.py", line 148, in <lambda>
    cli.service.quick_info_full(self.view.file_name(), get_location_from_position(self.view, display_point), lambda response: self.handle_quick_info(response, display_point))
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/commands/quick_info.py", line 74, in handle_quick_info
    self.show_tooltip_popup(display_point, errors, error_html, info_text, info_str, doc_str)
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/commands/quick_info.py", line 80, in show_tooltip_popup
    theme_styles = get_theme_styles(self.view)
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/popup_formatter.py", line 26, in get_theme_styles
    "type": format_css(view.style_for_scope("entity.name.type.class.ts")),
  File "/Users/max/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/popup_formatter.py", line 12, in format_css
    if (style["bold"]):
KeyError: 'bold'
radekmie commented 4 years ago

I can confirm that this happens in all 40xx builds, starting from 4065, including the (currently latest) 4085. The problem is here (as the stack trace says), but I'm not sure what exactly changed (I couldn't find anything in the changelogs). Maybe a simple hasattr workaround would be "good enough" for now?

EDIT: I confirm that it works with an additional hasattr fix, but all popups are now monochrome (actually with no styling at all).

ephemer commented 4 years ago

FYI @radekmie @max-mykhailenko I have submitted a PR to fix the issue in #758. It does not suffer from the monochrome / unstyled issue described by @radekmie