diff options
author | Pierre Neidhardt <mail@ambrevar.xyz> | 2023-04-27 17:49:30 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2023-04-27 17:50:38 +0200 |
commit | d59b4764f3171b1430a6d3b954659b8aab730475 (patch) | |
tree | 2d7280891e9da4cd865ec409a07196139c1890b8 /gnu/packages/lisp-xyz.scm | |
parent | 297805b1f83aa58ba9fc775c203373338aafd5ac (diff) | |
download | guix-d59b4764f3171b1430a6d3b954659b8aab730475.tar.gz guix-d59b4764f3171b1430a6d3b954659b8aab730475.zip |
gnu: Add cl-prompter.
* gnu/packages/lisp-xyz.scm (cl-prompter, ecl-prompter, sbcl-prompter): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 045932dd5a..b9d0a0fddb 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -25710,6 +25710,70 @@ extra features like type inference.") (define-public cl-nclasses (sbcl-package->cl-source-package sbcl-nclasses)) +(define-public sbcl-prompter + (package + (name "sbcl-prompter") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atlas-engineer/prompter") + (commit version))) + (file-name (git-file-name "prompter" version)) + (sha256 + (base32 + "1489qg99n5bpl9b88pq3smnw5l9hrq08sbnabvavv3jcd4pzpsqf")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "nasdf") + #t)))) + (build-system asdf-build-system/sbcl) + (inputs + (list + sbcl-alexandria + sbcl-calispel + sbcl-cl-containers + sbcl-cl-str + sbcl-closer-mop + sbcl-lparallel + sbcl-moptilities + sbcl-nclasses + sbcl-serapeum + sbcl-trivial-package-local-nicknames)) + (native-inputs + (list sbcl-lisp-unit2 + sbcl-nasdf)) + (home-page "https://github.com/atlas-engineer/prompter") + (synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework") + (description + "This prompter library is heavily inspired by Emacs' minibuffer and +Helm (@url{https://emacs-helm.github.io/helm/}). It only deals with the +backend side of things, it does not handle any display. + +Non-exhaustive list of features: + +@itemize +@item Asynchronous suggestion computation. +@item Multiple sources. +@item Multiple return actions. +@item Customizable matching and sorting. +@item Multiple attributes to match and display (also known as 'multiple column +display'). +@item Customizable initialization and cleanup functions. +@item Notifications sent when suggestion list is updated. +@item Per-source history. +@item Resumable prompters. +@item Marks actions (event-driven on marks change). +@item Current suggestion actions (event-driven on current suggestion change). +@item Automatically return the prompt when narrowed down to a single suggestion. +@end itemize\n") + (license license:bsd-3))) + +(define-public cl-prompter + (sbcl-package->cl-source-package sbcl-prompter)) + (define-public sbcl-cl-template (let ((commit "46193a9a389bb950530e579eae7e6e5a18184832") (revision "0")) |