版本发布 8
This new version brings new features and some great fixes. ## New features - Support <* and *> comments. (#91) Credit to @PgBiel - Show documentation on hover and completion. Credit to @PgBiel - Support `distinct` types. Credit to @PgBiel - Improve syntax highlighting in function information on hovering. Credit to @PgBiel - Adds type information as well as other information to completions. Credit to @PgBiel - Improve macro handling. https://github.com/pherrymason/c3-lsp/pull/103. Credit to @PgBiel ## Fixes - Fix crash while writing an inline struct member. (#97) - Optimizations to reduce CPU usage by 6-7x. Credit to @PgBiel https://github.com/pherrymason/c3-lsp/pull/99 - Fix parsing of non-type alias def (Credit to @PgBiel) - Fix completion of enum and fault methods. https://github.com/pherrymason/c3-lsp/pull/111. Credit to @PgBiel
- Support named and anonymous sub structs. - Fix clearing old diagnostics. (#89, #83, #71, #62) - Fixed crash in some scenarios where no results were found. - Fix crash when using with Helix editor (#87)
- Added new option in c3lsp.json to be able to specify more compiler arguments. Fixes https://github.com/pherrymason/c3-lsp/issues/69 - Fix releases for linux by using tar.gz and giving it execution permissions. Fixes https://github.com/pherrymason/c3-lsp/issues/65
### Changelog - Added compatibility with stdlib symbols for C3 0.6.2. - Fixes diagnostic errors persisting after they were fixed (#62). - C3 Version argument is no longer mandatory. It will try to load last C3 supported version. - Fallback to last C3 supported version if provided version is not supported. - Binary name changed to `c3lsp` (before it was `c3-lsp`).
#News - LSP configuration per project: Place a `c3lsp.json` in your c3 project to customize LSP configuration. This will also allow to use new configuration settings without needing to wait for IDE extensions to be updated. See [Configuration](https://github.com/pherrymason/c3-lsp/wiki/Configuration) for details. - Inspect stdlib. Use go to declaration/definition on stdlib symbols by configuring its path in `c3lsp.json`. #Fixes - Fixes diagnostics in Windows platform.
This release includes a new feature to the LSP: error diagnostics  In order to work, there are some requirements: - You will need last version of `c3c` (>0.6.2) as some fixes had to be done there (Thanks @clerno !) - Either you have `c3c` in your PATH, or you use set its path with the new argument `c3c-path`. A new argument has been added to control the delay of diagnostics being run: `diagnostics-delay`. By default is 2 seconds.
Improvements: - C3 language keywords are now suggested in `TextDocumentCompletion` operation. Thanks @nikpivkin for suggestion. Fixes: - Server crashing when writing a dot inside a string literal. #44 Thanks @nikpivkin for reporting. - Server crashing when creating a new new untitled c3 file from VS Code without workspaces. Thanks @nikpivkin for reporting. - Server crashing when not finding symbol. Thanks @tclesius for reporting.
## Fixed - `Go to definition` / `Go to declaration` on Windows.