Commit graph

14733 commits

Author SHA1 Message Date
Henrik Lissner
77a4e8f8a7
Fix switch-project completion defaulting to current project
Affects doom/browse-in-other-project, doom/find-file-in-other-project,
+default/search-other-project and
+default/search-project-for-symbol-at-point.

When performing a text or file search in "another project", prior to
this update the current project would be the first highlighted
candidate, which doesn't make much sense when you're invoking a command
for searching *other* projects.
2020-05-26 14:06:19 -04:00
Henrik Lissner
8d75d72eb0
Fix wrong-number-of-args error on loading mu4e
Because mu4e-attachment-dir is expected to take two arguments (if it's a
function).
2020-05-26 14:06:19 -04:00
Henrik Lissner
2d3eab7a35
Make C-c {h,j,k,l} eshell keybinds evil-only
The h,j,k,l paradigm is distinctly vim's, and should not be bound for
vanilla users, so now it's only available to evil users.

Also, since C-c l is the vanilla localleader prefix, this causes "Key
sequence C-c l b starts with non-prefix key C-c l" errors.

Fixes #3224
2020-05-26 14:06:19 -04:00
Henrik Lissner
cb016f21be
Merge pull request #3226 from tudurom/develop
Fix +format/region when formatting with LSP
2020-05-26 12:48:17 -04:00
Tudor Roman
649052337b
fix +format/region when formatting with LSP 2020-05-26 18:16:23 +03:00
Henrik Lissner
ca0dbc798d
Use shorter seq.el alternatives 2020-05-26 04:18:20 -04:00
Henrik Lissner
22c7eac897
Add doom-autoloads-files option
So users can scan additional files for autoloads during 'doom sync'.
2020-05-26 04:16:42 -04:00
Henrik Lissner
f4e6d36574
Move 'restart Emacs to see changes' message to 'doom sync'
It isn't the autoloads generator's responsibility to do this. The
"changes" referred to consist of more than just the regenerated
autoloads file.
2020-05-26 04:09:11 -04:00
Henrik Lissner
10a4e6570d
Fix 'doom env' refusing arguments/options 2020-05-26 03:21:27 -04:00
Henrik Lissner
b6cc110f4c
Fix 'wrong-type-arg' error on 'doom upgrade' 2020-05-26 03:12:35 -04:00
Henrik Lissner
894966b1e2
Fix #3221: incorrect usage of doom-cli-execute
The function is variadic in as-of-yet published versions of Doom's CLI;
this usage snuck into a commit.
2020-05-26 02:55:24 -04:00
Henrik Lissner
a814239ec7
Implement daisy-chaining for CLI sessions
elisp lacks an execv implementation (or mature subprocess library), so
we exploit some splenderiffic hackery to get Emacs to execute arbitrary
shell commands after a 'doom ...' command completes. This allows us to
daisy chain doom commands in distinct sessions (wonderful for reloading
doom after a 'doom upgrade', which we do). This minimizes errors when a
'doom upgrade' pulls in breaking changes to Doom's CLI.

We also bring 'doom run' into elisp, since this new functionality
enables us to.
2020-05-26 02:30:54 -04:00
Henrik Lissner
e89b604f5f
Fix 'doom upgrade' when doom is a git submodule 2020-05-26 02:13:02 -04:00
Henrik Lissner
101cd5019f
Bump :emacs undo
ideasman42/emacs-undo-fu@bcf7f92 -> ideasman42/emacs-undo-fu@46de023

bcf7f92 no longer exists (probably force pushed).
2020-05-26 01:39:52 -04:00
Henrik Lissner
e1f73bd7cb
Fix void-function +literate-tangle-h on saving org files 2020-05-26 01:00:49 -04:00
Henrik Lissner
07714a12d4
Fix wrong-type-argument: sequencep 45 opening dired 2020-05-25 22:16:11 -04:00
Henrik Lissner
3253ca8435
Minor refactors & comment/message revision 2020-05-25 22:11:15 -04:00
Henrik Lissner
519a402f62
Freeze doom-modules in between 'doom sync'
The coming CLI rewrite makes bin/doom atomic, but also "freezes" more of
your config in between 'doom sync's and 'doom upgrade's. This is
necessary to implement a robust rollback system. However, that also
means that `doom!` shouldn't do anything when read in an interactive
session (and should only be read when running `doom sync`).

