@volar/language-core
|
|--- @volar/language-service
|
|--- @volar/language-server
| |
| |--- @volar/vscode (as a client to the language server)
|
|--- @volar/kit (encapsulates @volar/language-service for Node.js applications)
|
|--- @volar/monaco (integrates @volar/language-service into Monaco Editor)
This module contains the core language processing functionalities, such as creating and updating virtual code objects. It serves as the foundation for the other modules, providing basic language processing capabilities.
This module provides language service functionalities, such as offering IntelliSense features. It depends on @volar/language-core
for obtaining and processing virtual code, and then provides corresponding language services.
This module acts as a language server, utilizing the language services provided by @volar/language-service
and offering these services to clients (like VS Code) through the Language Server Protocol (LSP). It also relies on @volar/language-core
for handling basic language processing tasks.
This module acts as a Language Server Protocol (LSP) language client. Its primary responsibility is to communicate with the @volar/language-server
module (acting as an LSP server) and integrate the language services provided by the server into the VS Code editor. This architecture allows for the reuse of language services across different editors and IDEs, with the implementation of the corresponding LSP client. In this case, @volar/vscode
is the LSP client implementation for VS Code.
@volar/kit
is a module that encapsulates @volar/language-service
. It provides a simplified interface for using Volar's diagnostic and formatting features within Node.js applications.
This module is an extension of Volar.js for the Monaco Editor. It utilizes the language services provided by @volar/language-service
and integrates these services into the Monaco Editor. This includes features like syntax highlighting, code completion, and definition jumping. Essentially, @volar/monaco
serves as a bridge to bring Volar.js's language services into the Monaco Editor.