download: Use 'with-imported-modules'.
[jackhill/guix/guix.git] / emacs / guix-help-vars.el
1 ;;; guix-help-vars.el --- Variables related to --help output
2
3 ;; Copyright © 2015 Alex Kost <alezost@gmail.com>
4
5 ;; This file is part of GNU Guix.
6
7 ;; GNU Guix is free software; you can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation, either version 3 of the License, or
10 ;; (at your option) any later version.
11
12 ;; GNU Guix is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;; GNU General Public License for more details.
16
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20 ;;; Commentary:
21
22 ;; This file provides regular expressions to parse various "guix
23 ;; ... --help" outputs and lists of non-receivable items (system types,
24 ;; hash formats, etc.).
25
26 ;;; Code:
27
28 \f
29 ;;; Regexps for parsing "guix ..." outputs
30
31 (defvar guix-help-parse-option-regexp
32 (rx bol " "
33 (zero-or-one (group "-" (not (any "- ")))
34 ",")
35 (one-or-more " ")
36 (group "--" (one-or-more (or wordchar "-")))
37 (group (zero-or-one "[")
38 (zero-or-one "="))
39 (zero-or-more (not space))
40 (one-or-more space)
41 (group (one-or-more any)))
42 "Common regexp used to find command options.")
43
44 (defvar guix-help-parse-command-regexp
45 (rx bol " "
46 (group wordchar (one-or-more (or wordchar "-"))))
47 "Regexp used to find guix commands.
48 'Command' means any option not prefixed with '-'. For example,
49 guix subcommand, system action, importer, etc.")
50
51 (defvar guix-help-parse-long-option-regexp
52 (rx (or " " ", ")
53 (group "--" (one-or-more (or wordchar "-"))
54 (zero-or-one "=")))
55 "Regexp used to find long options.")
56
57 (defvar guix-help-parse-short-option-regexp
58 (rx bol (one-or-more blank)
59 "-" (group (not (any "- "))))
60 "Regexp used to find short options.")
61
62 (defvar guix-help-parse-package-regexp
63 (rx bol (group (one-or-more (not blank))))
64 "Regexp used to find names of the packages.")
65
66 (defvar guix-help-parse-list-regexp
67 (rx bol (zero-or-more blank) "- "
68 (group (one-or-more (or wordchar "-"))))
69 "Regexp used to find various lists (lint checkers, graph types).")
70
71 (defvar guix-help-parse-regexp-group 1
72 "Parenthesized expression of regexps used to find commands and
73 options.")
74
75 \f
76 ;;; Non-receivable lists of system types, hash formats, etc.
77
78 (defvar guix-help-system-types
79 '("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
80 "List of supported systems.")
81
82 (defvar guix-help-source-types
83 '("package" "all" "transitive")
84 "List of supported sources types.")
85
86 (defvar guix-help-hash-formats
87 '("nix-base32" "base32" "base16" "hex" "hexadecimal")
88 "List of supported hash formats.")
89
90 (defvar guix-help-refresh-subsets
91 '("core" "non-core")
92 "List of supported 'refresh' subsets.")
93
94 (defvar guix-help-key-policies
95 '("interactive" "always" "never")
96 "List of supported key download policies.")
97
98 (defvar guix-help-verify-options
99 '("repair" "contents")
100 "List of supported 'verify' options")
101
102 (defvar guix-help-elpa-archives
103 '("gnu" "melpa" "melpa-stable")
104 "List of supported ELPA archives.")
105
106 (provide 'guix-help-vars)
107
108 ;;; guix-help-vars.el ends here