Commit Graph

88 Commits

Author SHA1 Message Date
9a02bd8ac8 Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
aa64cf9426 Replace kill-this-buffer with kill-current-buffer
As per the documentation for kill-this-buffer, it should only be invoked
from the menu and behaves unpredictably when invoked programmatically.
2019-05-30 18:54:58 -07:00
66b74c63b7 magit-todos 1.2 removed magit-todos-require-colon
3c59aa03b2 (12)
2019-05-30 16:33:37 +02:00
2214c3175e Minor tweaks across the board 2019-05-21 00:34:32 -04:00
42ba2a22b8 Prevent ~/.emacs.d/transient from being created 2019-05-19 02:17:59 -04:00
10f60e7918 tools/magit: add -t/--tags action to magit-fetch 2019-05-13 00:20:06 -04:00
051f792205 tools/magit: remove +magit-display-popup-buffer
Because magit uses transient now, and other plugins that use magit-popup
don't seem to need it anymore.

And update docstring+comments.
2019-05-04 19:13:26 -04:00
b189254050 Don't kill magit on ESC (for evil users)
q is enough. An ESC could be accidental (e.g. when ESCing from visual
mode in magit).
2019-04-24 18:16:04 -04:00
77e4cc4d58 💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
da34862e56 Fix TAB in magit-diff-mode 2019-04-10 18:51:20 -04:00
820d77c546 tools/magit: bind TAB in more magit modes 2019-03-26 03:43:23 -04:00
f0013083c0 Restore minimal modeline in magit
With process indicator
2019-03-11 12:54:16 -04:00
d5ba685817 Don't overwrite C-i in GUI Emacs 2019-03-09 02:42:31 -05:00
8f733c2ab5 Don't kill magit with ESC 2019-03-08 04:25:45 -05:00
1f23eecdc8 (Try to) homogenize TAB/RET/ESC keybinds
Map them to \t/^M/^[, rather than [tab], [return] and [escape].
2019-03-08 04:25:45 -05:00
e56a9580d7 tools/magit: don't close magit with ESC 2019-02-21 19:13:36 -05:00
9567b1f97f Move ESC keybind for transient to tools/magit 2019-02-20 14:45:18 -05:00
ecfe52f71c Fix +magit/clone to no longer use magithub 2019-02-18 18:26:19 -05:00
6956525f79 I silenced the byte compiler, what happened next will blow your mind
Top 10 incredible ways to silence the byte compiler

The byte compiler just wouldn't shut up. You wouldn't believe what
happened next.

40 hot singles in your area are waiting for the byte compiler to shut
up.

20 INSANE life hacks to put an end to the byte compiler's tyranny.

(DEFINITELY NOT CLICKBAIT)
2019-02-18 01:05:26 -05:00
ec55884aae General, minor reformatting & refactor 2019-02-18 00:47:46 -05:00
ffcfde71d9 tools/magit: replace magithub with forge #1174
And we're back to using the latest version of magit, which should
resolve void-function and void-variable errors that we were avioding in
33ef9034.
2019-02-16 16:54:26 -05:00
33ef90343e Revert to stable version of magit, temporarily
Magit introduced some breaking changes in a recent commit that breaks
evil-magit and magithub. Magithub appears to be migrating to forge, so
until evil-magit has updated and I've properly replaced magithub with
forge, we'll use an earlier version of magit instead.
2019-02-14 23:47:29 -05:00
9f96e3eae8 Merge pull request #1076 from filalex77/magit-forge
[tools/magit] Add magit-forge
2019-02-12 15:33:48 -05:00
951b2be7d1 Enable magit-todos-mode globally
Rather than treat it like it's a minor mode.
2019-02-03 18:39:34 -05:00
5b44d3fa61 Set forge-database-file in doom-etc-dir
Suggested by @luigy
2019-01-26 12:18:31 +02:00
fa5bebc13a tools/magit: fix ivy's sorting with magit #1131
By default, magit-completing-read-function is set to
magit-builtin-completing-read, which already includes ivy support.
2019-01-23 14:43:01 -05:00
bd8f33df52 tools/magit: :when+not => :unless
Minor refactor
2019-01-21 22:27:03 -05:00
5287c48092 Move Forge binding to config/default/+evil-bindings 2019-01-11 15:00:24 +02:00
b796ad76cc Move Forge leader binding to magit/+evil-bindings 2019-01-10 13:15:54 +02:00
0d3c8e3d9a Fix def-package for magit/forge
- add :after magit
- fix space position after "Forge"
2019-01-10 13:09:14 +02:00
7c368d4f9a Add configuration for magit forge 2019-01-04 09:42:56 +08:00
451c16b8ee Revise :after-call & :defer-incrementally comments
Now implicitly adds the current package to :defer-incrementally's list
of packages.
2018-12-23 00:25:51 -05:00
4daa9271a0 Introduce general.el & rewrite map!
+ Now uses an overriding keymap for leader keys, so that it is always
  available, even outside of normal/visual states. In insert/emacs
  states, or in sessions where evil is absent, an alternative prefix is
  used for leader/localleader keys. See these variables:
  + doom-leader-prefix
  + doom-leader-alt-prefix
  + doom-localleader-prefix
  + doom-localleader-alt-prefix
+ Keybinds now support alternative prefixes through the new :alt-prefix
  property. This is useful for non-evil users and non-normal evil
  states. By default, this is M-SPC (leader) and M-SPC m (localleader).
+ Removed +evil-commands flag from config/default (moved to
  feature/evil/+commands.el).
+ config/default/+bindings.el has been split into
  config/default/+{evil,emacs}-bindings.el, which one is loaded depends
  on whether evil is present or not. The latter is blank, but will soon
  be populated with a keybinding scheme for non-evil users (perhaps
  inspired by #641).
+ The define-key! macro has been replaced; it is now an alias for
  general-def.
+ Added unmap! as an alias for general-unbind.
+ The following modifier key conventions are now enforced for
  consistency, across all OSes:
    alt/option      = meta
    windows/command = super
  It used to be
    alt/option      = alt
    windows/command = meta
  Many of the default keybinds have been updated to reflect this switch,
  but it is likely to affect personal meta/super keybinds!

The map! macro has also been rewritten to use general-define-key. Here
is what has been changed:

+ map! no longer works with characters, e.g. (map! ?x #'do-something) is
  no longer supported. Keys must be kbd-able strings like "C-c x" or
  vectors like [?C-c ?x].
+ The :map and :map* properties are now the same thing. If specified
  keymaps aren't defined when binding keys, it is automatically
  deferred.
+ The way you bind local keybinds has changed:

    ;; Don't do this
    (map! :l "a" #'func-a
          :l "b" #'func-b)
    ;; Do this
    (map! :map 'local "a" #'func-a
                      "b" #'func-b)

+ map! now supports the following new blocks:
  + (:if COND THEN-FORM ELSE-FORM...)
  + (:alt-prefix PREFIX KEYS...) -- this prefix will be used for
    non-normal evil states. Equivalent to :non-normal-prefix in general.
+ The way you declare a which-key label for a prefix key has changed:

    ;; before
    (map! :desc "label" :prefix "a" ...)
    ;; now
    (map! :prefix ("a" . "label") ...)

+ It used to be that map! supported binding a key to a key sequence,
  like so:

    (map! "a" [?x])  ; pressing a is like pressing x

  This functionality was removed *temporarily* while I figure out the
  implementation.

Addresses: #448, #814, #860
Mentioned in: #940
2018-12-22 04:14:43 -05:00
67fa4b31ea Restore =S gpg-sign option for magit
Curiously, interactive rebasing seems to fail to sign commits without
this option present in some cases.
2018-12-07 18:00:17 -05:00
fe8b17d6da move projectile fd out of magit.el
lol
2018-12-04 20:09:44 +11:00
e7141d2c96 use --type f with fd
will show folders otherwise
2018-12-02 00:06:55 +11:00
c3dc660b1b Use fd for populating projectile cache 2018-11-29 23:22:07 +11:00
9bb5b4ef72 tools/magit: +magit-hub-features = t
Since magithub is "disabled" by default, if enabled it might be
confusing that its features aren't all enabled (which is magithub's
default behavior).
2018-10-17 00:21:18 -04:00
8efc5828ea magit: only implement leader key logic when doom-leader-key is non-nil 2018-09-28 16:58:26 -07:00
fcd1e913c5 tools/magit: update vc on +magit/quit
Instead of magit-post-refresh-hook, which fires much more frequently.
Updating vc across all buffers is expensive, so let's only do it when we
quit magit.

Warning: this may make quitting magit expensive when you have many
buffers open. Still searching for a better solution.
2018-09-26 12:10:00 -04:00
b653039535 Add :defer-incrementally use-package keyword 2018-09-20 10:42:45 -04:00
b7be38b2a9 New incremental lazy-loading at startup
This is for loading large packages (like org and magit) quietly in the
background during idle time. It is already set up to incrementally load
org and magit.

This is still experimental, however. the idle timers may need to be
tweaked.
2018-09-18 11:42:35 -04:00
c37e3a1b80 tools/magit: fix hijacked leader key in magit-diff-mode 2018-09-13 19:15:16 -04:00
da2a8b1063 tools/magit: don't mark process buffers as real
Otherwise, kill-this-buffer may switch to them.
2018-09-09 09:58:22 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
3a23ff56cd General formatting & minor refactors 2018-09-02 17:20:19 +02:00
79cbae56b6 add shortcut to "magit-gitflow-popup" with '%' in magit-mode 2018-09-01 01:56:12 +08:00
2b560a6a0e General & minor refactoring 2018-08-28 13:36:44 +02:00
641cef9848 Refresh vc when magit refreshes #826
Magit does not inform vc that changes have occurred to open buffers.
This fixes that (and indirectly fixes branch display in the modeline).
2018-08-23 17:09:59 +02:00
2cc5d223fe Rewrite how magit windows/popups are managed
The old policy was to invoke magit in fullscreen, but in practice, I've
found myself wanting to peek at other buffers (maybe even notes) while I
manage my project in version control.

So this change introduces two big changes and one fix:

+ Instead of a full-frame policy, we use full-column. e.g. Invoking
  magit-status will take up a full column of windows (and will restore
  them when you quit).
+ Popups are displayed below the current window if called from a magit
  buffer, otherwise as a popup at the bottom of the frame.
+ Fixes popups opening in a random window if called from a magit buffer
  in a popup.

This is only a start and needs more testing.
2018-08-13 21:47:56 +02:00