Commit Graph

132 Commits

Author SHA1 Message Date
2b1e07dcf0 fix(vc): better line selection in git-timemachine buffers when browse at remote
`+vc/browse-at-remote` on git-timemachine buffers solely depended on the active
region to determine highlighted lines in the browser, sometimes returning an
error when no region is set, and other times using an implicit/invisible
transient mark. The number of lines that get highlighted at remote is also not
always consistent.

This commit modifies `+vc-support-git-timemachine-a` to correct all the above
and have `+vc/browse-at-remote` remain consistent between git-timemachine
buffers and non git-timemachine buffers.
2025-05-01 15:09:19 -04:00
30501abd59 fix(vc): browse to remote from git-timemachine revisions
Use `plist-get` to extract the correct plist values for the "repo-url"
and "remote-type" local variables in order to browse to the correct
remote url from git-timemachine buffers.
2025-05-01 15:09:19 -04:00
c9afc6cdd3 bump: :emacs :term :app :email
akermu/emacs-libvterm@99c1f5e76a -> akermu/emacs-libvterm@056ad74653
alexluigit/dirvish@1d8de07f4e -> alexluigit/dirvish@2d63995d32
emacs-straight/vundo@791211a89f -> emacs-straight/vundo@c32481ab48
emacsmirror/git-timemachine@3780835fcd -> emacsmirror/git-timemachine@d1346a7612
emacsmirror/undo-fu-session@beb0e285d0 -> emacsmirror/undo-fu-session@d90d42ddba
emacsmirror/undo-fu@dbb3e4b699 -> emacsmirror/undo-fu@399cc12f90
https://git.notmuchmail.org/git/notmuch@2f0320c5f24a -> https://git.notmuchmail.org/git/notmuch@dfc800c26e7b
https://git.savannah.gnu.org/git/emms.git@5e9922f2a45f -> https://git.savannah.gnu.org/git/emms.git@8713a0ee985c
jao/consult-notmuch@d8022e2ddc -> jao/consult-notmuch@17d2a4ea8c
karthink/elfeed-tube@ce2b5071d1 -> karthink/elfeed-tube@79d5a08d76
org-mime/org-mime@9d4584651d -> org-mime/org-mime@9571c148ee
remyhonig/elfeed-org@1197cf29f6 -> remyhonig/elfeed-org@34c0b4d758
tarsius/ol-notmuch@881991d94a -> tarsius/ol-notmuch@9a69506a3f
tecosaur/emacs-everywhere@0b731ca6da -> tecosaur/emacs-everywhere@caeab3948f
2025-03-27 23:46:56 -04:00
037b018cdd feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
07eae64509 refactor(vc): move git-commit to magit module
`git-commit` is no longer distributed with `magit` and no longer
declares its dependencies, causing "file missing: with-editor" and
similar errors for folks who don't have magit installed. Also, VC's
commit workflows don't utilize the mode, so there's no reason to keep it
in this module.

Ref: magit/magit@c170fcf399
Ref: #8003
2024-09-09 18:08:28 -04:00
70fd17ebfd fix(vc): smerge localleader keybinds
The keybinding in 682f151 was being overwritten. I'll simply copy the
keymap into the module, until I can devise a more elegant solution.

Amend: 682f151176
Ref: #5954
2024-09-01 18:25:37 -04:00
682f151176 feat(vc): integrate smerge-mode
Activates smerge-mode if the file contains merge conflict markers. Also
turns binds the localleader to `smerge-mode-map` when it's active.

Also removes an unused leader binding (which will never be set because
:ui hydra was removed in b08c2c7).

Amend: b08c2c745f
Close: #5954
2024-09-01 17:29:14 -04:00
a8f116bb6b bump: magit forge orgit orgit-forge
magit/forge@30f181f785 -> magit/forge@35cc600d62
magit/magit@2da34f1317 -> magit/magit@0aa26864e3
magit/orgit-forge@a989b2b54d -> magit/orgit-forge@2718a6aaf0
magit/orgit@29a0f37e5c -> magit/orgit@59d21fdb21

