Releases: polserver/vscode-escript
v0.13.0
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
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
- Rework references by @KevinEady in #59
- Release v0.12.1 by @KevinEady in #60
Full Changelog: v0.12.0...v0.12.1
v0.12.0
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):
Once this cache has loaded, right-clicking a symbol (eg. variable) and select "Find All References" from the menu:
What's Changed
- Add support for finding references by @KevinEady in #57
- Release v0.12.0 by @KevinEady in #58
Full Changelog: v0.11.2...v0.12.0
v0.11.2
This release fixes highlighting for multiline CRLF strings:
What's Changed
- Update CI polserver cache path by @KevinEady in #52
- Fix CRLF in multi-line strings by @KevinEady in #53
- Release v0.11.2 by @KevinEady in #54
Full Changelog: v0.11.1...v0.11.2
v0.11.1
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
- Various debugger fixes; Fix function-call display in hover by @KevinEady in #42
- Update readme by @KevinEady in #43
- Add active typing test by @KevinEady in #45
- Update README for additional debugging details by @KevinEady in #46
- cleanup cmake by @turleypol in #47
- Update polserver to 1bdc394 by @KevinEady in #50
- Release v0.11.1 by @KevinEady in #51
New Contributors
- @turleypol made their first contribution in #47
Full Changelog: v0.11.0...v0.11.1
v0.11.0
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.
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
- Update polserver to 65b14fb by @KevinEady in #38
- Add continue-on-error as extension configuration by @KevinEady in #39
- Fix Semantic Token modifiers by @KevinEady in #40
- Release v0.11.0 by @KevinEady in #41
Full Changelog: v0.10.0...v0.11.0
v0.10.0
This release adds support for relative directories in ecompile.cfg
, relative to the workspace root (eg. using ModuleDirectory ./scripts/modules
)
What's Changed
- Add support for relative directories when reading ecompile.cfg by @KevinEady in #36
- Release v0.10.0 by @KevinEady in #37
Full Changelog: v0.9.0...v0.10.0
v0.9.0
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...
... as well as signature help
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:
What's Changed
- Update polserver to 0156afb by @KevinEady in #33
- Add XML documentation download and display, user comments to hover and signature help by @KevinEady in #34
- Release v0.9.0 by @KevinEady in #35
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- Add CFG language support by @vitorfdl in #29
- Split packaging from Linux build in CI by @KevinEady in #31
- Release v0.8.0 by @KevinEady in #32
New Contributors
Full Changelog: v0.7.2...v0.8.0
v0.7.2
What's Changed
- Create single universal platform package using GitHub Actions by @KevinEady in #27
- Release v0.7.2 by @KevinEady in #28
Full Changelog: v0.7.1...v0.7.2