Commit Graph

12605 Commits

Author SHA1 Message Date
89b087a283 bump: :editor
emacs-evil/evil-collection@6365e7c8ae -> emacs-evil/evil-collection@01d791dd63
emacs-evil/evil@5db0bdc7dc -> emacs-evil/evil@b7ab3840db
emacs-tree-sitter/ts-fold@55f80a202a -> emacs-tree-sitter/ts-fold@01c9ecaaa8
emacsorphanage/god-mode@607aff10a7 -> emacsorphanage/god-mode@9f3f6a1dc9
gabesoft/evil-mc@cff3374bfe -> gabesoft/evil-mc@7e363dd6b0
joaotavora/yasnippet@eb5ba2664c -> joaotavora/yasnippet@fe1f4e0e96
justinbarclay/parinfer-rust-mode@0d16bd75ad -> justinbarclay/parinfer-rust-mode@c611628fbe
radian-software/apheleia@61766b50b2 -> radian-software/apheleia@429daf5f28

- zigfmt is now defined upstream and is no longer needed in lang/zig.

Revert: c7794ba06c
2024-10-31 21:54:20 -04:00
138fa6c995 bump: :os
emacs-straight/xclip@e132bbff55 -> emacs-straight/xclip@9ab22517f3
2024-10-31 21:54:20 -04:00
0d8b6bdfbd bump: :tools
NicolasPetton/pass@ed7031c5c3 -> NicolasPetton/pass@1a9f610015
Silex/docker.el@f3adbf49e1 -> Silex/docker.el@6f8bba0d11
editorconfig/editorconfig-emacs@648f0cf9ae -> editorconfig/editorconfig-emacs@c707d8d0f1
emacs-ansible/emacs-ansible@eebb2fb49d -> emacs-ansible/emacs-ansible@e171dacc12
emacs-lsp/lsp-mode@dd61303b2d -> emacs-lsp/lsp-mode@9b104105ad
emacs-straight/eglot@6b9c4faa52 -> emacs-straight/eglot@81eb273965
emacs-tree-sitter/tree-sitter-langs@365a4f7bf5 -> emacs-tree-sitter/tree-sitter-langs@465a64032d
emacsorphanage/quickrun@c58e2e4be5 -> emacsorphanage/quickrun@d383929c50
flycheck/flycheck-eglot@09e37f4c72 -> flycheck/flycheck-eglot@18d0c98695
joostkremers/parsebib@ace9df7071 -> joostkremers/parsebib@489f690f43
magit/forge@d4e88507bf -> magit/forge@9f2efc3c03
magit/magit@0aa26864e3 -> magit/magit@f2a6133443
meain/evil-textobj-tree-sitter@b4ef204ff8 -> meain/evil-textobj-tree-sitter@5056ebc231
purcell/envrc@532ecdab48 -> purcell/envrc@3c5a60dd91
rejeep/prodigy.el@cc68fa9d60 -> rejeep/prodigy.el@c5a17c280d
spotify/dockerfile-mode@39a012a27f -> spotify/dockerfile-mode@4d893bd2da
tumashu/posframe@570273bcf6 -> tumashu/posframe@ac9f954ac4
yoshiki/yaml-mode@7b5ce294fb -> yoshiki/yaml-mode@d91f878729
2024-10-31 21:54:20 -04:00
db76813c26 refactor: rename doom-features to doom-system 2024-10-31 21:54:20 -04:00
5ff8561b5e fix(lsp): lsp!: make non-interactive
This autodef was never intended to be interactive. Use `lsp` or `eglot`
if you need an interactive variant.
2024-10-31 21:54:19 -04:00
7aed77c702 bump: :emacs undo
ideasman42/emacs-undo-fu-session@beb0e285d0 -> emacsmirror/undo-fu-session@beb0e285d0
ideasman42/emacs-undo-fu@dbb3e4b699 -> emacsmirror/undo-fu@dbb3e4b699

