1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//! # vize_maestro
//!
//! Maestro - Language Server Protocol implementation for Vize.
//!
//! ## Name Origin
//!
//! **Maestro** is a master conductor who coordinates an orchestra,
//! bringing together all the instruments in harmony. Similarly,
//! `vize_maestro` orchestrates all the Vize compiler tools to provide
//! a seamless IDE experience through the Language Server Protocol.
//!
//! ## Architecture
//!
//! ```text
//! +------------------------------------------------------------------+
//! | vize_maestro (LSP Server) |
//! +------------------------------------------------------------------+
//! | |
//! | +--------------------+ +-------------------+ |
//! | | LSP Transport | | Server Core | |
//! | | (tower-lsp) |<--->| (request/event) | |
//! | +--------------------+ +-------------------+ |
//! | | |
//! | v |
//! | +-----------------------------------------------------------+ |
//! | | Document Store | |
//! | | (Rope-based efficient text storage) | |
//! | +-----------------------------------------------------------+ |
//! | | |
//! | v |
//! | +-----------------------------------------------------------+ |
//! | | Virtual Code Layer | |
//! | | SFC → Virtual Documents (template.ts, script.ts, css) | |
//! | | SourceMap for bidirectional position mapping | |
//! | +-----------------------------------------------------------+ |
//! | | |
//! | v |
//! | +-----------------------------------------------------------+ |
//! | | Syntax Analysis Layer | |
//! | | vize_atelier_sfc | vize_armature | vize_relief | |
//! | +-----------------------------------------------------------+ |
//! +------------------------------------------------------------------+
//! ```
//!
//! ## Features
//!
//! - LSP server implementation for Vue SFC files
//! - Code completion and IntelliSense
//! - Go to definition and references
//! - Hover information
//! - Diagnostics and error reporting
//! - Code actions and quick fixes
//! - Rename refactoring
//! - Document symbols and outline
//!
//! ## Usage
//!
//! ```no_run
//! #[tokio::main]
//! async fn main() {
//! vize_maestro::serve().await.unwrap();
//! }
//! ```
pub use ;
pub use MaestroServer;
pub use ;
use ;
/// Start the LSP server using stdio transport.
///
/// This is the main entry point for the language server.
/// It creates a tower-lsp service and starts serving on stdin/stdout.
pub async
/// Start the LSP server on a TCP socket.
///
/// This is useful for debugging and testing.
pub async