Commit graph

129 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
d1e5a285fe
fix(vc): git-timemachine: enable font-lock-mode 2024-08-20 16:44:23 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Noisy Computation
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
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
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
Michael Peyton Jones
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
troy
b51f743e67 fix(vc): +vc--remote-homepage 2023-02-23 16:39:04 -05:00
Henrik Lissner
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
Henrik Lissner
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
Robbert van der Helm
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
Henrik Lissner
79736d832d
feat(vc): add codeberg support to browse-at-remote
This should be PRed upstream later.
2023-02-20 19:00:45 -05:00
Henrik Lissner
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
Henrik Lissner
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
Itai Y. Efrat
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
Itai Y. Efrat
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
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
73c1dd1338 docs(:emacs): update READMEs to new format 2021-11-21 20:04:28 +01: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
Kirill A. Korinsky
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
Henrik Lissner
358f6f57b0 bump: :tools magit :emacs vc
alphapapa/magit-todos@78d24cf419 -> alphapapa/magit-todos@60152d5c4e
magit/forge@49da45ac45 -> magit/forge@6e8ab6c67e
magit/git-modes@7678ead3cd -> magit/git-modes@433e1c57a6
magit/magit@0f4963b0ec -> magit/magit@1e40d00217
pidu/git-timemachine@8d675750e9 -> pidu/git-timemachine@3381797bcb

Close #5465
2021-09-14 14:30:06 +02:00
Aleksei Fedotov
accffb8f5e bump!: :emacs vc
rmuslimov/browse-at-remote@e02ad2189c -> rmuslimov/browse-at-remote@cef26f2c06

BREAKING CHANGE: browse-at-remote-remote-type-domains is replaced by
browse-at-remote-remote-type-regexps. If you have a custom domain
configured replace:

    (add-to-list 'browse-at-remote-remote-type-domains
      ("git.example.com" . "github")

with

    (add-to-list 'browse-at-remote-remote-type-regexps
      ("^git\\.example\\.com$" . "github")

Added support for Gittiles.

Shortlog:

Jack Rosenthal (3):
      Add support for Gitiles
      Fix broken tests
      More permissive regex in browse-at-remote--gerrit-url-cleanup

Rustem Muslimov (2):
      Fix broken merge
      Fix savannah gnu message

rmuslimov (3):
      Merge pull request #78 from jackrosenthal/gitiles
      Merge pull request #80 from jackrosenthal/broke_tests
      Merge pull request #81 from jackrosenthal/regex
2021-09-09 17:22:29 +02:00
Henrik Lissner
06392a723f refactor: rename orig-fn arg in advice to fn
A minor tweak to our naming conventions for the first argument of an
:around advice.
2021-08-04 01:53:12 -04:00