Indirectly fixes #2612
2020-05-25 21:51:35 -04:00
Henrik Lissner
2c2a4c5c8a
Don't load core modules if NO-CONFIG-P
Might address #2612
2020-05-25 21:01:09 -04:00
Henrik Lissner
d1fcbf244b
doom/toggle-debug-mode -> doom-debug-mode 2020-05-25 20:18:36 -04:00
Henrik Lissner
1febb5a04e
lang/org: refactor +journal submodule 2020-05-25 20:18:35 -04:00
Henrik Lissner
1916d26c75
Fix void-function +literate-tangle 2020-05-25 18:18:10 -04:00
Henrik Lissner
16ecfd3e4f
Bump :lang org
abo-abo/org-download@d248fcb -> abo-abo/org-download@8e12cf0
bastibe/org-journal@524009b -> bastibe/org-journal@a3ff9ce
emacs-straight/org-mode@9bc0cc7 -> emacs-straight/org-mode@5454312
hlissner/evil-org-mode@9cf661a -> hlissner/evil-org-mode@2e9c4a2
org-roam/org-roam@e3d101f -> org-roam/org-roam@ea6bd21

org-journal introduces some breaking changes (by shifting away from
auto-mode-alist to magic-mode-alist for detecting journal files), and
had to be accommodated.

Fixes #3199
2020-05-25 18:17:38 -04:00
Henrik Lissner
15a58d5b81
Prevent 'doom sync' rebuilding all packages, each time 2020-05-25 18:17:38 -04:00
Henrik Lissner
e4d508b47f
Merge pull request #3208 from webframp/vc-readme
Add emacs/vc readme
2020-05-25 16:52:09 -04:00
Henrik Lissner
8c3f24f14c
Disable lsp-auto-guess-root
This was too confusing for beginners. May as well have LSP prompt or a
project than sometimes guess incorrectly.

Closes #3212, #3075
2020-05-25 16:48:42 -04:00
Henrik Lissner
f47ec8b919
Disable default doom-font in config.el template
Closes #3194
2020-05-25 16:30:21 -04:00
Henrik Lissner
9f024e549f
Instruct user to rerun 'doom upgrade'
If it fails during reloading of Doom's core.

Relevant to #3131
2020-05-25 16:27:51 -04:00
Henrik Lissner
16d44de0db
Add/improve docs for doom sync's -u & -p switches 2020-05-25 16:26:16 -04:00
Henrik Lissner
8c37928de2
Disable 'doom refresh'
That 'doom refresh' and 'doom sync' do the same thing has been a point
of confusion for a while. By phasing out 'doom refresh' we can finally
put that to rest.
2020-05-25 16:23:17 -04:00
Henrik Lissner
3c24f15450
Fix void-variable doom-interactive-mode (part 3)
Third time's a charm!

...

