Commit graph

11521 commits

Author SHA1 Message Date
Henrik Lissner
c2f5e41722
tweak(window-select): winum-auto-setup-mode-line = nil
Leave it to modeline modules, plugins, and/or the user to support this
plugin, rather than impose winum's (rather destructive) side-effects on
them all.
2022-10-23 02:30:13 +02:00
Henrik Lissner
d25ff46d46
perf(javascript): replace add-node-modules-path
The add-node-modules-path package calls `npm bin` to locate the
node_modules/.bin, and does so while invoking the user's $SHELL, which
can be very expensive depending on the user's shell configuration,
possibly adding seconds to the startup time of any JS/TS file.

To mitigate this, I replace the package with a much faster, and in-house
heuristic. Folks with more complex needs should be using direnv anyway.

Fix: #6878
2022-10-23 02:30:13 +02:00
VitalyR
4bd4b13158
bump: :lang haskell
haskell/haskell-mode@cb573c8db5 -> haskell/haskell-mode@90503413f4
emacs-lsp/lsp-haskell@7cf64944ab -> emacs-lsp/lsp-haskell@485c1148ce

Ref: haskell/haskell-mode@4010de30ec
2022-10-23 02:29:45 +02:00
Henrik Lissner
962c643bad
fix(literate,mu4e): revert recent, unintended changes
Reverts changes that snuck into 5ac2a52.

Amend: 5ac2a5258b
Ref: #6873
2022-10-07 17:33:35 +02:00
Abdelhak Bougouffa
1b1556c476
tweak(mu4e): change icon for reply flagged mails
The current config is kinda confusing, it uses the same symbol for both
forwarded/passed mails and replied mails. FontAwesome provides a nice
icon for "reply", why not use it!
2022-10-05 16:50:27 +02:00
Paul A. Patience
398ee2cd94
fix(magit): evil keybinds for magit-worktree
For some reason, the transient-append-suffix adding magit-worktree back
to magit-dispatch — after its potential replacement by
magit-gitflow-popup — was having no effect. (It does when moved into
(after! magit-gitflow), so the issue must have something to do with when
transient-append-suffix is called.) magit-worktree wasn't appearing in
the magit-dispatch popup when magit-gitflow was enabled, nor was the '*'
keybind for magit-worktree in effect outside (or inside) the popup,
unlike '%' for magit-gitflow-popup.

Replace the ineffectual transient-append-suffix with a normal and visual
mode keybind for magit-worktree in magit-mode-map (and move the
unconditionally defined keybind for magit-gitflow-popup into (after!
magit-gitflow)). Also, append the magit-gitflow-popup transient suffix
to magit-worktree instead of replacing it, so that the latter still
appears in magit-dispatch (though under the original keybind 'Z' — which
isn't really an issue, since evil-collection-magit doesn't seem to
update the keybinds of any of the other commands accessible from
magit-dispatch — but also callable with '*').
2022-10-05 15:16:54 +02:00
Antonio Ruiz
191745424b feat(workspaces): make tab-bar tabs workspace-local 2022-10-05 15:14:44 +02:00
TEC
7e50f239c4 fix(org): improve parsing of flag-only module link 2022-10-05 01:01:19 +02:00
TEC
24f98d49ec tweak(org): have doom links use path for info 2022-10-05 01:01:19 +02:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Henrik Lissner
58fb83c98e
fix(company): completing-read interface on C-S-s
C-S-s while company is completing shoudl bring up the results in your
completion framework of choice (ivy, helm, vertico, etc), but failed to
do so for vertico (for any completion backend besides company-capf
perhaps).
2022-10-04 02:05:02 +02:00
Haisheng
57e99650d3
fix(grammar): use languagetool in $PATH, if available 2022-10-03 18:33:28 +02:00
TEC
d3839197f1 fix(mu4e): cooperative lock file watching
Some time ago I noticed the cooperative lock file management wasn't
working as I remember. I forget what exactly I was thinking, but
basically I've poked at the code until it seems to work better.
2022-10-02 13:10:17 +02:00
Ellis Kenyő
4d24a3f1a7 feat(org): restore org-contrib packages removed upstream
org-contrib is slowly removing packages (most of which have moved or
will move to their own repos or into Org proper).

