enso/docs/language-server
Dmitry Bushev ee2dc57d68
Project manager API for basic file system operations (#9245)
close #9173

Changelog:
- add: `--filesystem-list {path}` cli parameter that list files, directories and projects
- add: `--filesystem-create-directory {path}` cli parameter that creates a specified directory
- add: `--filesystem-delete-directory {path}` cli parameter that deletes a specified directory
- add: `--filesystem-move-from {path}` ` --filesystem-move-to {path}` cli parameters to move specified filesystem object
2024-03-08 15:44:17 +00:00
..
language-server-http-endpoints.md Add support for https and wss (#7937) 2023-10-12 00:03:34 +02:00
project-manager-http-endpoints.md Add endpoint for downloading a project (#7291) 2023-07-14 13:18:08 +00:00
protocol-architecture.md Add support for https and wss (#7937) 2023-10-12 00:03:34 +02:00
protocol-common.md Add JSON-RPC Timeout Error (#1332) 2020-12-09 15:53:00 +03:00
protocol-language-server.md Add attributes to filesystem events (#8767) 2024-01-16 13:48:53 +00:00
protocol-project-manager.md Project manager API for basic file system operations (#9245) 2024-03-08 15:44:17 +00:00
README.md Add Idleness Http Endpoint (#1847) 2021-07-12 16:53:44 +03:00
streaming-file-transfer.md Implement byte-based file operations (#1795) 2021-06-11 14:48:28 +01:00

layout title category tags order
section-summary Language Server language-server
language-server
readme
0

Language Server

The Enso Language Server is responsible for providing language services to the Enso IDE (and other clients). This mainly involves speaking the Enso protocol and orchestrating the runtime in response to this. It is responsible for:

  • 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.

This folder contains all documentation pertaining to the Language Server, which is broken up as follows:

The protocol messages are broken up into documents as follows: