Skip to content

Releases: polserver/vscode-escript

v0.13.0

02 Mar 15:19
61e9c8b
Compare
Choose a tag to compare

This release brings two new features:

  • Support for "go to definition" for use and include declarations.
  • Support for "format document" and "format selection" using formatting options found in ecompile.cfg.

What's Changed

  • Add support for "Go to Definition" for use and include declarations by @KevinEady in #61
  • Add formatter support by @KevinEady in #62

Full Changelog: v0.12.1...v0.13.0

v0.12.1

25 Feb 22:26
ccb3dc6
Compare
Choose a tag to compare

This release fixes the memory issue introduced in the "Find References" implementation created in v0.12.0.

Additionally, the functionality for finding references across the workspace can be disabled via extension configuration option escript.disableWorkspaceReferences.

What's Changed

Full Changelog: v0.12.0...v0.12.1

v0.12.0

23 Feb 17:55
efc6e16
Compare
Choose a tag to compare
v0.12.0 Pre-release
Pre-release

WARNING

This release has high memory usage, as the workspace cache is completely in-memory. It is highly recommended to skip this release while a new approach is worked on.


This release adds support for finding references across the workspace:

  • variables (both locally- and globally-scoped)
  • constants
  • user functions
  • module functions

When the first EScript source is opened, the extension will cache all source and include files in the workspace, searching through appropriate folders as defined by pol.cfg. The extension will show progress via notification in the editor (at the bottom of the window):

workspace-cache

Once this cache has loaded, right-clicking a symbol (eg. variable) and select "Find All References" from the menu:

find-references

What's Changed

Full Changelog: v0.11.2...v0.12.0

v0.11.2

06 Feb 18:33
5d6c704
Compare
Choose a tag to compare

This release fixes highlighting for multiline CRLF strings:

multiline-support

What's Changed

Full Changelog: v0.11.1...v0.11.2

v0.11.1

04 Feb 15:54
e21987c
Compare
Choose a tag to compare

This release updates the polserver submodule, which includes a fix for a compiler crash on handling error member initializers with no expression initializer, eg. error{ errortext }.

What's Changed

New Contributors

Full Changelog: v0.11.0...v0.11.1

v0.11.0

21 Jan 02:48
c1d7b48
Compare
Choose a tag to compare

This release adds a new extension configuration "Continue Analysis on Error". This change allows the extension to continue semantic analysis if there is a parse error, which will provide better language features when the script is non-parseable (eg. actively typing text). For example:

  • No need to have a trailing semi-colon in order to get proper completion items
  • Parameters are properly shown during typing for signature help.

continue-on-error

This feature is experimental, but enabled by default. Using this feature may cause unexpected crashes. If extension fails, please report an issue and disable this feature.

Additionally, this release adds support for new tokens added in Escript v1.17 (true, false, uninit).

What's Changed

Full Changelog: v0.10.0...v0.11.0

v0.10.0

11 Jan 13:27
408e8cc
Compare
Choose a tag to compare

This release adds support for relative directories in ecompile.cfg, relative to the workspace root (eg. using ModuleDirectory ./scripts/modules)

What's Changed

Full Changelog: v0.9.0...v0.10.0

v0.9.0

10 Jan 09:29
9139386
Compare
Choose a tag to compare

This release adds support for displaying documentation inside hover and signature help for symbols (variables, enums, user and module functions, ...). Documentation for module functions come from the polserver XML documentation, which the extension will automatically download. Documentation for user-provided symbols (variables, functions, ...) will come from comments above the definition.

Documentation shows on both hover...

user-function-docs

module-function-docs

... as well as signature help

signature-help-docs

Extension Configuration

The polserver commit ID used for module function documentation is by default based off the POL executable commit ID, and can be overridden with a different commit ID from User Preferences with the escript.polCommitId key. Additionally, documentation from user comments will not be displayed for module functions by default, as the XML documentation is more feature-rich. Displaying user comments can be enabled using the escript.showModuleFunctionComments key. Both settings can be changed either in the JSON preferences or the Settings panel:

image

What's Changed

Full Changelog: v0.8.0...v0.9.0

v0.8.0

20 Dec 22:41
301174b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.2...v0.8.0

v0.7.2

20 Dec 04:28
50164c1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.1...v0.7.2