Currently, the TypeScript parser alone can only generate tokens and provide basic diagnostic information. To enable advanced features, we need the ability to generate documents in the XMIR format at runtime. The eo-parser generates XMIR, which offers significant advantages:
- Detailed Error Information: More comprehensive syntax and semantic error reporting.
- Documentation Foundation: Enables features like hover-popups with object documentation.
- Linting Compatibility: Directly compatible with
eo-lints, which processes XMIR files.
I am convinced that XMIR generation is essential for the language server's future development.
Proposed Implementation Approaches
I see two potential ways to achieve this:
- Maven Wrapper Integration: Use the
eo-parser by wrapping the Maven Wrapper, similar to the implementation in eoc.
- NPM Package Integration: Connect to
eoc directly via its NPM package and use it as a library.
Connection to Existing Issues
This decision should also be considered in the context of issue #47 ("we don't run lints"). The chosen solution should be evaluated based on its suitability for future integration of the linter, creating a unified approach for both XMIR generation and linting.
Currently, the TypeScript parser alone can only generate tokens and provide basic diagnostic information. To enable advanced features, we need the ability to generate documents in the XMIR format at runtime. The
eo-parsergenerates XMIR, which offers significant advantages:eo-lints, which processes XMIR files.I am convinced that XMIR generation is essential for the language server's future development.
Proposed Implementation Approaches
I see two potential ways to achieve this:
eo-parserby wrapping the Maven Wrapper, similar to the implementation ineoc.eocdirectly via its NPM package and use it as a library.Connection to Existing Issues
This decision should also be considered in the context of issue #47 ("we don't run lints"). The chosen solution should be evaluated based on its suitability for future integration of the linter, creating a unified approach for both XMIR generation and linting.