Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/Command/
LanguageFeature.rs

1//! # LanguageFeature (Tauri command surface)
2//!
3//! Bridges Monaco-Editor language requests from Sky into the Mountain
4//! `LanguageFeatureProvider` registry. Six wire-bound commands, each in
5//! its own file (file name = Tauri command identifier per the
6//! Naming-Convention exception):
7//!
8//! - `MountainProvideHover::MountainProvideHover`
9//! - `MountainProvideCodeActions::MountainProvideCodeActions`
10//! - `MountainProvideDocumentHighlights::MountainProvideDocumentHighlights`
11//! - `MountainProvideCompletions::MountainProvideCompletions`
12//! - `MountainProvideDefinition::MountainProvideDefinition`
13//! - `MountainProvideReferences::MountainProvideReferences`
14//!
15//! Each command is a thin shell that validates input and delegates to
16//! the matching `provide_*_impl` in the sibling `Hover` / `CodeActions`
17//! / … modules. Implementation files are `pub(crate)` because callers
18//! outside this directory should go through the wire-bound shells.
19//!
20//! Errors propagate as `Result<Value, String>` with the string sent
21//! straight to the frontend; provider errors (`CommonError`) are
22//! stringified at the boundary.
23//!
24//! VS Code reference: `vs/workbench/api/common/extHostLanguageFeatures.ts`,
25//! `vs/workbench/services/languageFeatures/common/languageFeaturesService.ts`.
26//!
27//! ## Planned Work
28//!
29//! - Document symbols, formatting, rename, signature help
30//! - Semantic tokens, code lens, inlay hints
31//! - Linked editing range, call/type hierarchy
32//! - Document color, folding/selection range
33//! - Request dedupe and cancellation tokens for long-running ops
34
35pub mod MountainProvideCodeActions;
36
37pub mod MountainProvideCompletions;
38
39pub mod MountainProvideDefinition;
40
41pub mod MountainProvideDocumentHighlights;
42
43pub mod MountainProvideHover;
44
45pub mod MountainProvideReferences;
46
47pub(crate) mod CodeActions;
48
49pub(crate) mod Completions;
50
51pub(crate) mod Definition;
52
53pub(crate) mod Highlights;
54
55pub(crate) mod Hover;
56
57pub(crate) mod References;
58
59pub(crate) mod InvokeProvider;
60
61pub(crate) mod Validation;