CodeEditApp / CodeEditApp/CodeEdit

✨ Display Issues as Line Annotations In Source Editor

Aperta
#2,015 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement extensions source editor
Lingua principale
Swift
Stelle
23k
Fork
1.2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Description

Use the [newly created](https://github.com/CodeEditApp/CodeEdit/issues/2014) `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 into `LineAnnotation` objects:
```swift
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:
```swift
func annotations(for file: URL) -> Set
```
- In views where `CodeEditSourceEditor` is used:
- Access the current file’s annotations using the manager
- Pass them into the editor view via:
```swift
annotations: Set
```
- 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](https://github.com/CodeEditApp/CodeEditSourceEditor/issues/297). 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

- #2014 (pre-requisite)
- https://github.com/CodeEditApp/CodeEditSourceEditor/issues/297 (pre-requisite)
- #354

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.