All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Definition / References are available to show in scopes / the whole file.
-
DocumentHighlight is available to show the scoped variables.
-
DocumentColor / ColorRepresentation are available to show the color names and models.
- The Top-level function / list declaration is visible in documentSymbol.
- Attributes and Option are showed in hover messages.
- Operators will also trigger the hover messages.
- Mathematica before version 11.3 are correctly using the StringRepeat.
- The hovering could be triggered, when cursor is in side a parent syntax node even it is not on the operator/function head. Not sure about the UX.
- Color-related requests are slowed down intentionally, since it is in low use frequency comparing to messages like didChange and completion.
- Even if some requests are prioritized to improve the experience, sometimes responds could still be slower if the document is changing too frequent.
- The document structure is provided in DocumentSymbol. (Thanks to Brenton's
AST
package) - Hovering for
MessageName
and numeral literals. - Completion for both aliases and long names of the Unicode characters (with leader key \).
- Auto check for upgrades and dependencies.
- Using Brenton's
Lint
package to diagnose the document. - Documentations now have a better format with code block (in hovers and completions).
- Diagnostics are published schedulely.
- High CPU usage when reading message via sockets under Linux.
(Reported by @kc9jud and solution suggested by @megatron0000)
- Some of the documentations are not transcribed correctly into Markdown format, see issues.
- Named pipe support for Windows
-
Avoid early evaluation that slow down the initialization
-
Markdown conversion for special characters
- SVG image for document information
- Markdown text-based document information
- Tail-recursive message handler with no limits
- SVG image for document information
-
A state-less server to handle messages, via TCP socket protocol.
-
Support for the following language features:
-
Hover: Provide definitions for variables with usage message.
-
Completion: for wolfram system names.
-
Completion Resolve: Further information would be provided for the items in the list.
-
Diagnostics: Syntax error would be underlined.
-
-
Support for exporting temporary SVG images for the information of the variables.
-
A type system with pattern test.
-
A unit test framework.