For Magit's 4.1.0 release, and to repin away from these packages'
recently removed 'melpa' branches (see #8007).

Ref: #8003
Ref: #8007
2024-08-31 21:51:59 -04:00
f3e9920e80 bump: magit
magit/magit@3b37048688 -> magit/magit@2da34f1317

- Whoops. The HEAD of magit's melpa branch is auto-generated and rebased
  to the front, so pinning to its HEAD will always eventually break.

Fix: #8007
Amend: 5e70fe1697
2024-08-21 00:18:06 -04:00
d1e5a285fe fix(vc): git-timemachine: enable font-lock-mode 2024-08-20 16:44:23 -04:00
22f37e84dc bump: :emacs
emacs-straight/undo-tree@5e9f4c9234 -> emacs-straight/undo-tree@d8f72bbe7d
emacs-straight/vundo@a18d63a9a1 -> emacs-straight/vundo@5374125dc0
ideasman42/emacs-undo-fu-session@75d78310c8 -> ideasman42/emacs-undo-fu-session@beb0e285d0
ideasman42/emacs-undo-fu@ea902716f3 -> ideasman42/emacs-undo-fu@dbb3e4b699
magit/git-modes@d96fa7a3c7 -> magit/git-modes@f99010bbeb
magit/magit@e777822720 -> magit/magit@55656a31cc
2024-08-19 16:21:45 -04:00
0f30e1eca5 bump: :ui vc-gutter :tools magit :emacs vc
dgutov/diff-hl@f66345ed1f -> dgutov/diff-hl@57d9d4e3e1
magit/forge@9edfcb2c15 -> magit/forge@21d410c810
magit/magit@9d4192b7b1 -> magit/magit@e777822720
2024-07-29 02:03:25 -04:00
bc948c38c2 refactor(vc): remove hydra
hydra was removed in b08c2c7, so I'm no longer supporting hydra
workflows.

Amend: b08c2c745f
2024-07-28 15:21:13 -04:00
4fa24d1533 bump: :tools magit :emacs vc
emacsmirror/git-timemachine@5ed73c3831 -> emacsmirror/git-timemachine@3780835fcd
magit/forge@67314e2f83 -> magit/forge@9edfcb2c15
magit/git-modes@52ea2a1281 -> magit/git-modes@d96fa7a3c7
magit/magit@b9948f9571 -> magit/magit@9d4192b7b1
2024-07-20 14:31:53 -04:00
5a8d65bc51 bump: :tools magit :emacs vc
alphapapa/magit-todos@332ce763f7 -> alphapapa/magit-todos@501c8db90a
magit/forge@ad94b5665d -> magit/forge@c3675fd068
magit/git-modes@3cc94974c0 -> magit/git-modes@52ea2a1281
magit/magit@b5637d665c -> magit/magit@f9268a9598
2024-06-03 16:22:10 -04:00
57f43e0953 fix(vc): *vc-{diff,change-log}* popup rules
The former rules weren't proccing on these buffers. Also
changes *vc-diff* popups to resize based on contents.
2024-04-05 19:05:54 -04:00
beb6e87636 bump: :tools magit :emacs vc
emacsmirror/git-timemachine@ac933e5cd2 -> emacsmirror/git-timemachine@5ed73c3831
magit/forge@2a3b41eb62 -> magit/forge@ad94b5665d
magit/magit@0e8f25a8d8 -> magit/magit@b5637d665c
2024-04-03 15:55:40 -04:00
a2484538b4 bump: :tools magit :emacs vc
magit/forge@ba35ffc9ba -> magit/forge@3fc6c362b0
magit/git-modes@4a61a9b86d -> magit/git-modes@3cc94974c0
magit/magit@54d37dc14c -> magit/magit@b68e0a3c33

Ref: magit/forge@3fc6c362b0
2024-02-07 00:33:50 -05:00
e242ac9548 bump: :emacs
alexluigit/dirvish@4fe9c00894 -> alexluigit/dirvish@119f9f59a6
emacs-straight/dired-git-info@9461476a28 -> emacs-straight/dired-git-info@6b6f2a5d71
emacs-straight/vundo@24271862a2 -> emacs-straight/vundo@10d011fb05
emacsmirror/git-timemachine@d8ffd0d7cc -> emacsmirror/git-timemachine@ac933e5cd2
ideasman42/emacs-undo-fu-session@a6c4f73bc2 -> ideasman42/emacs-undo-fu-session@2b355c9d39
ideasman42/emacs-undo-fu@0e74116fd5 -> ideasman42/emacs-undo-fu@04961ba775
magit/git-modes@f0a0154bf4 -> magit/git-modes@4a61a9b86d
magit/magit@4881835572 -> magit/magit@54d37dc14c
purcell/diredfl@f9140b2c42 -> purcell/diredfl@f6d599c308
purcell/ibuffer-vc@1388d2ea18 -> purcell/ibuffer-vc@66d0226733
rainstormstudio/nerd-icons-dired@4a068884bf -> rainstormstudio/nerd-icons-dired@c1c7348863
rmuslimov/browse-at-remote@c020975a89 -> rmuslimov/browse-at-remote@76aa27dfd4
stsquad/dired-rsync@7940d9154d -> stsquad/dired-rsync@5bcb851f3b
2024-02-05 17:21:21 -05:00
659f7bfc71 refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
2b08b2da33 bump: :emacs vc
magit/magit@97a95f7007 -> magit/magit@4881835572

The pinned version of `magit` in `:tools magit` needs be the same
as that of `git-commit` in `:emacs vc`.

`straight.el` prepares the repo only once, and if `git-commit` is
processed first, its pinned version wins out and the more recent
pinning of `magit` is ignored.

As noted in #7363, processing order may be non-deterministic, so the
inconsistent pinning may not be apparent on every system.

Fix: #7363
Amend: #7277
Amend: 7c63b353d2
2023-09-19 23:31:32 +02:00
88bb045388 docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
98f3af7a7c feat(vc): browse-at-remote: recognize gitlab.* hosts
Previously, only gitlab.com and gitlab.gnome.org were recognized as
gitlab hosts. This tweaks browse-at-remote to recognize any subdomain
named gitlab.* as a gitlab host (as a fallback, if no other regexp
matches).
2023-07-24 02:58:35 +02:00
bab4c921c8 tweak(vc): smerge-next -> smerge-vc-next-conflict
This is provided by `smerge-mode` in Emacs 27, and functions exactly
like `smerge-next`, except that if there are no more conflicts in the
current file, it will go to the next file with conflicts.

Arguably this could be a different key binding. However, I find that it
is almost strictly superior to `smerge-next`: I can't think of a case
where I *wouldn't* immediately want to go to the next file with
conflicts, and even if you do by accident you can just pop back to the
preceding buffer. So I think it warrants being the default.

Close: #5431
2023-03-22 18:22:47 -04:00
b51f743e67 fix(vc): +vc--remote-homepage 2023-02-23 16:39:04 -05:00
5018f938b1 bump: :tools magit
alphapapa/magit-todos@c5030cc27c -> alphapapa/magit-todos@c6f3fd03aa
magit/forge@ce212f8f95 -> magit/forge@ba35ffc9ba
magit/magit@30b0debaaa -> magit/magit@97a95f7007
wandersoncferreira/code-review@95b36ec8e7 -> wandersoncferreira/code-review@26f426e992

- (#6987, #7103) Fixes "wrong-type-argument sequencep #<subr
  code-review-section--magit-diff-insert-file-section>" error when
  starting code-review.

Fix: #6987
Close: #7103
Amend: 29c595ed1b
Co-authored-by: shroomist <shroomist@users.noreply.github.com>
2023-02-22 17:03:11 -05:00
c523cd0e93 fix(vc): browse-at-remote: codeberg support
Incorrect :type caused browse-at-remote to produce the wrong URL for
codeberg repos.

Amend: eed6d90586
2023-02-21 19:14:12 -05:00
eed6d90586 fix(vc): string type error caused by codeberg support
79736d8 added codeberg.org support to the browse-at-remote package, but
rmuslimov/browse-at-remote@73c4526 (absorbed in 81268cc) changed the
format of this variable, causing "wrong-type-argument: stringp, nil"
errors.

Amend: 81268cc5cf
Ref: rmuslimov/browse-at-remote@73c45265a1
Ref: 79736d832d
2023-02-21 18:32:35 -05:00
79736d832d feat(vc): add codeberg support to browse-at-remote
This should be PRed upstream later.
2023-02-20 19:00:45 -05:00
81268cc5cf bump: :emacs
emacs-straight/undo-tree@e326c6135e -> emacs-straight/undo-tree@16f4121032
emacsmirror/git-timemachine@ca09684e94 -> emacsmirror/git-timemachine@d8ffd0d7cc
ideasman42/emacs-undo-fu-session@3e810c7c9a -> ideasman42/emacs-undo-fu-session@7b3fd0647d
ideasman42/emacs-undo-fu@ab8bc10e42 -> ideasman42/emacs-undo-fu@0e22308de8
purcell/ibuffer-vc@5fa6aea09b -> purcell/ibuffer-vc@9204001d1c
rmuslimov/browse-at-remote@cef26f2c06 -> rmuslimov/browse-at-remote@c020975a89

:emacs dired was omitted from this bug because of #6760.
2023-02-20 19:00:44 -05:00
4e3b94c602 tweak(vc): add feedback on +vc/browse-at-remote-kill
Otherwise there's no indication that the command worked, when invoked
interactively.
2023-02-18 15:27:47 -05:00
29c595ed1b bump: magit compat git-commit
emacs-straight/compat@2bedcb5ea9 -> emacs-straight/compat@01fdf316a4
magit/magit@6d325d90ba -> magit/magit@30b0debaaa
2023-02-17 12:34:58 -05:00
642f88ad99 bump: :completion vertico compat consult-lsp magit git-commit
emacs-straight/compat@7ca7d300d1 -> emacs-straight/compat@2bedcb5ea9
mhayashi1120/Emacs-wgrep@f9687c28bb -> mhayashi1120/Emacs-wgrep@edf768732a
minad/consult-flycheck@7a10be316d -> minad/consult-flycheck@51b1b48e8d
minad/consult@16b2dc5e34 -> oantolin/orderless@ae849b3d9f
minad/marginalia@c1365bf0c7 -> minad/marginalia@6d48ed54be
minad/vertico@bedd146c3f -> minad/vertico@f303790546
oantolin/embark@629cce948c -> oantolin/embark@4882b395ce
oantolin/orderless@847694e78c -> minad/vertico@f303790546
tumashu/vertico-posframe@a3d0802d7b -> tumashu/vertico-posframe@790f74b49d
gagbo/consult-lsp@58b5414762 -> gagbo/consult-lsp@f8db3252c0
magit/magit@0ef98ef518 -> magit/magit@6d325d90ba

consult-lsp needed to be bumped to work with some changed consult
internals, and due to compat shenanigans we have to bump magit to latest
as well.

Includes fixes to stay up to date with upstream api changes to.
consult-customize and the deprecation of embark-define-keymap

Close: #7064
2023-02-17 12:34:58 -05:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
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
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
7598485e1a bump: :emacs vc
magit/magit@846d153a2e -> magit/magit@8a0cc83eff
magit/git-modes@62fbf2e5b8 -> magit/git-modes@eca3bb42ea
https://codeberg.org/pidu/git-timemachine@3381797bcbf9 -> emacsmirror/git-timemachine@ca09684e94

Moved to a git-timemachine mirror because codeberg.org has uptime
issues.
2022-08-10 13:18:34 +02:00
1abcf913aa revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00
1f8bf7accb merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
2022-08-03 03:27:50 +02:00
7e400abdc0 fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
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
1255315bfc refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
e77a45bc22 docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
ee33bff115 bump: :emacs
dgutov/diff-hl@6fa3af0843 -> dgutov/diff-hl@4a08b02afe
ideasman42/emacs-undo-fu-session@1810251485 -> ideasman42/emacs-undo-fu-session@edf050d613
magit/magit@1eb183e767 -> magit/magit@846d153a2e
purcell/diredfl@4ca32658ae -> purcell/diredfl@f9140b2c42
2022-02-02 01:56:04 +01:00
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
8b8b18448f bump: :emacs
dgutov/diff-hl@40c89a7b0d -> dgutov/diff-hl@6fa3af0843
ideasman42/emacs-undo-fu@34b27c01da -> ideasman42/emacs-undo-fu@ab8bc10e42
magit/magit@aba0a59611 -> magit/magit@1eb183e767
wyuenho/all-the-icons-dired@a758766878 -> wyuenho/all-the-icons-dired@5e9b097f99
2021-12-14 01:21:33 +01:00
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
73c1dd1338 docs(:emacs): update READMEs to new format 2021-11-21 20:04:28 +01:00
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
0869d28483 bump: :emacs vc :tools magit
charignon/github-review@4d91dd6c56 -> charignon/github-review@2a24e75dfc
magit/forge@8264234db6 -> magit/forge@72b29bd7bc
magit/git-modes@433e1c57a6 -> magit/git-modes@62fbf2e5b8
magit/magit@1e40d00217 -> magit/magit@aba0a59611

- gitconfig-mode and gitignore-mode were merged into git-modes.

Close: #5665
Fix: #5667
2021-10-21 12:27:42 +02:00