CodeEditApp / CodeEditApp/CodeEditSourceEditor
✨ Placeholder Support
- Dominant language
- Swift
- Stars
- 719
- Forks
- 160
- PR merge metrics
- No merged PRs in 30d
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:
```swift
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
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.