🐞 Programmatic cursor state updates are never applied
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
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
- Create a
SourceEditorwith a binding toSourceEditorState. - After the editor appears, programmatically assign a different value to
state.cursorPositions. - 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CodeEditApp/CodeEditSourceEditor
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
CodeEditApp/CodeEditSourceEditor#376 · 1 commentaire ·
-
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
CodeEditApp/CodeEditSourceEditor#378 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 32/100
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Toutes les issues de CodeEditApp/CodeEditSourceEditor
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
type: docs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100
googleapis/google-cloud-swift#971 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Move wallpaper setting Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
mozilla-mobile/firefox-ios#35743 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
manaflow-ai/cmux#13417 ·