fordon_greeman / voidfiles

Branch: 2079ec5
Switch branches/tags
main
theidioticdev add emacs 2079ec5 22h ago
139 lines · 4.7 KB Raw Blame History
1 ;;; magit-core.el --- Core functionality -*- lexical-binding:t -*-
2
3 ;; Copyright (C) 2008-2026 The Magit Project Contributors
4
5 ;; Author: Jonas Bernoulli <emacs.magit@jonas.bernoulli.dev>
6 ;; Maintainer: Jonas Bernoulli <emacs.magit@jonas.bernoulli.dev>
7
8 ;; SPDX-License-Identifier: GPL-3.0-or-later
9
10 ;; Magit is free software: you can redistribute it and/or modify it
11 ;; under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation, either version 3 of the License, or
13 ;; (at your option) any later version.
14 ;;
15 ;; Magit is distributed in the hope that it will be useful, but WITHOUT
16 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 ;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 ;; License for more details.
19 ;;
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with Magit. If not, see <https://www.gnu.org/licenses/>.
22
23 ;;; Commentary:
24
25 ;; This library requires several other libraries, so that yet other
26 ;; libraries can just require this one, instead of having to require
27 ;; all the other ones. In other words this separates the low-level
28 ;; stuff from the rest. It also defines some Custom groups.
29
30 ;;; Code:
31
32 (require 'magit-base)
33 (require 'magit-git)
34 (require 'magit-mode)
35 (require 'magit-margin)
36 (require 'magit-process)
37 (require 'magit-transient)
38 (require 'magit-autorevert)
39
40 ;;; Options
41
42 (defgroup magit nil
43 "Controlling Git from Emacs."
44 :link '(url-link "https://magit.vc")
45 :link '(info-link "(magit)FAQ")
46 :link '(info-link "(magit)")
47 :group 'tools)
48
49 (defgroup magit-essentials nil
50 "Options that every Magit user should briefly think about.
51
52 Each of these options falls into one or more of these categories:
53
54 * Options that affect Magit's behavior in fundamental ways.
55 * Options that affect safety.
56 * Options that affect performance.
57 * Options that are of a personal nature."
58 :link '(info-link "(magit)Essential Settings")
59 :group 'magit)
60
61 (defgroup magit-miscellaneous nil
62 "Miscellaneous Magit options."
63 :group 'magit)
64
65 (defgroup magit-commands nil
66 "Options controlling behavior of certain commands."
67 :group 'magit)
68
69 (defgroup magit-modes nil
70 "Modes used or provided by Magit."
71 :group 'magit)
72
73 (defgroup magit-buffers nil
74 "Options concerning Magit buffers."
75 :link '(info-link "(magit)Modes and Buffers")
76 :group 'magit)
77
78 (defgroup magit-refresh nil
79 "Options controlling how Magit buffers are refreshed."
80 :link '(info-link "(magit)Automatic Refreshing of Magit Buffers")
81 :group 'magit
82 :group 'magit-buffers)
83
84 (defgroup magit-faces nil
85 "Faces used by Magit."
86 :group 'magit
87 :group 'faces)
88
89 (custom-add-to-group 'magit-faces 'diff-refine-added 'custom-face)
90 (custom-add-to-group 'magit-faces 'diff-refine-removed 'custom-face)
91
92 (defgroup magit-extensions nil
93 "Extensions to Magit."
94 :group 'magit)
95
96 (custom-add-to-group 'magit-modes 'git-commit 'custom-group)
97 (custom-add-to-group 'magit-faces 'git-commit-faces 'custom-group)
98 (custom-add-to-group 'magit-modes 'git-rebase 'custom-group)
99 (custom-add-to-group 'magit-faces 'git-rebase-faces 'custom-group)
100 (custom-add-to-group 'magit 'magit-section 'custom-group)
101 (custom-add-to-group 'magit-faces 'magit-section-faces 'custom-group)
102 (custom-add-to-group 'magit-process 'with-editor 'custom-group)
103
104 (defgroup magit-related nil
105 "Options that are relevant to Magit but that are defined elsewhere."
106 :link '(custom-group-link vc)
107 :link '(custom-group-link smerge)
108 :link '(custom-group-link ediff)
109 :link '(custom-group-link auto-revert)
110 :group 'magit
111 :group 'magit-extensions
112 :group 'magit-essentials)
113
114 (custom-add-to-group 'magit-related 'auto-revert-check-vc-info 'custom-variable)
115 (custom-add-to-group 'magit-auto-revert 'auto-revert-check-vc-info 'custom-variable)
116
117 (custom-add-to-group 'magit-related 'ediff-window-setup-function 'custom-variable)
118 (custom-add-to-group 'magit-related 'smerge-refine-ignore-whitespace 'custom-variable)
119 (custom-add-to-group 'magit-related 'vc-follow-symlinks 'custom-variable)
120
121 ;;; _
122 (provide 'magit-core)
123 ;; Local Variables:
124 ;; read-symbol-shorthands: (
125 ;; ("and$" . "cond-let--and$")
126 ;; ("thread$" . "cond-let--thread$")
127 ;; ("when$" . "cond-let--when$")
128 ;; ("and-let*" . "cond-let--and-let*")
129 ;; ("and-let" . "cond-let--and-let")
130 ;; ("if-let*" . "cond-let--if-let*")
131 ;; ("if-let" . "cond-let--if-let")
132 ;; ("when-let*" . "cond-let--when-let*")
133 ;; ("when-let" . "cond-let--when-let")
134 ;; ("while-let*" . "cond-let--while-let*")
135 ;; ("while-let" . "cond-let--while-let")
136 ;; ("match-string" . "match-string")
137 ;; ("match-str" . "match-string-no-properties"))
138 ;; End:
139 ;;; magit-core.el ends here