343 Commits

Author SHA1 Message Date
e6638b82a1 Autoload forge-create-{pullreq,issue} 2020-01-04 15:42:04 -05:00
48cd3e0ad0 tools/magit: prevent 'cannot determine magit's version' warnings
By ensuring the advice runs twice.
2019-12-15 23:43:33 -05:00
ec08acba1e Changed to correct default location
https://git-scm.com/docs/git-credential-cache
2019-12-09 11:45:57 +00:00
89f4f9d88f fix(magit): add bindings for github-review 2019-12-08 13:35:18 -06:00
617e46152f add github-review 2019-12-08 13:34:34 -06:00
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
5e6363f025 tools/magit: invalidate projectile cache on git checkout 2019-10-29 11:36:46 -04:00
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
e0469e14c0 Minor refactors & reformatting across the board 2019-10-20 19:57:27 -04:00
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
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
19bfb1285d Fix #1852: magit not restoring wconf when quitting 2019-10-03 16:43:49 -04:00
0e6c015d60 tools/magit: init forge after building emacsql 2019-10-03 11:42:22 -04:00
bad0dba1fc tools/magit: refactor magit-version advice
Not strictly necessary, but more correct.
2019-09-20 17:18:16 -04:00
2d365619cd General refactor & cleanup, across the board 2019-09-13 22:00:34 -04:00
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
92c839be02 tools/magit: warn if emacsql fails to build #1751 2019-09-03 15:47:38 -04:00
abc80e43ae tools/magit: disable magit-todos over TRAMP 2019-09-02 13:14:52 -04:00
ccaf92b0d3 tools/magit: don't kill all magit buffers when quitting one
And mark all outdated buffers, rather than just the ones in the current
workgroup.
2019-08-28 15:22:14 -04:00
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
19dd4e8db8 Correct more inline hook defuns 2019-07-28 02:32:25 +02:00
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
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
6b5d65b55b tools/magit: reuse magit-status window
Instead of opening the same buffer in a new window.
2019-07-22 04:01:18 +02:00
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
cbafa6b749 tools/magit: add -r option to magit-pull 2019-07-22 02:37:44 +02:00
a55a71b8ce tools/magit: recognize ~/.config/git/credential 2019-07-22 02:37:44 +02:00
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
ce4b8940ca tools/magit: revise default window management for magit
The former default display function would strive to open windows below
the current magit window (splitting it), but this would stack and
quickly become cramped. The behavior is now to reuse the same
window *unless* you're opening the process buffer or from the commit
window.
2019-07-22 02:30:41 +02:00
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
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
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
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
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
108c7ba5ad Fix 'selected killed buffer' error on +magit/quit 2019-06-30 13:20:07 +02:00
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
c4b325fa4b Fix magit-clone error
magit-clone function has changed signature to work with transient.
So using the new magit-clone-regular instead.

Signed-off-by: Huy Duong <huy.duong@employmenthero.com>
2019-06-03 16:59:03 +07: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
5bcab488a7 Add {vc,git-gutter}-mode checks to vc refresher 2019-04-01 13:21:25 -04:00
bdd410cb9c Refresh vc on-demand after quitting magit #1298
To avoid the long delay when you have many buffers open while quitting
magit.
2019-04-01 13:12:00 -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