Commit graph

134 commits

Author SHA1 Message Date
Henrik Lissner
95c5ebc01a
Fix #3726: respect +magit-open-windows-in-direction
Also fixes an issue where `q` would not delete a magit-dedicated split
window (leaving duplicate magit-status windows about).
2020-08-11 13:48:12 -04:00
Henrik Lissner
a16c40d493
tools/magit: split sub-windows to the side
When a log or diff buffer is opened from the magit status buffer, it
would display them in a random window (or split, if none were
available). This changes forces it to predictably open to the right of
the magit status window (using the next window over, if available).
2020-08-06 00:22:39 -04:00
vednoc
af7f5d0fc7 tools/magit: merge Forge jumps with evil-magit 2020-07-28 01:38:47 +02:00
vednoc
ccccb9761c tools/magit: map Forge jumps in evil-mode 2020-07-28 00:02:59 +02:00
Henrik Lissner
72c03965cc
Bump :editor evil
emacs-evil/evil@25fc5c6 -> emacs-evil/evil@017b442
emacs-evil/evil-collection@e065da3 -> emacs-evil/evil-collection@3e62b6b
emacs-evil/evil-surround@1c34944 -> emacs-evil/evil-surround@346d4d8
redguardtoo/evil-nerd-commenter@1bd2de5 -> redguardtoo/evil-nerd-commenter@87734b9

Some functionality has been upstreamed into evil-collection and thus
removed from their respective modules.

Closes #3577
2020-07-17 19:40:19 -04:00
vednoc
cc36ff1223 tools/magit: map zt/zb motions in magit-mode 2020-06-27 23:48:29 +02:00
Henrik Lissner
58fa2b1c7d
Fix projectile-vc not working on remotes
Mentioned in #3437
2020-06-24 18:44:04 -04:00
Yash Yadavalli
e1118f4754
Add gitflow as %, moving worktree to *
- Adds `magit-gitflow-popup` as `%` keybinding in the `magit-dispatch`, mirroring the keybinding in `magit-mode-map`.
- The existing binding `magit-worktree` is moved to `*`
2020-06-19 21:14:37 +00:00
t-e-r-m
41d5be12a0 Gravatars now opt-in. Magit README updated. 2020-06-19 00:36:30 +05:30
Étienne BERSAC
ca4ed2c5fa
magit: Enable goto-address-mode in process buffer
This way, URL returned by remote are clicable.
2020-06-04 14:07:51 +02:00
Henrik Lissner
830e1289aa
Bind SPC g G -> magit-status-here
And recenter after invoking it.
2020-05-24 16:32:19 -04:00
Henrik Lissner
93d188e6bc
Resolve magit-git-executable to absolute path
For minor performance gain for macOS/Windows users. Shouldn't make a
difference on Linux.
2020-05-21 01:31:51 -04:00
Henrik Lissner
916ef0fbbe
Rename unmap! to undefine-key!
unmap! gives the false impression that it is related or similar to map!,
but it isn't.
2020-04-23 23:56:17 -04:00
Henrik Lissner
fe3f3d91c3
tools/magit: gate forge behind flag & add README #1166 2020-04-23 23:56:17 -04:00
Henrik Lissner
b78fc4eb76
Minor refactor & reformatting across the board 2020-04-08 15:30:10 -04:00
Henrik Lissner
2ceac53421
Prevent scrolling on magit refresh & toc-org 2020-04-04 01:27:41 -04:00
Henrik Lissner
260148f4e9
Bump :tools magit
magit/magit@8cb6cdf -> magit/magit@c8cd22e
magit/forge@fb04716 -> magit/forge@0ade907
emacs-evil/evil-magit@1bfd546 -> emacs-evil/evil-magit@0b79aa3