Ref: emacsmirror/org-contrib@3dd9841522
Ref: emacsmirror/org-contrib@c555d8d489
Ref: emacsmirror/org-contrib@0740bd3fe6
Close: #6740
2022-09-30 23:02:34 +02:00
TEC
c82e7455bb fix(literate): use same org install when using CLI 2022-09-30 22:52:42 +02:00
TEC
3a19152787 fix(mu4e): +mu4e/capture-msg-to-agenda with mu 1.8 2022-09-30 22:45:23 +02:00
TEC
f2d62acaad tweak(mu4e): try harder to attach files in order
In 4d9ea6853b I reacted to a either a change that I presume occurred
in org-msg at some point, or behaviour originally unnoticed, that led to
bulk-selected files being attached in reverse. Further investigation has
indicated that this isn't actually making attachment order work as
expected, just hiding the reverse behaviour from bulk-attachment. The
better approach is to keep the dired mark reversal, and change
org-msg-attach-attach to add new files to the end, not the start, of the
list of attachments.
2022-09-30 22:44:39 +02:00
TEC
30a4eb7f77 fix(mu4e): file attachment prompt arguments
There are two changes to the default optional read-file-name arguments
that should be made for the purpose of attaching files:
1. The optional MUSTMATCH argument should be set, as one can't exactly
   attach non-existent files.
2. The INITIAL argument should be set to the empty string so that if
   default-directory is customised for some reason or another that
   selecting it leads to the expected directory being selected.
   Without INITIAL or DEFAULT-FILENAME being specified, the current file
   path will be used, which is never desirable as this is simply a path
   to the message buffer.
2022-09-30 22:43:46 +02:00
Ellis Kenyő
f1e793405d fix(macos): only use trash on local hosts
Fix: #6804
2022-09-30 22:42:46 +02:00
TEC
a207a8b703 feat(mu4e): more DWIM-y mu4e entry point (=mu4e)
Replace the rather crude "don't do anything if already in a mu4e-y
buffer" behaviour with a more refined approach that tries to find the
live mu4e buffer likely of the most interest and switch to that, before
calling (mu4e) if no such buffer is found.
2022-09-30 22:40:43 +02:00
毕达哥拉斯
2c31028a56
fix(treemacs): treemacs-collapse-dirs not changing
`treemacs-collapse-dirs` cannot be changed by setting
`+treemacs-git-mode` to `extended` or `deferred`

Fix: #6850
2022-09-30 22:39:24 +02:00
Dave Lucia
04fa5fb948
fix(web): remove .sface from web mode autolist
elixir-mode can now handle .sface files from surface-ui.org

Ref: #4905
2022-09-30 22:35:07 +02:00
Henrik Lissner
07c1534ea3
fix(modeline): void-function +modeline-refresh-bars-h error
Occurs during non-interactive startup of the user's config (e.g. 'doom
doctor'), while :ui (modeline +light) is enabled.

This is a makeshift solution until I get around to finishing the +light
feature.
2022-09-26 00:47:28 +02:00
Henrik Lissner
156fade7e2
fix(emacs-lisp): set doom-module-context in eval handler
So module context is in scope of evaluated code.

Amend: 4efaf6837b
2022-09-25 17:52:07 +02:00
Henrik Lissner
29dfce32bd
fix(doom-dashboard): hide benchmark until available
The dashboard has a chance to display before doom-init-time is
calculated. To prevent the resulting type error, hide it until it is
ready.
2022-09-24 22:10:02 +02:00
Henrik Lissner
4efaf6837b
refactor: introduce doom-module-context
Where f9201eb introduced a general context system, this one introduces
one for modules, to simplify our let-bind game when interacting with
modules, and to more efficiently expose module state to modulep! (which
gets called at runtime a great deal, so its performance is important).

* lisp/doom-lib.el (doom-log): simplify macro and introduce
  doom-inhibit-log variable.
* lisp/doom-modules.el (modulep!): fix reported file path if modulep!
  fails to find the local module.
* lisp/lib/debug.el (doom-debug-variables): disable doom-inhibit-log
  when debug mode is on.

Ref: f9201eb218
2022-09-24 22:09:46 +02:00
Henrik Lissner
f9201eb218
refactor: introduce doom-context
Introduces a system to announce what execution contexts are active, so I
can react appropriately, emit more helpful logs/warnings in the case of
issues, and throw more meaningful errors.

* bin/doom: load module CLIs in the 'modules' context.
* lisp/cli/doctor.el: load package files in 'packages' context.
* lisp/doom-cli.el:
  - (doom-before-init-hook, doom-after-init-hook): trigger hooks at the
    correct time. This may increase startup load time, as the benchmark
    now times more of the startup process.
  - (doom-cli-execute, doom-cli-context-execute,
    doom-cli-context-restore, doom-cli-context-parse,
    doom-cli--output-benchmark-h, doom-cli-call, doom-cli--restart,
    doom-cli-load, run!): remove redundant context prefix in debug logs,
    it's now redundant with doom-context, which doom-log now prefixes
    them with.
* lisp/doom-lib.el (doom-log): prefix doom-context to doom-log output,
  unless it starts with :.
* lisp/doom-packages.el (package!, doom-packages--read): throw error if
  not used in a packages.el file or in the context of our package
  manager.
* lisp/doom-profiles.el (doom-profile--generate-init-vars,
  doom-profile--generate-load-modules): use modules doom-context instead
  of doom-init-time to detect startup.
