Skip to content

Latest commit

 

History

History
355 lines (251 loc) · 17.7 KB

CHANGELOG.md

File metadata and controls

355 lines (251 loc) · 17.7 KB

LPC Language Services Changelog

1.1.26

  • Package for deployment to NPM as @lpc-lang/core
  • Parse and return default expression in LPCDoc @param tags.

1.1.25

1.1.24

1.1.23

1.1.22

1.1.21

1.1.20

1.1.19

1.1.18

1.1.17

  • Fix: LPCDoc @var tag types were incorrectly linked to the original symbol
  • Performance improvement: reduced memory consumption by 17%
  • Code cleanup and v8-specific code optimizations
  • Macro hover now shown for global and pre-defined macros
  • New: VSCode build task - Run the LPC: Build task to validate all files in your project.

1.1.16

  • Fix: Completion provider does not return defines #127
  • Fix: Syntax highlighting should allow whitespace after property access tokens
  • Fix: LPCDoc type predicates not working
  • Fixed a bug that could cause @ string blocks to cause the parser to run out of memory.
  • Performance improvements
  • Various grammar improvements with indenting, highlighting, and bracketing
  • Fenced code markdown blocks now highlight using LPC syntax.
  • Cleaned up server logging (removed TS reference, removed version number)

1.1.15

  • Add localization support #43 - Thanks to @serenez for contributing.
  • Remove duplicate import nodes from dependency graph - speeds up recompilation when editing files.

1.1.14

1.1.13

1.1.12

  • Fix: Driver predefined macros marked as undefined on initial startup

1.1.11

1.1.10

1.1.9

1.1.8

1.1.7

1.1.6

1.1.5

  • Add support for Fluff array property access shortcut (#70)
  • Better detection of Inferred to Configured projects
  • Correctly resolve protected inherited member visibility #67
  • Hide variables from property access autocomplete

1.1.4

  • inline closures used as default params now resolve their return type and correctly report type mismatches
  • spread elements are properly checked
  • type predicates no longer override a function's declared return type
  • some efuns doc tweaks

1.1.3

  • Initial prelease of v2

1.0.30

  • Because 1.0.29 was incomplete

1.0.29

1.0.28

1.0.27

1.0.26

  • Fix: undefined token exception during diagnostics generation
  • Fix: signature not being displayed when hovering over a function declaration (part 3 of #42)
  • Fix: crash caused by flushing change timer after document has been disposed
  • Fix: FluffOS global include file was not included in some instances.
  • Removed "Process All Files" command (it is no longer needed)

1.0.25

1.0.24

1.0.23

  • Fix: Function signature was incorrect in symbol hover.

1.0.22

1.0.21

  • Fix: [FLUFFOS] Handle whitespace before text formatting shortcut end.
  • Fix: Properly reset lexer state on error.
  • [FLUFFOS] Added double bang !! operator to grammar (#31).
  • lpc-config.json now uses JSONC so comments can be added to the file (#32)
  • Find References no longer requires a user-initiated file scan and is much more memory efficient.

1.0.20

1.0.19

1.0.18

  • Better handling of disposed contexts
  • Memory cleanup
  • Fix: [FLUFFOS] Parser error on catch blocks #25
  • Fix: Parser error on variable declarations without types
  • Fix: Preprocessor included two many tokens when end of define ended with a \

1.0.17

1.0.16

  • Added unknown type to FluffOS parser
  • Removed new and load_object from parser. These are now handled as efuns.
  • Efuns are now read out of .h files packaged with the extension.
  • Added FluffOS efuns
  • Converted LD efuns to .h file format.
  • Various parser tweaks for missing types (lwobject, unknown, etc)

1.0.15

1.0.14

  • Fix: [FLUFFOS] Case statements with no leading or trailing value #8

1.0.13

  • Show macro expansion in hover

1.0.12

  • Fix: Some Fluff-only keywords were being dropped from macro definitions
  • Fix: Super accessor was not allowing all valid identifiers as a prefix
  • Fix: Preprocessor did not recognize directives with a space after the # symbol.
  • Fix: Parser did not allow variable declarations inside an if statement's conditional expression

1.0.11

  • Fix: Remove comma expression ambiguity in grammar that caused an infinite loop when parsing large array initializers.

1.0.10

1.0.9

  • Fix: Regression parsing struct initializers in LD.
  • Started added unit tests for the parser, lexer, and pre-processor.

1.0.8

  • Allow array type declaration without a primitive type
  • Added more diagnostic codes to lpc-config.
  • Allow variable declarations in switch body before first case.
  • Display current driver type in VSCode status bar
  • Fix: Parsing error when including a bracketed path with a forward slash
  • Fix: Struct member declarations can have multiple variables separated by commas
  • Fix: Multiline defines not tokenized correctly when lines end with \r\n
  • Fix: Global include filename resolves incorrectly in windows.
  • Fix: Goto def (f12) not working for macros defined in included files.
  • Fix: Multiline defines were not parsed correctly in windows.
  • Fix: Diagnostics would sometimes disappear when file is inherited by another file.

FluffOS

  • Allow spread operator in function forward declaration
  • Add struct modifiers (private)
  • Add global visibility modifiers

1.0.7

  • Allow whitespace between opening parent and square bracket of a mapping
  • Make status a reserved word for LD only.
  • Added global_include option to the files section of lpc-config (mainly for FluffOS)
  • Refactor clone_object symbol creation so that it can be detected as a keyword in FluffOS.

FluffOS

1.0.3

Started adding support for FluffOS-specific syntax.

1.0.0

Initial release