Fixes #2446
2020-03-02 12:02:49 -05:00
Henrik Lissner
2f696ff5c5
Temp fix #2446: yy in magit when evil-want-Y-yank-or-eol 2020-02-24 20:35:59 -05:00
Henrik Lissner
731e1c503d
Lazily revert affected buffers after magit 2020-02-21 13:40:52 -05:00
Henrik Lissner
e6638b82a1
Autoload forge-create-{pullreq,issue} 2020-01-04 15:42:04 -05:00
Alan Brown
ec08acba1e Changed to correct default location
https://git-scm.com/docs/git-credential-cache
2019-12-09 11:45:57 +00:00
Edmund Miller
89f4f9d88f
fix(magit): add bindings for github-review 2019-12-08 13:35:18 -06:00
Edmund Miller
617e46152f
add github-review 2019-12-08 13:34:34 -06:00
Henrik Lissner
44e22b7f80
tools/magit: replace +magit/clone w/ magit-clone
The former no longer works, since ghub's API has changed. Meanwhile, the
magit-clone command has grown in features to match (and surpass)
+magit/clone, so we'll just use that instead.
2019-11-23 01:21:25 -05:00
Henrik Lissner
5e6363f025
tools/magit: invalidate projectile cache on git checkout 2019-10-29 11:36:46 -04:00
Henrik Lissner
54559d567a
tools/magit: hide modeline in magit-popups
Since magit-gitflow still uses the old magit-popups, rather than
transient.
2019-10-25 02:38:15 -04:00
Henrik Lissner
e0469e14c0
Minor refactors & reformatting across the board 2019-10-20 19:57:27 -04:00
Henrik Lissner
7f0ca974e9
tools/magit: free up 0-4 keys for evil & bind g=
- Replaces 0 with g= (magit-diff-default-context)
- Unbinds 1-4 keys so you can use numbered motions in magit buffers
  again
2019-10-20 10:58:52 -04:00
Henrik Lissner
8407af98fd
tools/magit: disable magit-todos by default
This plugin is a source of slowness and occasional bugs. Instead of
enabling it by default, we keep it around for magit-todos-list, which
could replace +ivy/tasks.
2019-10-17 02:53:44 -04:00
Henrik Lissner
0e6c015d60
tools/magit: init forge after building emacsql 2019-10-03 11:42:22 -04:00
Henrik Lissner
70c60e6583
tools/magit: re-enable magit-todos over tramp
Reverts 9ab49be. TRAMP support was added in
alphapapa/magit-todos@a80dace
2019-09-07 19:57:58 -04:00
Henrik Lissner
92c839be02
tools/magit: warn if emacsql fails to build #1751 2019-09-03 15:47:38 -04:00
Henrik Lissner
abc80e43ae
tools/magit: disable magit-todos over TRAMP 2019-09-02 13:14:52 -04:00
Henrik Lissner
9ab49be564
Fix "fatal: no names found" errors on 'doom rebuild'
Some packages that depend on org (like elfeed) will load the built-in
org early in the rebuild/package install process, which causes org to
define org-release and org-git-version, sometimes overwriting our stubs
for it. Without our hack, org call 'git describe' in the org repo in an
attempt to determine the installed version, which won't work in a sparse
clone. To ensure future definitions never overwrite ours, we advise them
as well.

Also moves magit-version hack to its autoload file, for consistency with
org's hacks.
2019-08-07 16:31:45 -04:00
Henrik Lissner
19dd4e8db8
Correct more inline hook defuns 2019-07-28 02:32:25 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
060ede0e2e
General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
cbafa6b749
tools/magit: add -r option to magit-pull 2019-07-22 02:37:44 +02:00
Henrik Lissner
a55a71b8ce
tools/magit: recognize ~/.config/git/credential 2019-07-22 02:37:44 +02:00
Henrik Lissner
72f97be86f
tools/magit: magit-save-repository-buffers = nil
Autosaving our buffers can trigger unwanted side-effects, like save
hooks and formatters, which is too magical. Instead, trust the user to
know what they're doing.
2019-07-22 02:30:41 +02:00
Henrik Lissner
ba26ce39fe
tools/magit: lazily compile emacsql
Prevents the emacsql binary from being built just because you tried
literally anything remotely to do with magit.
2019-07-22 02:30:41 +02:00
Henrik Lissner
b90dede1ab
💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
51d3b1b424
💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
2c140496e8
tools/magit: popup transient below magit window
And tell popup manager to ignore transient popups.

Should affect #1539
2019-07-10 19:29:45 +02:00
Henrik Lissner
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
Siddharth Shekar
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
Brice Waegeneire
66b74c63b7 magit-todos 1.2 removed magit-todos-require-colon
3c59aa03b2 (12)
2019-05-30 16:33:37 +02:00
Henrik Lissner
2214c3175e
Minor tweaks across the board 2019-05-21 00:34:32 -04:00