Commit graph

11326 commits

Author SHA1 Message Date
Henrik Lissner
aa54383b5d
refactor: deprecate doom-etc-dir for doom-data-dir
doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
2022-08-14 20:43:35 +02:00
Henrik Lissner
a5c80fcb4b
refactor: deprecate doom-private-dir for doom-user-dir
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.

Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
2022-08-14 20:43:35 +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
3239ab8b2e
nit(mu4e): neutralize comments
Some of our comments/docs can come off as disparaging or snide. They're
glimpses of unfiltered frustration or snarky rubber ducking gone too
far, something I can totally sympathize with, as a scatterbrained
tinkerer, unwittingly made responsible for a lot of work that isn't mine
because of Doom's position as a middleman. But now that Doom has a
veritable userbase, I'd like to hold it to a higher standard.

Light-hearted banter and aired grievances in our source code,
documentation, or community are fine if focused on the problem or the
personal/shared experiences of the community (things that offer value or
amusement to others), but it is never acceptable to attack people or
their efforts. Especially not the very people on whose shoulders Doom
stands.

I sincerely apologize if these have offended you.

Amend: b07614037f
2022-08-14 20:36:42 +02:00
efim
02bb28dc82
fix(org): respect org-table-automatic-realign
Co-authored-by: efim <efim.nefedov@nordigy.ru>
2022-08-12 21:03:39 +02:00
joh13266
eb65ef169b fix(ocaml): ocaml tree-sitter function typo 2022-08-12 21:02:30 +02:00
Itai Y. Efrat
0e6682612f feat(default): use consult-flycheck when applicable 2022-08-12 21:01:56 +02:00
Henrik Lissner
de62c5449d
nit(vc-gutter): add summary tags to comments
A new convention I'm slowly rolling out to modules to help readers
quickly identify the purpose of a change. E.g.

  UX    - a change done to improve user experience
  STYLE - for aesthetics
  FIX   - addresses a perceived or potential issue
  PERF  - intended to improve performance

Combined tags will be delimited with commas. E.g. "UX,PERF:"

There may be more later, and these will be further documented in the new
docs about to come up.
2022-08-10 14:06:52 +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
118f0c416a
refactor(evil): replace evil-visual-update-x-selection advice
With the new evil-visual-update-x-selection-p setting.

Also adds a more descriptive comment to this design choice.
2022-08-10 13:18:34 +02:00
Henrik Lissner
bd597ffda4
docs(vc-gutter): document module's hacks 2022-08-10 13:18:34 +02:00
Henrik Lissner
99b0b70c49
fix(vc-gutter): remove advice removal for diff-hl-overlay-modified
Originally, this intended to *stop* diff-hl from too aggressively
deleting the diff overlays while editing. This is either no longer the
case or the old advice was mistaken; the intended behavior is achieved
without it.
2022-08-10 13:18:34 +02:00
Henrik Lissner
d55d7f3088
feat(vc-gutter): shrink revert-hunk popup to contents 2022-08-10 13:18:33 +02:00
Henrik Lissner
a0a4aa81c1
fix(vterm): +vterm/toggle creating duplicates
If vterm-buffer-name-string is set to non-nil, then vterm will rename
the buffer after it is initialized. Since +vterm/toggle looks up buffers
by name, it will lose track of them, causing it to create a new one on
each invocation. With this, it will no longer lose track of them.

Fix: #6651
2022-08-09 17:18:35 +02:00
Henrik Lissner
4cf5ae8be1
fix(literate): tangling loop on 'doom sync'
Why the setenv call wasn't persisted into session restart (#6642) needs
further investigation, but for now this seems to solve the issue.

Fix: #6642
2022-08-09 17:12:56 +02:00
Henrik Lissner
24623f9959
refactor!(dired): move diff-hl config to :ui vc-gutter
BREAKING CHANGE: users who are used to diff-hl displaying diffs in dired
will notice they have vanished. diff-hl's conig has been moved to :ui
vc-gutter +diff-hl (added in 27a448b). Enable it to get it back.

Ref: 27a448b04b
2022-08-09 16:30:43 +02:00
Henrik Lissner
e76f327e0a
fix(vc-gutter): apply +pretty to diff-hl-dired-mode
Amend: cd9bc5a1fd
2022-08-09 16:30:43 +02:00
Henrik Lissner
e30eb03f83
refactor(vc-gutter): remove redundant hooks
The refresh hooks address the stage/unstage cases already.
2022-08-09 16:30:43 +02:00
Henrik Lissner
15b00b78fe
refactor(vc-gutter): use local modes instead of global 2022-08-09 16:30:43 +02:00
Bruce D'Arcus
b06fd63dcb bump: :tools biblio
andras-simonyi/citeproc-el@9f783967c1 -> andras-simonyi/citeproc-el@406bd9964f
emacs-citar/citar@b24b5b94b7 -> emacs-citar/citar@146f2cb5a3
tmalsburg/helm-bibtex@aa775340ba -> tmalsburg/helm-bibtex@ce8c17690d