I need sleep.
2020-05-25 16:15:23 -04:00
Henrik Lissner
53b7abde1e
Fix void-variable doom-interactive-mode (part 2)
Of the 10 part mini-series!
2020-05-25 16:14:27 -04:00
Henrik Lissner
d3e4d317b3
Fix void-variable doom-interactive-mode 2020-05-25 16:12:30 -04:00
Henrik Lissner
20cddb3565
config/literate: fix tangling on 'doom sync' 2020-05-25 16:03:34 -04:00
Henrik Lissner
5cba174bd9
Add doom-sync-{pre,post}-hook 2020-05-25 16:03:16 -04:00
Henrik Lissner
3139303874
Remove unused test module
This will be replaced soon.
2020-05-25 16:02:07 -04:00
Henrik Lissner
fe7df725f6
Have package manager manage straight.el
We used a clumsy hack in `doom--ensure-straight` to delete straight if
its pinned commit didn't match the current one, to force it to be
reinstalled. With this, Doom's package manager will delete/update
straight like any other package.
2020-05-25 15:58:28 -04:00
Henrik Lissner
0bc3f8ea87
doom/purge: refactor & optimize
Reduce how much work it had to do.
2020-05-25 15:55:29 -04:00
Henrik Lissner
944d7ec83f
Extract installation of core packages to function 2020-05-25 15:55:29 -04:00
Henrik Lissner
235b69bd20
Parameterize packages.el filename 2020-05-25 15:55:29 -04:00
Henrik Lissner
e60d8f9cb1
doom/install: refactor template insertion & module init 2020-05-25 15:55:29 -04:00
Henrik Lissner
5909b183c6
Prohibit posting usage/config questions on issue tracker
We've hit capacity. It's impossible to support all these howto "issues",
and it adds too much noise to our issue tracker.
2020-05-25 15:55:29 -04:00
Henrik Lissner
6387f26a5d
ui/modeline: mention "cut off modeline" issue in readme
Plus workarounds.
2020-05-25 15:55:29 -04:00
Henrik Lissner
e6c88e4384
Refactor autoloads generator & reduce to one generated file
We no longer need two separate autoloads files, so I merged them and
optimized its generation logic.

Other changes
- Doom will refuse to start up (with a helpful error) if it's in an
  incomplete state. This should hopefully reduce the number of bug
  reports from folks that have done something weird, e.g.
  1. You've changed Emacs versions without running 'doom sync -b'.
  2. You've updated Doom outside of `doom upgrade` and didn't run `doom
     sync -u`.
  3. You've forgotten to run 'doom sync' in the first place!
  4. If a previous 'doom ...' command was aborted midway without running
     'doom sync' afterwards.
- 'doom sync' will emit reminders that you need to reload/restart Emacs
- Autoloads API now uses the `doom-autoloads-` prefix, intead of
  'doom-cli-autoloads-', as will be the new convention in the coming
  rewrite.
- Errors from within the package autoloads should be easier to invoke
  the debugger on.
- `doom-modules` is now stored in your autoloads file. Your module list
  will soon be frozen between calls to 'doom sync' to allow for our new,
  atomic CLI I'm working on. This will also means the `doom!` block
  won't cost anything in interactive sessions.
2020-05-25 15:55:29 -04:00
Henrik Lissner
be889d09e8
Rename doom-format lib -> doom-output
`format` isn't an appropriate for this library, considering it (and
future additions to it) will be mainly concerned with printing or
capturing output.
2020-05-25 15:55:29 -04:00
Henrik Lissner
a706c3527b
Simplify test/shell.nix
And merge shell.head.nix into it. A different version can be passed in
as an --arg
2020-05-25 15:55:29 -04:00
Henrik Lissner
ccd1764acb
Remove 'doom sync' from shell.nix
Let user decide what they want to do upon starting the shell. We
accommodate the user that wants simple access to Emacs 26/27/HEAD.
2020-05-25 15:55:28 -04:00
Henrik Lissner
cc5f498586
Add magic cli.el in modules & refactor module init
Doom now looks for cli.el files in your private directory or modules,
giving them an opportunity to customize the CLI (add commands or
reconfigure existing ones) to suit their purposes.
2020-05-25 15:55:28 -04:00
Henrik Lissner
3a38fc633c
Change doom-{interactive,debug}-mode suffix to -p
Because these are not really modes.

Also makes `doom-debug-mode` an actual (global) minor mode.
2020-05-25 03:43:40 -04:00
Henrik Lissner
4f46140226
Bump :lang emacs-lisp
jorgenschaefer/emacs-buttercup@532d082 -> jorgenschaefer/emacs-buttercup@e71a40f
2020-05-25 03:43:40 -04:00