Skip to content

Latest commit

 

History

History
240 lines (151 loc) · 6.84 KB

CHANGELOG.md

File metadata and controls

240 lines (151 loc) · 6.84 KB

Change Log

All notable changes to the "parol-ls" extension will be documented in this file.

Check Keep a Changelog for recommendations on how to structure this file.

2.0.0 - Not released yet

1.0.0 - 2024-09-02

  • No changes, just a re-release with new version

0.21.0 - 2024-06-21

0.20.0 - 2024-06-08

  • Diagnostic warnings on automatically resolved conflicts

0.19.1 - 2024-05-19

  • Better presentation of multiple errors
  • Enhanced support for scanner states and especially the %on/%enter directives in document outline.
    • Goto primary non-terminals
    • Rename primary non-terminals
    • Hover of primary non-terminals
    • Goto scanner states
    • Rename scanner states (except INITIAL)
  • Goto scanner states from token with state
  • Renaming of Scanner states from token with state and scanner definitions itself
  • Hover of Scanner states from token with state
  • Some inner refactoring
  • Bump to [email protected]

0.19.0 - 2024-05-16

0.18.0 - 2024-04-29

  • Support grammar type specification in par files with the %grammar_type directive
  • Support of new parol errors

0.17.1 - 2024-01-10

0.17.0 - 2023-10-22

0.16.0 - 2023-09-18

  • This release is dedicated to the new error recovery feature in generated parsers. The language server itself benefits from this feature and can continue parsing of par files beyond the first syntax error. This should improve the overall user experience.

0.15.0 - 2023-08-02

  • Refactoring of formatting algorithm using the new comment handling feature provided by parol_runtime. If you experience strange shifts of comments please file an issue.

0.14.0 - 2023-07-12

  • This release is dedicated to code formatting. A lot of tests have been added to ensure a more consistent formatting over different configuration settings.

Please file an issue against formatting if you encounter any problem or have suggestions.

In later releases I plan to refactor the whole formatting algorithm and incorporate the comment handling provided by [email protected].

0.13.0 - 2023-06-25

  • The Parol Language Server now supports a single end comment.

    • This is no restriction of parol itself but of the special grammar the language server uses. This grammar captures as much comments as possible from the input grammar. Feedback is appreciated.
  • Support of several new formatting options

    • formatting.empty_line_after_prod
      • Add an empty line after each production
    • formatting.prod_semicolon_on_nl
      • Place the semicolon after each production on a new line
    • formatting.max_line_length
      • Maximum number of characters per line

    This requires vs-code extension parol-vscode of version >= 0.1.15.

  • Fix of minor formatting behavior problems, like handling of nested EBNF constructs

0.12.0 - 2023-06-09

  • Using newer parol 0.22.0 + parol_runtime 0.17.0

0.11.0 - 2023-04-24

  • Merged PR #78 provided by AumyF.
  • Using bug fixed version parol 0.21.3

0.10.0 - 2023-04-13

  • Using newer and faster parol 0.21.1

0.9.0 - 2023-04-02

  • Decoupled the expensive LL(k) analysis to speed up the language server
  • Using newer and faster parol 0.21.0 + parol_runtime 0.16.0

0.8.0 - 2023-03-21

  • Using newer and faster parol 0.20.0 + parol_runtime 0.15.1

v0.7.0 - 2023-03-06

  • Using newer and faster parol 0.19.0 + parol_runtime 0.15.0

v0.6.0 - 2023-02-16

  • Using newer and faster parol 0.18.0 + parol_runtime 0.14.0

v0.5.0 - 2023-02-16

  • Removed clippy warnings new in Rust 1.67
  • Using newer and faster parol 0.17.0 + parol_runtime 0.13.0

v0.4.0

  • Removed miette as opaque error handling crate and substituted it by thiserror + anyhow
  • General improvements of error handling and reporting

v0.3.4

  • Infrastructural changes: Moved repository into parol workspace

v0.3.3

  • Support for new parol features from 0.14.0 (new terminal representation forms)
  • Improved document formatting

v0.3.2

  • Configuration is now possible via settings in VSCode. Changes are updated in the language server now.
    • The first effective property is the maximum number of lookahead tokens that is calculated during grammar analysis.

v0.3.1

  • Using parol in version 0.13.0 now to take advantage of latest fixes. Also add parol-macros as dependency. This reduced the code size of generated parser.

v0.3.0

  • Using parol_runtime in version 0.8.1 and parolin version 0.12.1 now to take advantage of latest fixes.
  • Rethought the concept of OwnedToken
  • Format document: Improved formatting of line comments

v0.2.0

  • Switched to clap 4
  • Using parol 0.11.0 now
    • Implied some changes in error handling

v0.1.12

  • Support for "Format document"
    • Currently no configuration available, i.e the formatting result is a standard format. That may change in the future.

v0.1.11

  • Fixed handling of prepare rename request which sometimes rejected the rename action

v0.1.10

  • Add support for renaming non-terminal symbols
  • Fixed location_to_range

v0.1.9

  • Refactored the request handling
  • Made the maximum lookahead configurable via server arguments
  • Added Acknowledgements to README
  • Fixed flaw in grammar analysis
  • Add support for document symbols

v0.1.8

  • Fighting the position to offset problem again
  • Clearing document state now before each analysis
  • Allowing comments after alternation separator

v0.1.7

  • Hopefully now finally fixed crash of language server on Linux machines

v0.1.6

  • Fixed crash of language server on Linux machines

v0.1.5

  • Fixed range calculation to be more OS aware, hopefully
  • Added tests and ran them on Windows and Linux (on WSL2)

v0.1.4

  • Add basic Hover support

v0.1.3

  • GotoDefinition can be applied to the Start symbol too
  • First attempt to handle comments by the grammar and preserve them
    • This is not complete yet and may be a little bumpy - please report any misbehavior

v0.1.2

  • Include more grammar checks

v0.1.1

  • Fixed utils::source_code_span_to_range

v0.1.0

  • Initial release