AdvPL Language Server (currently unstable)
AdvPL implementation for Microsoft Language Server Protocol (LSP).
Report problems or suggestions in issues area.
Discuss the implementation in our Gitter.
This project is an individual initiative and holds no relation or support provided by TOTVS S/A (owner of AdvPL language).
This implementation doesn't intend to replace the currently consolidate AdvPL support via KillerAll.advpl-vscode extension. All functionalities from this implementation must be kept, as well as the language definition.
The AdvPLS is bringing new functionalities currently not supported by vscode frontend client-only implementations.
The backend implementation is designed to be frontend-independent. This client provides support for Visual Studio Code, but there is no restriction to use it with other frontend editors that support the protocol.
The code for the backend implementation is currently closed, but the discussion regarding the linting rules is open and community participation is encouraged for these definitions.
For thread safety, zero-cost abstractions, guaranteed memory safety, threads without data races and state-of-the-art performance, the backend was implemented using Rust-Lang.
The compilation for Windows subsystems is done via mingw-w64-gcc based on Arch Linux.
Will show function signature and short description upon mouse hover. To be improved...
Interact and collaborate with the JSON Codex to change the hover contents.
Will parse the currently open AdvPL source and report any detected programming errors, bugs, stylistic errors, and suspicious constructs. They will be reported in 'Problems' tab. Executed via commands interface (F1 shortcut).
Some rules offer the "auto-fix" option. Put the cursor above the lint diagnostic, and execute > Quick-fix. If the lint rule implements an auto-fix, a selection menu will be shown to execute the fix.
Interact and collaborate with the JSON Codex to change the pretty name lint validation.
To be included
In the near future we want to make available the following functionalities:
No legacy support for i686 (x86) platforms will be provided.