- Moving to Github mirrors due to Codeberg outages (#7501).

Ref: #7501
2024-10-31 21:54:19 -04:00
1f8c326dfa fix(eval): remove duplicate REPL entries
The method previously used to remove duplicates was incorrect
2024-10-31 21:44:13 -04:00
dea6552ef9 fix(agda): agda2-auto-maybe-all -> agda2-mimer-maybe-all
Fixes the broken Agda auto mode in Doom Emacs caused by the
introduction of mimer in Agda 2.7.0.

* modules/lang/agda/config.el (agda-auto-mode):
replaced agsy with mimer for auto mode call.
2024-10-24 17:43:56 -04:00
448bc5cae2 refactor: use negated flags
Ref: 7a806521a92c
2024-10-20 02:41:50 -04:00
15904349cf refactor!: module API
BREAKING CHANGE: This backports some architectural choices from v3.0.
This changes Doom's module API, renaming some functions and removing
others, in order to facilitate some new features, prepare to move Doom's
modules into separate repos, and make way for two, much larger breaking
commits coming in the next few days.

This commit won't break anything for users unless they're tinkering with
Doom's internals/using its `doom-module-*` API directly. I am avoiding
broader backwards incompatibilities until the 3.0 release.

What's new:

- Negated flags. (modulep! :editor evil -everywhere) will return non-nil
  if :editor evil is active without its +everywhere flag.
- `modulep!` now takes multiple flags to simplify AND checks. E.g.

    (and (modulep! +foo)
         (modulep! +bar)
         (not (modulep! +baz)))

  Can now be expressed with:

    (modulep! +foo +bar -baz)
- Adds pcase matchers for `doom-module-context` and `doom-module`
  structs, making the following destructuring binds possible:

    (pcase-dolist ((doom-module group name flags features)
                   (hash-table-values doom-modules))
      ...)

  This will be used more in v3.0.
- Adds file cookie support to module init.el and config.el files.

Here's a summary of breaking changes made in this commit:

- `doom-module-context` was changed from a vector to a struct (record).
- `doom-modules` is now a table of `doom-module` structs, rather than
  free-form plists.
- The following macros have been renamed:
  - `doom-context-with` -> `with-doom-context`
  - `doom-module-context-with` -> `with-doom-module`
- The followings functions have been replaced/removed:
  - `doom-module-context`+`doom-module-context-get` -> `doom-module`
  - `doom-module-set` -> `doom-module--put`
  - `doom-module-p` -> `doom-module-active-p`
  - `doom-module-context-key` (is now a getter with the same name)
  - `doom-module-put` (removed)
  - `doom-module--context-field` (removed)
- The signatures for these functions have changed:
  - `doom-module-get CATEGORY &optional MODULE PROP` ->
    `doom-module-get (GROUP . MODULE) &optional PROP`
  - `doom-module-locate-path CATEGORY &optional MODULE FILE` ->
    `doom-module-locate-path (GROUP . MODULE) &optional FILE`
  - `doom-module-expand-path CATEGORY MODULE &optional FILE` ->
    `doom-module-expand-path (GROUP . MODULE) &optional FILE`
- Adds the following functions
  - `doom-module-exists-p`
  - `doom-module-key`
  - `doom-module->context`
  - `doom-module<-context`
- Removes the following variables
  - `doom-module--empty-context`

This commit results in a little redundancy, which I will address in
parts 2/3 and/or v3.0.
2024-10-20 02:41:42 -04:00
b9deb35aab bump: :lang factor
factor/fuel@31dc1a386b -> factor/fuel@6d0e98494f

Melpa's upstream and recipe for `fuel` changed (see
4a3d7cdefa):
previously it was pulled from a subdirectory of the main `factor`
repository, it now has its own repository. Applying Doom's previous pin
to the new recipe does not seem to work correctly, so update.
2024-10-20 02:32:16 -04:00
a5538209d8 fix(fold): autoload +fold--ensure-hideshow-mode
This function may be called by `+fold--ensure-hideshow-mode-a`, before
autoload/fold.el has been loaded.

Amend: #8067
2024-10-20 02:31:31 -04:00
03fbb00e3c bump: :ui doom
doomemacs/themes@2c794a09b0 -> doomemacs/themes@1cac71a4b2

Fix: #7853
2024-10-03 02:24:16 -04:00
dc387bc486 fix(mu4e): org-msg: toggle behavior
Toggle behavior:

The `(integerp current-prefix-arg)` check didn't appropriately catch
`C-u`/`SPC u` prefixes. This attempts to use `(prefix-numeric-value
current-prefix-arg)` instead to normalize these cases.

Variable naming:

I'm not sure if this was supposed to continue to be called
`+mu4e-compose-org-msg-toggle-next` or if the rename to private
`+mu4e--compose-org-msg-toggle-next` was intentional and the usage
wasn't updated accordingly. I see the `mu4e` README still mentions it,
so I would guess the former and this was a typo.

