🐞 Programmatic cursor state updates are never applied

Ouverte Adaptée aux débutants
#377 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
84/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
swift
Domaine
desktop

Piste de recherche

Commencez par SourceEditor.updateControllerWithState(_:controller:) et examinez comment state.cursorPositions est comparé aux positions actuelles du curseur du controller. Reproduisez la mise à jour du binding décrite dans l’issue, puis vérifiez que l’affectation d’une valeur différente de SourceEditorState.cursorPositions déplace le curseur du TextViewController sous-jacent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description

Programmatic updates to SourceEditorState.cursorPositions are never applied to the underlying TextViewController.

In SourceEditor.updateControllerWithState(_:controller:), the new cursor positions are compared with the same state value:

if let cursorPositions = state.cursorPositions, cursorPositions != state.cursorPositions {
    controller.setCursorPositions(cursorPositions)
}

Because cursorPositions was just unwrapped from state.cursorPositions, the comparison is always false.

To Reproduce
  1. Create a SourceEditor with a binding to SourceEditorState.
  2. After the editor appears, programmatically assign a different value to state.cursorPositions.
  3. Observe that the editor cursor does not move to the requested position.
Expected Behavior

Changing SourceEditorState.cursorPositions should update the cursor positions in the underlying controller.

The comparison likely needs to use the controller's current state:

if let cursorPositions = state.cursorPositions,
   cursorPositions != controller.cursorPositions {
    controller.setCursorPositions(cursorPositions)
}
Version Information

CodeEditSourceEditor: main, revision 1fa4d3c
macOS: 15.7.9
Xcode: 26.3 (17C529)

Additional Context

No matching open or closed issue was found before filing this report.

Screenshots

Not applicable.

Langage dominant
Swift
Étoiles
720
Forks
162
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CodeEditApp/CodeEditSourceEditor

Toutes les issues de CodeEditApp/CodeEditSourceEditor

Issues similaires

Plus d'issues Swift

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.