doomemacs/modules/lang
Henrik Lissner afa154db27
refactor!(emacs-lisp): flycheck config in non-packages
BREAKING CHANGE: This performs the following backwards-incompatible
changes:

- Replaces `+emacs-lisp-reduce-flycheck-errors-in-emacs-config-h` with a
  `+emacs-lisp-non-package-mode` minor-mode.
- Removed the `+emacs-lisp-disable-flycheck-in-dirs` variable, as this
  mechanism no longer checks a directory list to detect a "non-package".

If you've referenced either of these symbols, you'll need to
update/remove them from your config. No extra config is needed
otherwise.

Why: Doom has always tried to reduce the verbosity of Flycheck when
viewing elisp config files or scripts (i.e. non-packages). These are so
stateful that the byte-compiler, package-lint, and checkdoc inundate
users with false positives that are more overwhelming than helpful.

The heuristic for this has always been a simple "is this file in
$DOOMDIR or $EMACSDIR", but this wasn't robust enough, especially in
cases where symlinking was involved, so I've employed a new, more
general heuristic for detecting non-package files:

- The file isn't a theme in `custom-theme-load-path`,
- The file doesn't have a (provide ...) or (provide-theme ...)
  statement whose first argument matches the file name,
- The file lives in a project with a .doommodule file (doom modules
  never have convention package files in them),
- Or the file is a dotfile (like .dir-locals.el or .doomrc).

I've also tweaked byte-compile-warnings to yield a little more output,
but not by much. Whether this is too permissive or not will require
further testing to determine.

What's more, I've updated this to reflect recent changes to Doom's
startup process (in c05e615).

Ref: c05e61536e
2022-09-12 11:45:56 +02:00
..
agda fix(agda): tree-sitter compatibility with agda2-mode 2022-09-10 18:36:24 +02:00
beancount refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
cc fix: partially revert OS detection changes 2022-08-18 17:08:16 +02:00
clojure refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
common-lisp refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
coq refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
crystal refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
csharp fix(csharp): add dep pkg for sln-mode 2022-09-07 00:19:23 +02:00
dart fix(dart): enable rainbow-delimiters in dart-mode 2022-09-07 00:16:04 +02:00
data revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
dhall refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
elixir refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
elm refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
emacs-lisp refactor!(emacs-lisp): flycheck config in non-packages 2022-09-12 11:45:56 +02:00
erlang refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
ess refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
factor revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
faust revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
fortran refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
fsharp refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
fstar revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
gdscript refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
go refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
graphql refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
haskell refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
hy revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
idris refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
java refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
javascript refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
json refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
julia refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
kotlin refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
latex refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
lean refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
ledger refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
lua fix: partially revert OS detection changes 2022-08-18 17:08:16 +02:00
markdown refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
nim refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
nix fix(nix): remove :mode hook for nix-drv-mode 2022-09-10 23:37:50 +02:00
ocaml refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
org fix: partially revert OS detection changes 2022-08-18 17:08:16 +02:00
php refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
plantuml refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
purescript refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
python refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
qt revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
racket refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
raku refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
rest refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
rst revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00
ruby refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
rust docs(rust): de-emphasize rls 2022-09-07 01:25:22 +02:00
scala refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
scheme bump: :lang scheme 2022-09-07 01:40:10 +02:00
sh refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
sml refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
solidity refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
swift refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
terra refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
web refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
yaml refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
zig refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
README.org revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00

: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?