Ref: #8073
Amend: a78237cc01
2024-10-03 00:45:35 -04:00
68b3cc86c5 fix(ruby): replace the obsolete macro featurep! with modulep!
Amend: fc35b3cf37
2024-10-03 00:41:42 -04:00
a35992a97d bump: :email wanderlust
wanderlust/wanderlust@8a0ea2146e -> wanderlust/wanderlust@8b413b33cd
2024-10-03 00:40:28 -04:00
397d149313 fix(python): renamed python-pytest commands
These two commands were renamed upstream and pulled in in 1fa1eba:

- python-pytest-function-dwim -> python-pytest-run-def-or-class-at-point
- python-pytest-function-dwim -> python-pytest-run-def-or-class-at-point-dwim

Amend: 1fa1eba5ac
Ref: wbolster/emacs-python-pytest#75
2024-10-03 00:39:55 -04:00
9d859f62e4 fix(clojure): type error evilifying cider-debug keys 2024-10-03 00:36:57 -04:00
c75e1b915b docs(cc): treat clangd as default/better option
clangd was made the default LSP client for the cc module in cc8cf81.
This updates the module's docs to reflect this.

Amend: cc8cf810f5
Ref: #2689
2024-10-02 21:53:43 -04:00
92c064459f fix(default): search-project: don't escape selection
This would double-escape for `+vertico/project-search`.
2024-09-18 21:15:22 -04:00
a2b1c4da78 feat(emacs-lisp): extend fontification to lisp-{data,interaction}-mode
Was supposed to be part of 22d5e30.

Amend: 22d5e3059f
2024-09-17 06:05:30 -04:00
0b2ccac007 fix(emacs-lisp): lookup docs backend w/o helpful
Use `helpful-symbol` if it's present and the symbol at point doesn't
represent a cl-type (falling back to `describe-symbol` otherwise).

Fix: #8068
2024-09-17 05:57:33 -04:00
22d5e3059f feat(emacs-lisp): extend config to lisp-{data,interaction}-mode
So these modes (and particularly .doom* dotfiles and .dir-locals.el) can
benefit from smarter syntax highlighting and integration with other
modules.
2024-09-17 05:56:44 -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
7ec570fdf5 fix(format): clang-format: respect c-basic-offset
In the absence of a .clang-format file, imposing the value of
`c-basic-offset` onto clang-format seems like reasonable, default
behavior. Like all other cases, this can be disabled by unsetting
`apheleia-formatters-respect-indent-level` globally or mode-locally with
`setq-hook!` or similar.
2024-09-14 20:46:49 -04:00
d633c15042 perf(cc): lsp-clangd: halve core count for indexing
Ref: cec81ac2cc
2024-09-14 16:08:43 -04:00
2e5307e425 fix(emacs-lisp): always try Helpful for doc lookup
As per the description in 6671adc68, this module should always use
Helpful's functions as long as Helpful is available (ie. not explicitly
disabled by the user in packages.el). The remapping of `describe-symbol`
is irrelevant here - the user might prefer to rebind `C-h C-o` to
`describe-symbol` (as `helpful-symbol` cannot look up types), but that
doesn't necessarily mean they want this module not to use it.
2024-09-14 13:08:00 -07:00
c82e7d9ea2 fix(ligatures): avoid invalid prettify-symbols-alist
Otherwise, `prettify-symbols-alist` will be set to a list whose first
element is the mode name, a symbol. That makes `prettify-symbols-alist`
an invalid alist, so when `prettify-symbols-mode` is enabled, there's a
type error in `prettify-symbols--make-keywords`.

Amend: c07f359d64
2024-09-14 13:01:54 -07:00
a78237cc01 fix(mu4e): org-msg: type error w/ prefix arg
Fix: #8073
2024-09-14 15:22:09 -04:00
66a2972ebf fix(lib): doom/set-indent-width on Emacs >=30
A built-in `editorconfig` package was added in Emacs 30, with a somewhat
different API from the other package of the same name.

Fix: #8072
2024-09-14 15:22:09 -04:00
d34770407c fix(emacs-lisp): unremap describe-symbol to helpful-symbol
The latter can't look up cl types. Rather than remap it globally, allow
folks to bind them separately.
2024-09-14 15:22:06 -04:00
b681504582 fix(fold): avoid Hideshow-not-supported error
Some modes are not supported by `hs-minor-mode`, but can still support
some of the `+fold/` commands. For example, `pdf-outline-minor-mode`
recognizes the same commands as `outline-minor-mode`, but
`hs-minor-mode` is not applicable. In cases like these, we shouldn't try
to enable `hs-minor-mode`, as this will produce an error that will
terminate the command.
2024-09-13 20:28:54 -07:00
faeab956e5 fix(vertico): consult-register: make evil-aware
Since the module remaps evil-show-registers to consult-register, the
latter should be made aware of evil registers.

