Highlights: - 'doom purge' now purges builds, elpa packages, and repos by default. Regrafting repos is now opt-in with the -g/--regraft switches. Negation flags have been added for elpa/repos: -e/--no-elpa and -r/--no-repos. - Removed 'doom rebuild' (it is now just 'doom build' or 'doom b'). - Removed 'doom build's -f flag, this is now the default. Added the -r flag instead, which only builds packages that need rebuilding. - 'doom update' now updates packages synchronously, but produces more informative output about the updating process. - Straight can now prompt in batch mode, which resolves a lot of issues with 'doom update' (and 'doom upgrade') freezing indefinitely or throwing repo branch errors. - 'bin/doom's switches are now positional. Switches aimed at `bin/doom` must precede any subcommands. e.g. Do: 'doom -yd upgrade' Don't do: 'doom upgrade -yd' - Moved 'doom doctor' from bin/doom-doctor to core/cli/doctor, and integrated core/doctor.el into it, as to avoid naming conflicts between it and Emacs doctor. - The defcli! macro now has a special syntax for declaring flags, their arguments and descriptions. Addresses #1981, #1925, #1816, #1721, #1322
29 lines
704 B
EmacsLisp
29 lines
704 B
EmacsLisp
;;; core/cli/debug.el -*- lexical-binding: t; -*-
|
|
|
|
;;
|
|
;;; Commands
|
|
|
|
(defcli! info
|
|
((format ["--json" "--md" "--lisp"] "What format to dump info into"))
|
|
"Output system info in markdown for bug reports."
|
|
(pcase format
|
|
("--json"
|
|
(require 'json)
|
|
(with-temp-buffer
|
|
(insert (json-encode (doom-info)))
|
|
(json-pretty-print-buffer)
|
|
(print! (buffer-string))))
|
|
("--md"
|
|
(doom/info))
|
|
((or `nil "--lisp")
|
|
(doom/info 'raw))
|
|
(_
|
|
(user-error "I don't understand %S. Did you mean --json, --md/--markdown or --lisp?"
|
|
format)))
|
|
nil)
|
|
|
|
(defcli! (version v) ()
|
|
"Show version information for Doom & Emacs."
|
|
:bare t
|
|
(doom/version)
|
|
nil)
|