mirror of https://github.com/Chizi123/.emacs.d.git

Chizi123
2018-11-18 21067e7cbe6d7a0f65ff5c317a96b5c337b0b3d8
commit | author | age
5cb5f7 1 ;;; magit-core.el --- core functionality  -*- lexical-binding: t -*-
C 2
3 ;; Copyright (C) 2010-2018  The Magit Project Contributors
4 ;;
5 ;; You should have received a copy of the AUTHORS.md file which
6 ;; lists all contributors.  If not, see http://magit.vc/authors.
7
8 ;; Author: Jonas Bernoulli <jonas@bernoul.li>
9 ;; Maintainer: Jonas Bernoulli <jonas@bernoul.li>
10
11 ;; Magit is free software; you can redistribute it and/or modify it
12 ;; under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 3, or (at your option)
14 ;; any later version.
15 ;;
16 ;; Magit is distributed in the hope that it will be useful, but WITHOUT
17 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18 ;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
19 ;; License for more details.
20 ;;
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with Magit.  If not, see http://www.gnu.org/licenses.
23
24 ;;; Commentary:
25
26 ;; This library requires several other libraries, so that yet other
27 ;; libraries can just require this one, instead of having to require
28 ;; all the other ones.  In other words this separates the low-level
29 ;; stuff from the rest.  It also defines some Custom groups.
30
31 ;;; Code:
32
33 (require 'magit-utils)
34 (require 'magit-section)
35 (require 'magit-git)
36 (require 'magit-mode)
37 (require 'magit-margin)
38 (require 'magit-process)
39 (require 'magit-autorevert)
40
41 (defgroup magit nil
42   "Controlling Git from Emacs."
43   :link '(url-link "https://magit.vc")
44   :link '(info-link "(magit)FAQ")
45   :link '(info-link "(magit)")
46   :group 'tools)
47
48 (defgroup magit-essentials nil
49   "Options that every Magit user should briefly think about.
50
51 Each of these options falls into one or more of these categories:
52
53 * Options that affect Magit's behavior in fundamental ways.
54 * Options that affect safety.
55 * Options that affect performance.
56 * Options that are of a personal nature."
57   :link '(info-link "(magit)Essential Settings")
58   :group 'magit)
59
60 (defgroup magit-miscellaneous nil
61   "Miscellanous Magit options."
62   :group 'magit)
63
64 (defgroup magit-commands nil
65   "Options controlling behavior of certain commands."
66   :group 'magit)
67
68 (defgroup magit-git-arguments nil
69   "Options controlling what arguments are passed to Git.
70
71 Most of these options can be set using the respective popup,
72 and it is recommended that you do that because then you can
73 be certain that Magit supports the arguments that you select.
74
75 An option `magit-NAME-argument' specifies the arguments that
76 are enabled by default by the popup `magit-NAME-popup'."
77   :link '(info-link "(magit-popup)Customizing Existing Popups")
78   :link '(info-link "(magit-popup)Usage")
79   :group 'magit-commands)
80
81 (defgroup magit-modes nil
82   "Modes used or provided by Magit."
83   :group 'magit)
84
85 (defgroup magit-buffers nil
86   "Options concerning Magit buffers."
87   :link '(info-link "(magit)Modes and Buffers")
88   :group 'magit)
89
90 (defgroup magit-refresh nil
91   "Options controlling how Magit buffers are refreshed."
92   :link '(info-link "(magit)Automatic Refreshing of Magit Buffers")
93   :group 'magit
94   :group 'magit-buffers)
95
96 (defgroup magit-faces nil
97   "Faces used by Magit."
98   :group 'magit
99   :group 'faces)
100
101 (defgroup magit-extensions nil
102   "Extensions to Magit."
103   :group 'magit)
104
105 (custom-add-to-group 'magit-modes   'magit-popup       'custom-group)
106 (custom-add-to-group 'magit-faces   'magit-popup-faces 'custom-group)
107 (custom-add-to-group 'magit-modes   'git-commit        'custom-group)
108 (custom-add-to-group 'magit-faces   'git-commit-faces  'custom-group)
109 (custom-add-to-group 'magit-modes   'git-rebase        'custom-group)
110 (custom-add-to-group 'magit-faces   'git-rebase-faces  'custom-group)
111 (custom-add-to-group 'magit-process 'with-editor       'custom-group)
112
113 (defgroup magit-related nil
114   "Options that are relevant to Magit but that are defined elsewhere."
115   :link '(custom-group-link vc)
116   :link '(custom-group-link smerge)
117   :link '(custom-group-link ediff)
118   :link '(custom-group-link auto-revert)
119   :group 'magit
120   :group 'magit-extensions
121   :group 'magit-essentials)
122
123 (custom-add-to-group 'magit-related     'auto-revert-check-vc-info 'custom-variable)
124 (custom-add-to-group 'magit-auto-revert 'auto-revert-check-vc-info 'custom-variable)
125
126 (custom-add-to-group 'magit-related 'ediff-window-setup-function 'custom-variable)
127 (custom-add-to-group 'magit-related 'smerge-refine-ignore-whitespace 'custom-variable)
128 (custom-add-to-group 'magit-related 'vc-follow-symlinks 'custom-variable)
129
130 ;;; _
131 (provide 'magit-core)
132 ;;; magit-core.el ends here