branch: externals/ellama
commit c8afbdf891c893099e69d0cf263c7ce6bc01456b
Merge: e037bbd213 67f5aac3b8
Author: Sergey Kostyaev <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #206 from s-kostyaev/fix-bad-file-name-characters-regexp
Refactor file name fixing logic
---
ellama.el | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/ellama.el b/ellama.el
index 00e3c0cf6b..ae90761246 100644
--- a/ellama.el
+++ b/ellama.el
@@ -647,23 +647,14 @@ EXTRA contains additional information."
"Return ellama session buffer by provided ID."
(gethash id ellama--active-sessions))
+(defconst ellama--forbidden-file-name-characters (rx (any "/\\?%*:|\"<>.;=")))
+
(defun ellama--fix-file-name (name)
"Change forbidden characters in the NAME to acceptable."
- (replace-regexp-in-string (rx (or (literal "/")
- (literal "\\")
- (literal "?")
- (literal "%")
- (literal "*")
- (literal ":")
- (literal "|")
- (literal "\"")
- (literal "<")
- (literal ">")
- (literal ".")
- (literal ";")
- (literal "=")))
- "_"
- name))
+ (replace-regexp-in-string
+ ellama--forbidden-file-name-characters
+ "_"
+ name))
(defun ellama-generate-name-by-words (provider action prompt)
"Generate name for ACTION by PROVIDER by getting first N words from PROMPT."