WIP

Antonio Scandurra created

Change summary

todo.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)

Detailed changes

todo.md 🔗

@@ -5,3 +5,59 @@
 - When you hit escape, the assistant should stop.
 - When you hit undo and you undo a transaction from the assistant, we should stop generating.
 - Keep the inline editor around until the assistant is done. Add a cancel button to stop, and and undo button to undo the whole thing. (Interactive<IconButton>)
+
+
+# 9:39 AM
+
+- Hit `ctrl-enter`
+
+- Puts me in assistant mode with the selected text highlighted in a special color. If text was selected, I'm in transformation mode.
+- If there's no selection, put me on the line below, aligned with the indent of the line.
+- Enter starts generation
+- Ctrl-enter inserts a newline
+- Once generations starts, enter "confirms it" by dismissing the inline editor.
+- Escape in the inline editor cancels/undoes/dismisses.
+- To generate text in reference to other text, we can *mark* text.
+
+
+- Hit ctrl-enter deploys an edit prompt
+    - Empty selection (cursor) => append text
+        - On end of line: Edit prompt on end of line.
+        - Middle of line: Edit prompt near cursor head on a different line
+    - Non-empty selection => refactor
+        - Edit prompt near cursor head on a different line
+        - What was selected when you hit ctrl-enter is colored.
+- Selection is cleared and cursor is moved to prompt input
+- When cursor is inside a prompt
+    - Escape cancels/undoes
+    - Enter confirms
+- Multicursor
+    - Run the same prompt for every selection in parallel
+    - Position the prompt editor at the newest cursor
+- Follow up ship: Marks
+    - Global across all buffers
+    - Select text, hit a binding
+    - That text gets added to the marks
+        - Simplest: Marks are a set, and you add to them with this binding.
+        - Could this be a stack? That might be too much.
+    - When you hit ctrl-enter to generate / transform text, we include the marked text in the context.
+
+- During inference, always send marked text.
+- During inference, send as much context as possible given the user's desired generation length.
+
+- This would assume a convenient binding for setting the generation length.
+
+
+~~~~~~~~~
+
+Dial up / dial down how much context we send
+Dial up / down your max generation length.
+
+
+------- (merge to main)
+
+- Text in the prompt should soft wrap
+
+----------- (maybe pause)
+
+- Excurse outside of the editor without dismissing it... kind of like a message in the assistant.