Also add citar-embark, which now contains the embark functionality in a
separate minor mode package, and explicitly add parsebib, so we can pin
the precise version.
2022-08-08 23:41:06 +02:00
Henrik Lissner
13b3304c08
bump: :lang org
emacs-straight/org-mode@5a49cc5f4f -> emacs-straight/org-mode@00adad9357
hakimel/reveal.js@039972c730 -> hakimel/reveal.js@e219184f37
oer/org-re-reveal@f184e66e39 -> oer/org-re-reveal@6f78a0a228
org-roam/org-roam@e435581215 -> org-roam/org-roam@7f453f3fff

- Fixes "Variable binding depth exceeds max-specpdl-size" error when
  opening Doom's docs in doom-docs-org-mode. See 1abcf91.

Ref: 1abcf913aa
2022-08-08 22:28:14 +02:00
Henrik Lissner
f0e508b52d
bump: :lang ocaml
diml/utop@5d72a0ab34 -> diml/utop@bbd9a6ed45
flycheck/flycheck-ocaml@8707a7bf54 -> flycheck/flycheck-ocaml@77f8ddbd9b
ocaml-ppx/ocamlformat@9324ea439a -> ocaml-ppx/ocamlformat@9cbd8150c2
ocaml/dune@4bc7629a5e -> ocaml/dune@3df932f7f9
ocaml/merlin@5d59c70659 -> ocaml/merlin@be753d9412
ocaml/tuareg@04f5ab6be9 -> ocaml/tuareg@ad8a688b7e

Fix: ocaml-ppx/ocamlformat#2120
Close: #6639
Co-authored-by: tjammer <tjammer@users.noreply.github.com>
2022-08-08 18:47:13 +02:00
Jeetaditya Chatterjee
1b56675819 docs(tree-sitter): update highlights configuration 2022-08-08 18:37:20 +02:00
Jeetaditya Chatterjee
8e68cd5ffd feat(tree-sitter): conditionally enable ts-hl-mode
Based on the new variable `+tree-sitter-hl-enabled-modes`

This allows for people to use tree sitters tools without having
to use it for highlighting.
Useful because some modes (such as web-mode and its derivatives) do a
better job than the tree sitter alternative in this respect.
2022-08-08 18:37:20 +02:00
Peter Hoeg
4f23a02877 feat(terraform): support terragrunt 2022-08-08 18:35:46 +02:00
Abdelhak Bougouffa
d8c8f04f2f docs(vertico): add +childframe flag 2022-08-08 18:35:10 +02:00
Henrik Lissner
0ebf254f4e
fix(org): enable evil-org-mode in doom-docs-org-mode
So (evil) readers can get its benefits too.
2022-08-08 18:24:56 +02:00
Henrik Lissner
7c9d7a4551
fix(literate): report failures clearly
If tangling failed, it would do so silently, continuing on with the
'doom sync'. This causes a visible error instead, aborting the 'doom
sync'. Unfortunately, org-babel-tangle doesn't appear to produce any
errors, so this our error message can't be improved at this stage.

Fix: #6642
2022-08-08 18:23:47 +02:00
Henrik Lissner
27a448b04b
feat(vc-gutter): add +diff-hl backend
This adds an alternative backend to the :ui vc-gutter module, enabled
with the +diff-hl flag. In the future, I intend for diff-hl to replace
git-gutter, as it is slightly faster and depends on more native
functionality (vc.el), but it's still a little buggy. It will remain
opt-in until those issues are sorted out.
2022-08-08 18:23:47 +02:00
Henrik Lissner
cd9bc5a1fd
refactor!(vc-gutter): move style defaults behind +pretty
BREAKING CHANGE: This changes moves its default configuration of the
fringe behind a +pretty flag. This won't cause breakage, but will cause
a (possibly unwanted) visual change: git-gutter will use its default
indicators (e.g. + and - symbols) instead of the continuous bars from
before.

To get back the old look, enable `+pretty` on the `:ui vc-gutter`
module.

