You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Language Server requires KCLVM to identify and recognize the KCL workspace and KCL compilation unit to:
allow definition/FindReference/... features to obtain information about the file entries(compilation unit) for the document opened in the active editor
todo
workspace is identified by the kcl.mod file(like the cargo.toml file in the Rust project), which typically resides in the root directory of a KCL workspace, and contains metadata about the workspace, such as the workspace's dependencies and build configuration.
The KCL compilation unit can be identified by the kcl.yaml file, which typically resides in the root directory of a KCL project, and contains manifest about the compilation, such as the entry files of the compilation, omit empty option, the output filepath, and the dynamic arguments, etc.
/// The configuration used by the language server.#[derive(Debug,Clone)]pubstructConfig{/// The root directory of the KCL workspacepubroot:AbsPathBuf,/// A collection of KCL projects discovered within the workspacepubdiscovered_projects:Option<Vec<kclvm_config::Config>>,/// The Build Configuration defined in the kcl.mod filepubbuild_configs: kclvm_config::modfile::KCLModFile,}
KCL Project:
/// The configuration used by the language server.#[derive(Debug,Clone)]pubstructConfig{/// The root directory of the KCL projectpubroot:AbsPathBuf,/// The relative directory from the KCL workspace to the KCL project. If there's no KCL workspace around, then the value if the same as the root attrpubrelative_path:PathBuf,/// The compile configuration defined in the kcl.yaml manifest filepubcompile_configs:SettingsFile,}
The text was updated successfully, but these errors were encountered:
Enhancement
Background
The Language Server requires KCLVM to identify and recognize the KCL workspace and KCL compilation unit to:
Terminology
todo
workspace is identified by the
kcl.mod
file(like thecargo.toml
file in the Rust project), which typically resides in the root directory of a KCL workspace, and contains metadata about the workspace, such as the workspace's dependencies and build configuration.The KCL compilation unit can be identified by the
kcl.yaml
file, which typically resides in the root directory of a KCL project, and contains manifest about the compilation, such as the entry files of the compilation, omit empty option, the output filepath, and the dynamic arguments, etc.API
ref #420
KCL workspace:
KCL Project:
The text was updated successfully, but these errors were encountered: