Commit graph

27 commits

Author SHA1 Message Date
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
0407621aff
refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version
constants would impose later on, and rely on built-in
facilities (featurep) more over global variables or doomisms, these
global constants have been deprecated in favor of Emacs "features":

- EMACS28+   -- replace with (> emacs-major-version 27)
- EMACS29+   -- replace with (> emacs-major-version 28)
- NATIVECOMP -- replace with (featurep 'native-compile)
- MODULES    -- replace with (featurep 'dynamic-modules)

(These constants will be formally removed when v3 is released. The IS-*
constants are likely next, but I haven't decided on their substitutes
yet)

I also decided to follow native-compile's example and provide features
for Emacs' system features (since system-configuration-features' docs
outs itself as a poor method to detect features):

- dynamic-modules
- jansson
- native-compile -- this one already exists, but will instead be removed
  if it's non-functional; i.e. (native-comp-available-p) returns nil.

These are now detectable using featurep, which is fast and built-in.
2022-08-14 20:43:35 +02:00
Daanturo
5974543732 feat(vc): add next conflict in project to +vc/smerge-hydra
new hydra head:
"n" (progn (smerge-vc-next-conflict)
(recenter-top-bottom (/ (window-height) 8)))

Allow us to jump to the next merge conflict in current project without
leaving the hydra and/or opening magit.
2022-08-02 20:38:04 +02:00
Aleksei Fedotov
b66aaf9e9f
fix(vc): +vc/browse-at-remote in TRAMP buffers
vc-ignore-dir-regexp is configured to ignore TRAMP buffers to speedup
projectile. browse-at-remote uses vc-git-root to find git root project
and it will fail to find project root for remote buffers. Temporary
return vc-ignore-dir-regexp to default value.

Fix: #5660
2021-11-18 19:23:55 +01:00
Henrik Lissner
6438172e74 Fix #5224: void-function error on +vc/* commands 2021-07-08 15:11:39 -04:00
Henrik Lissner
1840ae8a18 Backport VC-aware bug-reference-mode from 28.x
Fixes gf (+lookup/file) on issue/PR references for Emacs 27.x users,
for example:

  #1234
  doom-emacs#1234
  hlissner/doom-emacs#1234
2021-05-16 22:50:03 -04:00
Henrik Lissner
ca1496f297 Load package before using browse-at-remote-prefer-symbolic
Fixes a void-variable error if used too early in a session.
2021-03-13 16:33:18 -05:00
Henrik Lissner
fa4f03de22 Fix #4784: browse-at-remote-prefer-symbolic = nil
+ Default browse-at-remote-prefer-symbolic to nil because a permanent
  URL is generally more desirable for developers sharing links.
+ 'SPC g y' and 'SPC o o' now support the prefix arg, which will negate
  the default value of browse-at-remote-prefer-symbolic for that call.
2021-03-11 13:41:16 -05:00
Henrik Lissner
a25dea91d8
Bump :emacs vc
rmuslimov/browse-at-remote@aeee6bf -> rmuslimov/browse-at-remote@771a307

Closes #2680
2020-03-08 13:07:50 -04:00
Henrik Lissner
e241fa347b
Bump to rmuslimov/browse-at-remote@aeee6bf
From rmuslimov/browse-at-remote@1a9392e

rmuslimov/browse-at-remote#59 upstreamed some of our local changes.
2020-02-09 19:01:36 -05:00
Henrik Lissner
5802bd7047
Refactor browse-at-remote commands 2020-01-11 17:30:09 -05:00
Henrik Lissner
dfbaccca90
Fix browse-at-remote commands in magit 2020-01-08 00:34:41 -05:00
Henrik Lissner
af0139e974
Fix void-function browse-at-remote-get-url error
When 'SPC g y' is used before browse-at-remote has loaded.
2020-01-06 23:46:33 -05:00
Henrik Lissner
27bf3c85b5
Generalize thing-at-point & region functions 2020-01-03 02:39:47 -05:00
Henrik Lissner
ac21c09419
emacs/vc: better feedback from 'SPC g {y,Y}' 2019-12-26 01:41:34 -05:00
Henrik Lissner
c306b2e969
editor/evil: fix :gbr ex command 2019-12-17 15:28:34 -05:00
Henrik Lissner
77a68006d4
emacs/vc: fix void-function browse-at-remote--file-url error 2019-12-15 14:58:01 -05:00
Henrik Lissner
bb702acfd0
emacs/vc: replace git-link w/ browse-at-remote
git-link is no longer maintained and browse-at-remote has support for
more remotes.

- Bind '<leader> g o h' to open homepage in browser
- Rebind '<leader> g o o' to open file or region (omits the #L<N> suffix
  if no selection is active).
2019-12-15 01:55:02 -05:00
Henrik Lissner
26c8f5c6ef
Bytecompiler bytecompiler, won't you shut up 2019-11-23 01:21:25 -05:00
Henrik Lissner
d8ea65b968
emacs/vc: if prefix ARG, open region/line on master branch 2019-10-25 20:25:20 -04:00
Henrik Lissner
c795a988e6
Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
Henrik Lissner
d7ed52f3c7
Add ui/hydra module
And conforms all existing hydras to the naming convention for
interactive commands, e.g.

  +vc-gutter-hydra -> +vc/gutter-hydra
2019-07-22 23:51:12 +02:00
birdgg
64d88bb956 fix: file not found in autoload 2019-06-21 16:45:07 +08:00
Henrik Lissner
36a8e02857
Fix +vc/git-browse-region-or-line
git-link-use-commit = t breaks +vc/git-browse-region-or-line.
2019-06-10 09:38:55 +02:00
Henrik Lissner
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
Henrik Lissner
a72a0e6a62
Replace magithub with forge
Should also fix void-function/void-variable errors caused by evil-magit
depending on the newer version of magit (#1174).

Also introduces a redesign of the SPC g prefix.
2019-02-16 18:26:17 -05:00
Henrik Lissner
74b700f9a7
Add copy-to-clipboard support to :gbr & +vc/git-browse 2018-07-31 16:33:16 +02:00