This was done to make the defaults toggleable, to standardize +pretty,
to document issues with this customization that have been brought up by
members of the Emacs community, and to better document it in comments
for posterity.
2022-08-08 18:23:47 +02:00
Henrik Lissner
b6ba1204bf
fix(file-templates): unescaped periods in regexps 2022-08-07 20:58:29 +02:00
Henrik Lissner
3ca74a1d5f
feat(file-templates): add .doomrc template
Ref: 9b8ed397e8
2022-08-07 20:57:55 +02:00
Henrik Lissner
422baedad7
refactor(cli): load cli libs from doom.el
This simplifies the entry point for loading Doom (and/or its CLI
framework).
2022-08-07 19:43:28 +02:00
Henrik Lissner
790c2a6d84
fix(eval): eros overlay going off-screen
Evaluating code (and :tools (eval +overlay) enabled) will do one of two
things with the return value:

If long, it will be displayed in a popup window on the bottom of the
frame. If short (<3-4 lines), it will be displayed in an overlay at the
end of the line.

If you happened to have scrolled horizontally (such that the BOL isn't
visible), the overlay would be displayed offscreen and unreadable. Any
attempt to scroll it into view will cause it to disappear (as per its
transient nature). This fix pads each newline in said overlay such that
the overlay is pushed into view.
2022-08-07 19:43:27 +02:00
Henrik Lissner
057e6c531c
refactor: replace doom-enlist with ensure-list
doom-enlist is now a deprecated alias for ensure-list, which is built
into Emacs 28.1+ and is its drop-in replacement. We've already
backported it for 27.x users in doom-lib (in 4bf4978).

Ref: 4bf49785fd
2022-08-07 19:43:13 +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
53fb367aa7
docs(lsp): fix typo in quote & use correct icon
Amend: c34168fb2a
Co-authored-by: lelit <lelit@users.noreply.github.com>
2022-08-07 19:07:57 +02:00
Henrik Lissner
a71e757c8d
fix(org): create org-persist-directory recursively
`org-persist-write:index' does not recursively create
`org-persist-directory', causing `make-directory` to throw a
file-missing if a parent directory is missing.

Fix: #6635
Ref: bzg/org-mode@edd7f2962f
2022-08-05 18:13:48 +02:00
Henrik Lissner
bcca96a69a
refactor(literate): remove unused envvar __DOOMRESTART
Also remove the "Restarting..." message; it's an implementation detail
that isn't important to the end user.
2022-08-05 00:49:17 +02:00
Henrik Lissner
06db69bf76
fix(emacs-lisp): suppress popup warnings from flycheck
Typically caused by partial syntax errors in Doom Emacs (e.g. while
you're writing code in $EMACSDIR or $DOOMDIR, and haven't typed the
closing parenthesis yet).
2022-08-05 00:49:17 +02:00
Henrik Lissner
ba668f7cb0
fix(file-templates): indentation for licenses
And remove superfluous tabstops in gpl3 license.
2022-08-05 00:49:17 +02:00
Henrik Lissner
1e9d8ab35e
bump: :lang python
cython/cython@fdea2d6bed -> cython/cython@8afd932c28
emacs-lsp/lsp-pyright@3598bc7c47 -> emacs-lsp/lsp-pyright@c745228f39
necaris/conda.el@9c28d7a853 -> necaris/conda.el@a65ed00848
pwalsh/pipenv.el@8f50c68d41 -> pwalsh/pipenv.el@3af1597498
pythonic-emacs/anaconda-mode@cbea0fb318 -> pythonic-emacs/anaconda-mode@160e4e7185
wbolster/emacs-python-pytest@ea53891a21 -> wbolster/emacs-python-pytest@9bf8db38bf

- Updating conda.el fixes compatibility with Conda 4.13+.

Fix: #6626
Close: #6630
Co-authored-by: sleepyeye <sleepyeye@users.noreply.github.com>
2022-08-05 00:49:17 +02:00
Henrik Lissner
bacb84f6c6
docs(default): add @hlissner, @UndeadKernel 2022-08-05 00:49:17 +02:00
Henrik Lissner
b7cd35e43c
docs(haskell): add @iyefrat 2022-08-05 00:49:17 +02:00
Henrik Lissner
ea254509aa
docs(javascript): add @elken, @iyefrat 2022-08-05 00:49:16 +02:00
Henrik Lissner
3dc14870af
docs(php): add @elken 2022-08-05 00:49:16 +02:00
Alfonso Fernando Álvarez
887e9fd12c feat(go): add test-file function and keybinding 2022-08-04 17:42:21 +02:00
Henrik Lissner
ed04aef2a9
docs: add PR ref to #+since lines 2022-08-04 01:16:13 +02:00
Henrik Lissner
3eb6f663fe
docs(bidi): update READMEs to new format
Also preforms minor spelling, grammar, and formatting corrections.
2022-08-04 01:16:13 +02:00