Get the compiler messages directly from the Frege compiler instead from the Frege Repl.
Vision:
Do most of the work in Frege.
Architecture:
The idea of the new structure follows the new vision of writing most of
the code in frege. As a first result, we get the following layered call structure:
FregeDiagnosticService (Java) -> DiagnosticLSP (lsp interface in
Frege) -> Diagnostic (core code interacting with the Frege compiler).
Despite the clear separation by layer, the packages are organised by
(language features). E.g, diagnostic, hover etc to keep the components
isolated.
Improvements:
Much less testing noise. All the tests are written directly in Frege and thus Junit5 and Mockito is not needed anymore.
Fixes: #19.
Goal:
Get the compiler messages directly from the Frege compiler instead from the Frege Repl.
Vision:
Do most of the work in Frege.
Architecture:
The idea of the new structure follows the new vision of writing most of the code in frege. As a first result, we get the following layered call structure:
FregeDiagnosticService
(Java) ->DiagnosticLSP
(lsp interface in Frege) ->Diagnostic
(core code interacting with the Frege compiler).Despite the clear separation by layer, the packages are organised by (language features). E.g, diagnostic, hover etc to keep the components isolated.
Improvements:
Much less testing noise. All the tests are written directly in Frege and thus Junit5 and Mockito is not needed anymore.