From 5e53b0c5a9e1c693d46bdaf24e6b5ce498410da6 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 13 Aug 2015 10:51:31 +0300 Subject: emacs: Add code to run guix command in REPL. * emacs/guix-base.el (guix-run-command-in-repl, guix-command-output, guix-help-string): New functions. * emacs/guix-main.scm (guix-command, guix-command-output, help-string): New procedures. --- emacs/guix-main.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'emacs/guix-main.scm') diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index 341657d931..bd42f8fc21 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -930,6 +930,24 @@ GENERATIONS is a list of generation numbers." (format #t "The source store path: ~a~%" (package-source-derivation->store-path derivation)))))) + +;;; Executing guix commands + +(define (guix-command . args) + "Run 'guix ARGS ...' command." + (catch 'quit + (lambda () (apply run-guix args)) + (const #t))) + +(define (guix-command-output . args) + "Return string with 'guix ARGS ...' output." + (with-output-to-string + (lambda () (apply guix-command args)))) + +(define (help-string . commands) + "Return string with 'guix COMMANDS ... --help' output." + (apply guix-command-output `(,@commands "--help"))) + ;;; Lists of packages, lint checkers, etc. -- cgit v1.2.3