Fix: #6355
2024-09-13 23:07:14 -04:00
07afef645a tweak(company): company-idle-delay = 0.26
Bumped up from it's default of 0.2.
2024-09-13 23:07:14 -04:00
f452677c55 docs(ligatures): revise docstrings 2024-09-13 23:07:14 -04:00
c07f359d64 fix(ligatures): activate prettify-symbols-mode conditionally
With +extra enabled, this module would activate `prettify-symbols-mode`
in any buffer where `prettify-symbols-alist` is non-nil, whether or not
`+ligatures-extra-alist` has an entry for the current major mode (or a
parent thereof). This behavior is poor UX, since the user may be
expecting that a empty entry for some `X-mode` in
`+ligatures-extra-alist` should mean *no` prettify-symbols-mode` at all
in `X-mode`.

With this, `+ligatures-extra-alist` is now the authority. An empty entry
for `X-mode` will result in `prettify-symbols-mode` *not* being
activated there. If that entry *isn't* empty, it will be combined only
with the global default value of `prettify-symbols-alist`, not any
pre-existing buffer-local value, to make the end result deterministic,
because some modes have their own defaults for it (like
`lisp-prettify-symbols-alist`, `js--prettify-symbols-alist`, and
`rust-prettify-symbols-alist`).

Fix: #7440
2024-09-13 23:07:14 -04:00
59de0ec15e perf(default): eagerly loading yasnippet at startup 2024-09-13 23:07:14 -04:00
b9eb662334 feat(vertico): allow affixes to be escaped
So we can search for "modulep\!" without it triggering the ! dispatcher.
2024-09-13 23:07:14 -04:00
d735c9be3d fix(graphviz): don't eagerly load flycheck at startup
Due to eager expansion of the flycheck-define-checker macro. Causes a
hefty delay in startup times.
2024-09-13 23:07:13 -04:00
73460f42fd fix(dired): require needed for `dirvish-side'
This prevents getting load errors when calling the command
`+dired/dirvish-side-and-follow' before `dirvish' has been
loaded.
2024-09-12 13:12:24 -07:00
be422c4516 fix(graphviz): org babel integration
Forgot that `ob-dot.el` exists in Org. I blindly expected the
`graphviz-dot-mode` package to provide babel support in f6b7e8a.

Also, `org-src-lang-modes` expects its CDRs to omit the -mode suffix,
which should fix syntax highlighting of graphviz/dot babel blocks.

Amend: f6b7e8ae48
Ref: #7546
2024-09-12 03:54:36 -04:00
37dbc99778 fix(fold): truncate-string-to-width: type errors
In 9a6bcc3, the new default for `truncate-string-ellipsis` was long
enough that it could cause `truncate-string-to-width` to error out (see
exceeded `truncate-string-to-width`s END-COLUMN argument.

Amend: 9a6bcc31f9
Fix: #8044
2024-09-11 20:41:13 -04:00
bd14095516 fix(ligatures): lisp modes disobeying null +ligatures-extra-symbols
Fix: #7440
2024-09-11 19:46:16 -04:00
b853c4106a fix(default): SPC g r: revert without prompting to save
Will save-then-revert now, instead of first prompting to save a modified
buffer before reverting.
2024-09-11 19:46:16 -04:00
f27a85ed35 module: add :emacs eww
Close: #6866
Co-authored-by: hlissner <hlissner@users.noreply.github.com>
2024-09-11 19:46:16 -04:00
1dc606bb27 fix(file-templates): __doom-readme: use doom-modules-version 2024-09-11 19:46:16 -04:00
771fccc52b nit: minor reformatting & revision
Also corrects the version string of obsolete variable `+mu4e-backend`.
2024-09-11 19:46:14 -04:00
1baebdafb3 feat(racket): add +hash-lang
`racket-mode` recently added `racket-hash-lang-mode` as an alternative
major mode.

Close: #7543
Co-authored-by: hlissner <hlissner@users.noreply.github.com>
2024-09-11 19:46:14 -04:00
f6b7e8ae48 module: add :lang graphviz
Close: #7546
Co-authored-by: nbfalcon <nbfalcon@users.noreply.github.com>
Co-authored-by: peterhoeg <peterhoeg@users.noreply.github.com>
2024-09-11 19:45:36 -04:00
fc35b3cf37 feat(ruby): add rails-{routes,i18n} & ruby-json-to-hash
Close: #5821
2024-09-11 04:33:36 -04:00