mirror of
https://github.com/enso-org/enso.git
synced 2024-11-27 16:16:21 +03:00
352ad06d2f
* Reduce extra output in compilation and tests I couldn't stand the amount of extra output that we got when compiling a clean project and when executing regular tests. We should strive to keep output clean and not print anything additional to stdout/stderr. * Getting rid of explicit setup by service loading In order for SL4J to use service loading correctly had to upgrade to latest slf4j. Unfortunately `TestLogProvider` which essentially delegates to `logback` provider will lead to spurious ambiguous warnings on multiple providers. In order to dictate which one to use and therefore eliminate the warnings we can use the `slf4j.provider` env var, which is only available in slf4j 2.x. Now, there is no need to explicitly call `LoggerSetup.get().setup()` as that is being called during service setup. * legal review * linter * Ensure ConsoleHandler uses the default level ConsoleHandler's constructor uses `Level.INFO` which is unnecessary for tests. * report warnings |
||
---|---|---|
.. | ||
src | ||
README.md |
Enso Language Server
The Enso Language Server is responsibile for providing a remote-communication protocol for the runtime, exposing many of its features to the users. In addition it provides the backing service for much of the IDE functionality associated with the language. It encompasses the following functionality:
- Introspection Services: Giving clients the ability to observe information about their running code including values, types, profiling information, and debugging.
- Code Execution: The ability for clients to execute arbitrary Enso code in arbitrary scopes. This can be used in conjunction with the above to provide a REPL with an integrated debugger.
- Code Completion: Sophisticated completion functionality that refines suggestions intelligently based on context.
- Node Management: Tracking and providing the language server's internal node representation of the Enso program.
- Code Analysis: Analysis functionality for Enso code (e.g. find usages, jump-to-definition, and so on).
- Refactoring: Refactoring functionality for Enso code (e.g. rename, move, extract, and so on).
- Type Interactions: Features for type-driven-development that allow users to interact with the types of their programs.