Skip to content

Commit 53dbd46

Browse files
committed
Call the filter function directly instead of using a predicate
1 parent 68e11b1 commit 53dbd46

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

chatgpt-shell.el

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -521,25 +521,29 @@ Downloaded from https://github.com/f/awesome-chatgpt-prompts."
521521
(setq chatgpt-shell-models (chatgpt-shell--make-default-models))
522522
(message "Reloaded %d models" (length chatgpt-shell-models)))
523523

524-
(defcustom chatgpt-shell-model-filter (lambda (_model) t)
525-
"A predicate used to determine which models should be shown in
526-
`chatgpt-shell-swap-model'."
524+
(defcustom chatgpt-shell-model-filter nil
525+
"A function that is applied `chatgpt-shell-models' to determine
526+
which models should be shown in `chatgpt-shell-swap-model'."
527527
:type 'function
528528
:group 'chatgpt-shell)
529529

530530
(defun chatgpt-shell-allow-model-versions (versions)
531531
"Return a predicate that accepts models only if their version
532532
appears in versions. This is intended for use with
533533
`chatgpt-shell-model-filter'."
534-
(lambda (model)
535-
(member (map-elt model :version) versions)))
534+
(lambda (models)
535+
(seq-filter (lambda (model)
536+
(member (map-elt model :version) versions))
537+
models)))
536538

537539
(defun chatgpt-shell-ignore-model-versions (versions)
538540
"A predicate intended for use with `chatgpt-shell-model-filter' to
539541
allow model versions specified in
540542
`chatgpt-shell-ignored-model-versions'."
541-
(lambda (model)
542-
(not (member (map-elt model :version) versions))))
543+
(lambda (models)
544+
(seq-filter (lambda (model)
545+
(not (member (map-elt model :version) versions)))
546+
models)))
543547

544548
(defun chatgpt-shell-swap-model ()
545549
"Swap model version from `chatgpt-shell-models'."
@@ -559,7 +563,9 @@ allow model versions specified in
559563
(format (format "%%-%ds %%s" width)
560564
(map-elt model :provider)
561565
(map-elt model :version)))
562-
(seq-filter chatgpt-shell-model-filter chatgpt-shell-models)))
566+
(if chatgpt-shell-model-filter
567+
(funcall chatgpt-shell-model-filter chatgpt-shell-models)
568+
chatgpt-shell-models)))
563569
(selection (nth 1 (split-string (completing-read "Model version: "
564570
models nil t)))))
565571
(progn

0 commit comments

Comments
 (0)