-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
enhancementNew feature or requestNew feature or requestextensionsIssues related to the extension architecture in CodeEditIssues related to the extension architecture in CodeEditsource editor
Description
Description
Use the newly created DiagnosticManager
to provide file-specific diagnostics to the editor via LineAnnotations
. This connection allows visual issues to appear directly in the source editor view below the affected lines.
Requirements
- Convert
DiagnosticIssue
instances for the current file intoLineAnnotation
objects:struct LineAnnotation: Hashable, Identifiable { let id: UUID = UUID() let line: Int let column: Int let severity: DiagnosticIssue.Severity let text: String }
- Extend
DiagnosticManager
with a helper:func annotations(for file: URL) -> Set<LineAnnotation>
- In views where
CodeEditSourceEditor
is used:- Access the current file’s annotations using the manager
- Pass them into the editor view via:
annotations: Set<LineAnnotation>
- The editor should already know how to render the annotations; this task is only concerned with wiring up the data source.
Additional Context
This connects the data produced by DiagnosticManager
to line annotations introduced in CodeEditSourceEditor. This is a key step in surfacing diagnostics in a context-aware and developer-friendly way.
Later extensions might include showing annotations from multiple sources, updating annotations live from LSP, or supporting quick fixes from the underlying DiagnosticIssue
.
Related Issues
- ✨ Diagnostic Manager #2014 (pre-requisite)
- ✨ Line Annotations CodeEditSourceEditor#297 (pre-requisite)
- ✨ Issue Navigator #354
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestextensionsIssues related to the extension architecture in CodeEditIssues related to the extension architecture in CodeEditsource editor
Type
Projects
Status
📋 Todo