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. |
||
---|---|---|
.. | ||
agda | ||
beancount | ||
cc | ||
clojure | ||
common-lisp | ||
coq | ||
crystal | ||
csharp | ||
dart | ||
data | ||
dhall | ||
elixir | ||
elm | ||
emacs-lisp | ||
erlang | ||
ess | ||
factor | ||
faust | ||
fortran | ||
fsharp | ||
fstar | ||
gdscript | ||
go | ||
graphql | ||
haskell | ||
hy | ||
idris | ||
java | ||
javascript | ||
json | ||
julia | ||
kotlin | ||
latex | ||
lean | ||
ledger | ||
lua | ||
markdown | ||
nim | ||
nix | ||
ocaml | ||
org | ||
php | ||
plantuml | ||
purescript | ||
python | ||
qt | ||
racket | ||
raku | ||
rest | ||
rst | ||
ruby | ||
rust | ||
scala | ||
scheme | ||
sh | ||
sml | ||
solidity | ||
swift | ||
terra | ||
web | ||
yaml | ||
zig | ||
README.org |
:lang
Description
These modules specialize in integration particular languages and their ecosystems into (Doom) Emacs.
Frequently asked questions
This category has no FAQs yet. Ask one?