The Edit menu lists four line manipulation shortcuts that are no-ops:
- Alt+Up: Move Line Up
- Alt+Down: Move Line Down
- Shift+Alt+Up: Copy Line Up
- Shift+Alt+Down: Copy Line Down
These are standard shortcuts in VS Code and most modern editors, and developers rely on them constantly for quick reorganization without cut/paste.
What needs to happen
All four of these can be implemented purely in the frontend with basic buffer manipulation:
- Move Line Up / Down: Swap the current line (or all lines touched by the selection) with the line above/below it. Adjust cursor position to follow the moved content.
- Copy Line Up / Down: Insert a duplicate of the current line (or selected lines) immediately above or below. Cursor follows to the copy.
- If there is a multi-line selection, all lines in the selection should move or copy together as a unit.
Files likely involved
app/frontend/src/components/GpuEditor.tsx -- where keybindings are handled and buffer mutations happen
app/frontend/src/fullscreen/FullscreenIDE.tsx -- where the menu action currently short-circuits to a no-op
Acceptance criteria
- Alt+Up/Down moves the current line or selected block up or down by one line
- Shift+Alt+Up/Down inserts a duplicate of the current line or block above or below
- Cursor and selection move with the content
- Works with multi-line selections
- Undo reverts the operation in a single step
The Edit menu lists four line manipulation shortcuts that are no-ops:
These are standard shortcuts in VS Code and most modern editors, and developers rely on them constantly for quick reorganization without cut/paste.
What needs to happen
All four of these can be implemented purely in the frontend with basic buffer manipulation:
Files likely involved
app/frontend/src/components/GpuEditor.tsx-- where keybindings are handled and buffer mutations happenapp/frontend/src/fullscreen/FullscreenIDE.tsx-- where the menu action currently short-circuits to a no-opAcceptance criteria