* lisp/doom-start.el (doom-load-packages-incrementally-h): move function
  closer to end of doom-after-init-hook.
* lisp/doom.el:
  - (doom-before-init-hook, doom--set-initial-values-h,
    doom--begin-init-h): rename doom--set-initial-values-h to
    doom--begin-init-h and ensure it runs as late in
    doom-before-init-hook as possible, as that is the point where Doom's
    "initialization" formally begins.
  - (doom-after-init-hook): don't trigger at the end of command-line-1
    in non-interactive sessions. This will be triggered manually in
    doom-cli.el's run!.
* lisp/lib/config.el (doom/reload, doom/reload-autoloads,
  doom/reload-env): use 'reload' context for reload commands.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-eval): use 'eval'
  context.
* modules/lang/org/config.el: remove doom-reloading-p; check for
  'reload' doom context instead.
2022-09-24 22:09:05 +02:00
Henrik Lissner
1c4217aa27
refactor: minor refactors & commentary revision
* lisp/doom-cli.el:
  - reference backport source commit.
  - doom-cli--restart: a type check is all we need here. This is a
    programmer error, not a user error.
* lisp/doom-editor.el (recentf): mention recentf-show-abbreviated (added in
  emacs-mirror/emacs@32906819ad)
* lisp/doom-keybinds.el (doom-init-leader-keys-h): move to
  doom-after-init-hook, in case the user customizes leader variables in
  a previous hook (like emacs-startup-hook or after-init-hook).
* lisp/doom-start.el: use eval-when! to compile out the section on
  non-macOS systems (when Doom gets around to compiling its core files,
  later).
* modules/config/literate/autoload.el (+literate-config-file): use
  file-name-concat instead of string concat. This relaxes the
  requirement that doom-user-dir end in a /; a requirement I intend to
  fully phase out.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-non-package): remove
  empty map! macro in flycheck-emacs-lisp-check-form. The macro already
  no-ops at compile-time/in noninteractive sessions since b480ed51a3.
* modules/ui/hl-todo/config.el (hl-todo-keyword-faces): revise
  commentary for default hl-todo keywords.

Ref: emacs-mirror/emacs@32906819ad
Ref: b480ed51a3
2022-09-24 20:31:34 +02:00
Henrik Lissner
6c76b98dbb
refactor: use doom-module-*-file variables; add two
- Adds doom-module-packages-file and doom-module-metadata-file.
- Uses them and the other doom-module-*-file variables where they were
  previously hardcoded.
- Add .el extension to doom-module-{init,config}-file; it is now the
  consumer's responsibility to strip/change/keep the extension as they
  see fit.
2022-09-24 20:31:34 +02:00
Henrik Lissner
dda848e089
module: add :config use-package
I intend to phase out the internal usage of use-package in Doom's core
and modules. The macro is too complex and magical for our needs.

