✨ Placeholder Support

Abierto
#287 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
swift

Línea de trabajo

No se especifica ningún archivo ni prueba. Empieza rastreando los puntos de integración actuales de la edición de texto, el resaltado de sintaxis y LSP; después, determina dónde deben ubicarse el reconocimiento, el renderizado, la edición y la navegación con Tab/Shift+Tab de los marcadores de posición. Se considera terminado cuando los marcadores de posición son visualmente distintos, editables, navegables y anidables, y se reflejan en el estado del editor sin romper el resaltado existente ni el comportamiento de LSP.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement
Description

Implement support for placeholders in CodeEdit, similar to Xcode’s <#placeholder#> feature. This would allow developers to insert and cycle through editable placeholders in their code, improving productivity and code clarity during development.

Use Case

This feature would be particularly useful for defining temporary or template-like code constructs, such as:

let <#name#> = <#value#>

Placeholders would:

  1. Be highlighted visually.
  2. Be navigable (e.g., via Tab key).
  3. Allow inline editing to replace the placeholder text.
Expected Behavior
  • When a placeholder is inserted (e.g., <#placeholder#>), it should:
  • Appear visually distinct (e.g., highlighted with a subtle background color or outline).
  • Be editable directly in the code editor.
  • Allow navigation between placeholders using keyboard shortcuts like Tab and Shift+Tab.
  • Placeholders should support nested constructs (e.g., let <#name#> = <#type#>(<#arguments#>)).
Technical Notes
  • Integrate placeholder handling with the current text editing features.
  • Consider compatibility with existing syntax highlighting and LSP integration.
Steps to Implement
  1. Define a syntax for placeholders (e.g., <#placeholder#>).
  2. Update the text editor to recognize and render placeholders.
  3. Add keyboard navigation support for placeholders.
  4. Ensure placeholder edits are reflected in the editor state.
Additional Context

This feature would align CodeEdit with Xcode’s behavior, making it a more familiar and seamless experience for developers who work on macOS. It also complements other code editing enhancements, such as autocompletion and LSP support.

Screenshots
image
Lenguaje dominante
Swift
Estrellas
720
Forks
162
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CodeEditApp/CodeEditSourceEditor

Todos los issues de CodeEditApp/CodeEditSourceEditor

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.