branch: externals/ellama commit c8afbdf891c893099e69d0cf263c7ce6bc01456b Merge: e037bbd213 67f5aac3b8 Author: Sergey Kostyaev <s-kosty...@users.noreply.github.com> Commit: GitHub <nore...@github.com>
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."