Open
Description
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:
- Be highlighted visually.
- Be navigable (e.g., via Tab key).
- 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
- Define a syntax for placeholders (e.g.,
<#placeholder#>
). - Update the text editor to recognize and render placeholders.
- Add keyboard navigation support for placeholders.
- 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

Metadata
Metadata
Assignees
Labels
Type
Projects
Status
📋 Todo