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
Copy file name to clipboardExpand all lines: LSP.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ This separation means language experts can focus on building great language serv
28
28
29
29
The LSP architecture has three main components:
30
30
31
-
```
31
+
```text
32
32
┌─────────────────┐ JSON-RPC ┌─────────────────┐
33
33
│ │ ◄──────────────────────► │ │
34
34
│ Editor/IDE │ (WebSocket/stdio) │ Language Server │
@@ -82,7 +82,7 @@ The LSP servers run as background processes—you don't need to start them manua
82
82
83
83
The LSP server is a **separate process** that runs alongside your notebook environment:
84
84
85
-
```
85
+
```text
86
86
┌──────────────────────────────────────────────┐
87
87
│ Deepnote Toolkit Environment │
88
88
│ │
@@ -118,19 +118,19 @@ This separation is crucial because:
118
118
119
119
The LSP server provides IDE-quality features that traditional notebooks lack:
120
120
121
-
**Real-Time Analysis**
121
+
#### Real-Time Analysis
122
122
123
123
- Parses your code without executing it
124
124
- Tracks imports, variable definitions, and function signatures
125
125
- Provides instant feedback on syntax errors and potential issues
126
126
127
-
**Context-Aware Intelligence**
127
+
#### Context-Aware Intelligence
128
128
129
129
- Understands your project structure
130
130
- Knows about imported libraries and their APIs
131
131
- Tracks variable types and usage patterns
132
132
133
-
**Multi-Language Support**
133
+
#### Multi-Language Support
134
134
135
135
- Python blocks get Python-specific intelligence
136
136
- SQL blocks get SQL-specific intelligence
@@ -140,7 +140,7 @@ The LSP server provides IDE-quality features that traditional notebooks lack:
140
140
141
141
Notebooks present unique challenges for LSP because they're not traditional files. Here's how Deepnote solves this:
142
142
143
-
**Virtual Document Model**
143
+
#### Virtual Document Model
144
144
145
145
```python
146
146
# Cell 1
@@ -166,7 +166,7 @@ This allows the language server to understand:
166
166
- Variables defined in previous cells
167
167
- The overall execution context of your notebook
168
168
169
-
**Cell Independence**
169
+
#### Cell Independence
170
170
171
171
Unlike execution (which can happen in any order), LSP analysis respects cell order in the notebook. This means you get accurate intelligence even if you haven't executed cells yet.
0 commit comments