That said, until we've fully removed it, this :config use-package is
hardcoded to be enabled-by-default, until use-package has been
refactored out of core and modules. It'd be wise not to add it to your
doom! blocks yet.
2022-09-24 18:46:21 +02:00
Antonio Ruiz
e9ef904eee docs(calendar): say calfw instead of the calendar 2022-09-21 01:05:34 +02:00
Antonio Ruiz
fc2682e4ff fix(notmuch): use new workspace name in +notmuch/quit
This change was meant to be included in the first commit where I changed
the default notmuch workspace name.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
6fc1aa9c62 feat(rss): only call elfeed if necessary
If our *rss* workspace is already populated by elfeed buffers, there is
no reason to re-initialize elfeed.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
3f9e62dab7 feat(notmuch): use a different workspace name
The workspace name *notmuch* is more consistent with Doom's other app
workspace names like *mu4e* and *rss*.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
b2154b5f9b fix(irc): do not emit an error when calling =irc
When the *IRC* workspace is already populated by circe buffers, there is
no reason to emit an error, just switch to the *IRC* workspace and do
nothing.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
31a6fa77d0 feat(calendar): only initialize calfw if necessary
If the *calendar* workspace is already populated with calfw buffers,
there is no reason to re-initialize calfw.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
9d14d093c0 feat(calendar): use a different workspace name
The workspace name *calendar* is more consistent with other app
workspaces like *mu4e*, *notmuch*, *rss*, and *IRC*.
2022-09-21 01:05:34 +02:00
Antonio Ruiz
32baf538ee feat(mu4e): only call mu4e if necessary
If we are already reading emails in Mu4e or composing a message, there
is no reason to go back to the main window.
2022-09-21 01:05:34 +02:00
TEC
f6bddc8fe2 tweak(mu4e): autoload +mu4e-lock-available
+mu4e-lock-available seems like a potential entry-point to the mu-lock
functionality, e.g. on startup check if another Emacs process has mu4e
active, and so it might as well be turned into an autoload.
2022-09-21 00:58:30 +02:00
TEC
4d9ea6853b tweak(mu4e): don't reverse dired marks to attach
Originally this was added to have the order of attached files match the
order of mark selection. Recent usage indicates that this was either
misguided or the behaviour has changed, as this now achieves the opposite
effect --- with nreverse files are attached in reverse order. Removing
nreverse provides the expected behaviour.
2022-09-21 00:56:33 +02:00
TEC
2662d68ae8 fix(mu4e): only widen the mu4e headers frame
It's a bit silly to just unconditionally widen the current frame when
you could have the mu4e headers view in another frame entirely. Instead
we can look for the mu4e headers buffer, and only widen frames where it
is the active buffer.
2022-09-21 00:56:20 +02:00
Samuel Tschiedel
9b73ce3ad8 fix(magit): remap magit-browse-thing to forge-browse-*
When using evil +everywhere, we disable the default forge bindings.
We must then explicitly remap magit-browse-thing, as it's just a
placeholder command (bound in multiple places).
2022-09-21 00:54:09 +02:00
TEC
e2608cbdd5 tweak(literate): clear the tangle output buffer
While this is a hidden buffer, it's raised when an error occurs. In such
situations, it can be a little confusing to see the result of every
tangle to date instead of just the last tangle. It's easy enough to
simple clear the buffer at the start of the tangle process.
2022-09-21 00:53:30 +02:00
Henrik Lissner
c994e3ed59
bump: :completion vertico
minad/consult@6319aec351 -> minad/consult@76aab86015
minad/marginalia@69442c2d94 -> minad/marginalia@7f5bf7818b
minad/vertico@2ad4619665 -> minad/vertico@8078b8cb94
oantolin/embark@5d0459d27a -> oantolin/embark@3add321d74
oantolin/orderless@8b9af2796f -> oantolin/orderless@6b86527b30
tumashu/vertico-posframe@7ca364d319 -> tumashu/vertico-posframe@46aa1dffd1
2022-09-20 02:26:51 +02:00
Henrik Lissner
5c9672a28a
bump: :ui treemacs
Alexander-Miller/treemacs@b18a05b1f6 -> Alexander-Miller/treemacs@e4bb236bd5
emacs-lsp/lsp-treemacs@355e468b7f -> emacs-lsp/lsp-treemacs@f7ae97560c

A new major version of treemacs was released some days ago. The
currently pinned version is from February 2022, and it stops LSP servers
from starting with message "cannot load treemacs-lib" via lsp-treemacs.

Fix: #6814
Close: #6812
Co-authored-by: logc <logc@users.noreply.github.com>
2022-09-20 00:56:07 +02:00
Henrik Lissner
e2ce4345d2
bump: :lang org
abo-abo/org-download@947ca22364 -> abo-abo/org-download@19e166f0a8
alf/ob-restclient.el@3ac834b02b -> alf/ob-restclient.el@1b021ce1c6
emacs-straight/org-mode@00adad9357 -> emacs-straight/org-mode@86c4635dba
emacsmirror/org-contrib@39e2abc562 -> emacsmirror/org-contrib@0740bd3fe6
hakimel/reveal.js@e219184f37 -> hakimel/reveal.js@c1c4145240
org-roam/org-roam@7f453f3fff -> org-roam/org-roam@d95d25615e

Close: #6692
Fix: #6691
2022-09-18 13:10:49 +02:00
Henrik Lissner
87f85ab459
bump: :tools debugger lsp
emacs-lsp/dap-mode@50c2a99059 -> emacs-lsp/dap-mode@5d5043f962
emacs-lsp/lsp-ivy@3e87441a62 -> emacs-lsp/lsp-ivy@9ecf4dd9b1
emacs-lsp/lsp-mode@3fa645c039 -> emacs-lsp/lsp-mode@68bdac0f80
joaotavora/eglot@bd970be047 -> joaotavora/eglot@aeea7c719a
realgud/realgud@3c88611c4e -> realgud/realgud@aff03aeef1

Close: #6721
2022-09-18 00:28:13 +02:00
Henrik Lissner
46527c0b85
fix(org): eldoc showing empty heading breadcrumbs
Fix: #6795
Amend: ab9896c526
2022-09-17 10:37:09 +02:00
Henrik Lissner
6bd8cbf903
fix(vertico): relax doctor tests
consult--grep-lookahead-p throws an error if argv[0] can't be found, and
so will require if consult isn't installed (which would be redundant
with the package checks the doctor already does). To prevent misleading
backtraces here, I've suppressed the latter issue, but the former will
need attention later.
2022-09-16 17:33:44 +02:00
Henrik Lissner
732d87ac3e
nit: minor comment revision and refactors 2022-09-16 17:01:57 +02:00