branch: elpa/aidermacs
commit f6458bcd8a12dd475b37c6b720bc535fbc06cc1b
Author: Mingde (Matthew) Zeng <matthew...@posteo.net>
Commit: Mingde (Matthew) Zeng <matthew...@posteo.net>

    Add aidermacs-add-files-interactively
---
 README.md         |  8 ++++++++
 aidermacs-doom.el |  1 +
 aidermacs.el      | 21 ++++++++++++++++-----
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index fbf1f62300..b84f11475b 100644
--- a/README.md
+++ b/README.md
@@ -60,6 +60,7 @@ With `Aidermacs`, you get:
    - List files currently in chat with `M-x aidermacs-list-added-files`
    - Drop specific files from chat with `M-x aidermacs-drop-file`
    - View output history with `M-x aidermacs-show-output-history`
+   - Interactively select files to add with `M-x 
aidermacs-add-files-interactively`
    - and more
 
 6. Greater Configurability
@@ -183,6 +184,8 @@ From the transient menu:
 - `.` Start in current directory (good for monorepos)
 - `^` Toggle "Start in New Frame" option
 - `o` Change AI model
+- `s` Reset session
+- `x` Exit session
 
 The session buffer will be named `*aidermacs:your-repo-name*` where you can 
interact with the AI.
 
@@ -193,6 +196,11 @@ Most common operations are available directly:
 - `r` Refactor code at point/region
 - `d` Drop current file from chat
 - `g` Accept AI's proposal ("go ahead")
+- `u` Undo last change
+- `Q` Ask general question
+- `q` Ask question about current code
+- `e` Explain code at point/region
+- `p` Explain symbol under point
 
 #### 3. Specialized Commands
 Access more specific commands through submenus:
diff --git a/aidermacs-doom.el b/aidermacs-doom.el
index d04b1ab527..fcdff8fe0d 100644
--- a/aidermacs-doom.el
+++ b/aidermacs-doom.el
@@ -25,6 +25,7 @@
                             :desc "File read-only" "f" 
#'aidermacs-add-current-file-read-only
                             :desc "Files in window" "w" 
#'aidermacs-add-files-in-current-window
                             :desc "Add Same Type Files under dir" "d" 
#'aidermacs-add-same-type-files-under-dir
+                            :desc "Add files interactively" "i" 
#'aidermacs-add-files-interactively
                             :desc "Batch direct marked files" "b" 
#'aidermacs-batch-add-dired-marked-files
                             )
 
diff --git a/aidermacs.el b/aidermacs.el
index db7cab72d3..9190a967ae 100644
--- a/aidermacs.el
+++ b/aidermacs.el
@@ -131,13 +131,14 @@ This function can be customized or redefined by the user."
   ["File Actions"
    ["Add File Actions"
     ("f" "Add Current File" aidermacs-add-current-file)
-    ("r" "Add Read-Only" aidermacs-add-current-file-read-only)
-    ("w" "Add Window Files" aidermacs-add-files-in-current-window)
-    ("d" "Add Directory Files" aidermacs-add-same-type-files-under-dir)
-    ("m" "Add Marked Files" aidermacs-batch-add-dired-marked-files)]
+    ("i" "Add File Interactively" aidermacs-add-files-interactively)
+    ("r" "Add Current Read-Only" aidermacs-add-current-file-read-only)
+    ("w" "Add Current Window Files" aidermacs-add-files-in-current-window)
+    ("d" "Add Current Directory Files" aidermacs-add-same-type-files-under-dir)
+    ("m" "Add Dired Marked Files" aidermacs-batch-add-dired-marked-files)]
 
    ["Drop Actions"
-    ("j" "Drop File" aidermacs-drop-file)
+    ("j" "Drop File Interactively" aidermacs-drop-file)
     ("k" "Drop Current File" aidermacs-drop-current-file)]
 
    [("l" "List Files" aidermacs-list-added-files)]])
@@ -622,6 +623,16 @@ If point is in a function, explain that function."
           (aidermacs--send-command command t))
       (message "No files marked in Dired."))))
 
+;;;###autoload
+(defun aidermacs-add-files-interactively ()
+  "Add files to aidermacs by interactively selecting them using `find-file`.
+Multiple files can be selected by calling the command multiple times."
+  (interactive)
+  (when-let ((file (expand-file-name (read-file-name "Select file to add: "))))
+    (if (file-exists-p file)
+        (aidermacs--send-command (concat "/add " file) t)
+      (message "File does not exist: %s" file))))
+
 ;;;###autoload
 (defun aidermacs-add-same-type-files-under-dir ()
   "Add all files with same suffix as current file under current directory to 
aidermacs.

Reply via email to