Commit graph

964 commits

Author SHA1 Message Date
Henrik Lissner
8f98e441c0
Merge pull request #1227 from flatwhatson/fix-dashboard-switch
Only switch to dashboard when creating a new workspace
2019-03-09 13:04:28 -05:00
Henrik Lissner
1a6f0c2f1d
💥 Redesign vanilla Emacs keybind scheme
The leader keys have been redesigned a) for consistency, b) to reduce
collisions with packages, and c) to improve command coverage. However,
much of it still comes from a vim user, so it needs more testing.
2019-03-09 03:42:55 -05:00
Henrik Lissner
419c3ba1e6
feature/evil: recenter window after / * or # 2019-03-09 03:42:55 -05:00
Henrik Lissner
54d1c0dd56
Minor, general refactors 2019-03-09 03:42:55 -05:00
Henrik Lissner
8bfa5a30fd
Fix lookup commands not aborting on C-g/ESC #1226
When aborting a lookup handler with C-g/ESC, Doom was convinced that it
had failed legitimately, so tries the next. The expected behavior is
that it abort the entire lookup operation.
2019-03-08 02:37:34 -05:00
Andrew Whatson
a48417cf0d Only switch to dashboard when creating a new workspace 2019-03-08 12:56:06 +10:00
Henrik Lissner
fbcb4e6973
Minor refactor across the board 2019-03-04 20:47:26 -05:00
Henrik Lissner
dd0d264a27
Refactor feature/evil
- Defer evil-escape a little longer
- Move advice to autoloads file

Gotta go fast.
2019-03-04 20:47:26 -05:00
Henrik Lissner
05303c0fdb
💥 Rethink core hook order & naming
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
  emacs-startup-hook).

Yield a modest improvement in startup times.
2019-03-04 20:47:26 -05:00
Henrik Lissner
27822ef006
Change prefix arg behavior for +lookup/documentation
Would formerly open documentation in "other window", but this doesn't
make sense for this function (as it should always do this). Instead, it
will be passed on to documentation handlers to do as they like with.
2019-03-04 20:47:25 -05:00
Henrik Lissner
f6cc2644b0
New doom-log macro for debug-time logging
doom-log won't interfere with the minibuffer if it's in use, and will
report the originating module.

Addresses #1215
2019-03-04 18:38:25 -05:00
Henrik Lissner
18017f74f1
feature/evil: update evil-embrace config
- Add embrace support for ruby
- Move helpers to autoloads file
- Refactor anonymous hooks into functions
2019-03-04 14:23:12 -05:00
Henrik Lissner
b98f34d1fd
Add :killb & doom/kill-buried-buffers
Also fix reported killed-buffer count when invoking kill commands
interactively.
2019-03-04 14:07:34 -05:00
Henrik Lissner
7c9e96da87
General module refactor 2019-03-02 02:04:11 -05:00
Henrik Lissner
8a90f29c91
Make session persistence module agnostic
They've been removed from feature/workspaces and moved into
core/autoload/sessions, which falls back to desktop.el if persp-mode
isn't present. This also offers a substantial speed up to
restart+restoring and restoring sessions in general.

Also fixes #1210, where the newly spawned frame after doom/restart
wasn't focused.

Introduces the following commands:

- doom/restart
- doom/restart-and-restore
- doom/quickload-session
- doom/quicksave-session
- doom/load-session
- doom/save-session
- +workspace/restore-last-session (alias for doom/quickload-session)

And removes

- +workspace/load-session
- +workspace/save-session
- +workspace/load-last-session (renamed to +workspace/restore-last-session)
- +workspace/restart-emacs-then-restore (replaced by doom/restart-and-restore)
- :ss (ex command)
- :sl (ex command)
2019-03-02 01:34:19 -05:00
Henrik Lissner
fb57f367e7
Enable delete-selection-mode & shift-select-mode
This makes text insertion behave more like traditional editors.

Delete-selection-mode allows selections to be replaced when yanking or
inserting. This enables it by default for non-evil users and in insert
mode for evil users. Also enables selecting text with shift.
2019-03-02 01:34:14 -05:00
Henrik Lissner
5f5874c1fc
Fix evil-embrace race condition at startup #345
The previous config would wait for evil-surround to load before adding
evil-embrace's hooks.
2019-02-28 18:26:13 -05:00
Henrik Lissner
ad837e6d13
Move evil ex commands to feature/evil
These commands aren't used by config/default anyway, and
+default:multi-{next,previous}-line were moved to my private config.

Also fixes #1208 (:cd without args will now CD to $HOME).
2019-02-28 14:31:16 -05:00
Henrik Lissner
99904c0e05
Recenter window after lookup commands 2019-02-27 18:39:04 -05:00
Henrik Lissner
d0533fe99c
Fix lookup commands erroring when successful
Because message returns non-nil, and +lookup--jump-to needs to return
nil when it fails.
2019-02-27 03:14:47 -05:00
Henrik Lissner
9b7d95f43a
Remove doom-cleanup-hook & doom/cleanup-session
These weren't reliable, often times buggy or overzealous about killing
buffers and processes. Best to do it manually or come up with a better
solution.
2019-02-26 22:57:02 -05:00
Henrik Lissner
3e85981695
Add process-menu-mode-map keybinds for evil 2019-02-26 22:55:09 -05:00
Henrik Lissner
de4b18a2dc
feature/lookup: refactor backend dispatcher
Hopefully improves compatibility with async handlers. Still a WIP.
2019-02-26 16:57:14 -05:00
Henrik Lissner
7c5eefee3e
General, minor refactoring 2019-02-24 13:58:56 -05:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Henrik Lissner
94b16cba6c
Standardize REPL commands & improve SPC o r
- SPC o r now prompts for a REPL to open when none was found for the
  current buffer.
- REPL handlers must now follow the naming convention "*/open*-repl".
  e.g. +python/open-ipython-repl, +emacs-lisp/open-repl, etc.
- +eval/open-repl has been split in two:
  - +eval/open-repl-other-window
  - +eval/open-repl-same-window
2019-02-18 01:59:56 -05:00
Henrik Lissner
7d0caf3efd
New editor/fold module
Extracted from feature/evil and emacs/hideshow.
2019-02-18 00:47:46 -05:00
Henrik Lissner
66131747d3
Update evil-collection-mode-list 2019-02-16 19:04:45 -05:00
Henrik Lissner
a72a0e6a62
Replace magithub with forge
Should also fix void-function/void-variable errors caused by evil-magit
depending on the newer version of magit (#1174).

Also introduces a redesign of the SPC g prefix.
2019-02-16 18:26:17 -05:00
Henrik Lissner
02a3f815a3
Disable evil-escape in term-mode #1156
Causes unintended escape characters to be inserted into the term buffer.
2019-02-14 00:40:19 -05:00
Henrik Lissner
0e8af0e6d2
Integrate evil jumplist into xref #1161
Rather than use xref-pop-marker-stack, evil users can now use the
jumplist to jump from and to xref calls (with C-o/C-i).
2019-02-14 00:40:19 -05:00
Henrik Lissner
99fd8b4e1b
O'byte-compiler
Who forbade the obsolete,
Hooks, functions; adieu.

(And an unused argument too)
2019-02-03 18:42:09 -05:00
Henrik Lissner
5baaf08246
Move evil-mc library to editor/multiple-cursors 2019-01-28 19:54:55 -05:00
Henrik Lissner
2e8329e6b6
Fix error message with async lookup handlers
Even if they succeeded.

Mentioned in #716
2019-01-23 16:07:09 -05:00
Henrik Lissner
786d90a85f
Revert flycheck-idle-change-delay delay to default
...when exiting insert mode.
2019-01-21 22:19:25 -05:00
Henrik Lissner
99e916348a
lang/java: fix java namespace resolution #1098
Now uses slightly more sophisticated namespace resolution when
populating the *.java file template.
2019-01-21 17:39:39 -05:00
Henrik Lissner
500519fe00
Increase flycheck delay in insert mode
Otherwise it can interrupt your typing.
2019-01-14 00:51:25 -05:00
Henrik Lissner
069c196330
Appease byte-compiler senpai
Please notice me
2019-01-08 20:54:03 -05:00
Henrik Lissner
d3fd9f3754
Update Doom module README file template 2019-01-08 00:38:22 -05:00
Henrik Lissner
37cb0e178c
Make set-lookup-handlers! additive
Consecutive calls to set-lookup-handlers! would redefine *all* lookup
handlers, unsetting unspecified ones, so you were forced to redefine all
handlers, even if you only wanted to change one. No more. Its side
effects are now additive.

Also adds :async handler support, however, due to their nature, they
cannot fall back to other handlers (there's no reliable way to detect
they worked or not).

To get around this, write a blocking wrapper around the old async method
and register it as a non-async handler.
2019-01-08 00:33:38 -05:00
Henrik Lissner
b56639e31b
Remove deprecated set! & def-setting! macros 2019-01-05 17:48:46 -05:00
Henrik Lissner
0502b9581e
feature/lookup: reformat/revise README 2019-01-05 17:18:13 -05:00
Henrik Lissner
9db39b0242
feature/lookup: remove unused set-docset! alias 2019-01-05 17:14:57 -05:00
Henrik Lissner
d02b601dd4
feature/lookup: refactor set-lookup-handlers! docs 2019-01-05 17:04:40 -05:00
Henrik Lissner
fffee76f7a
feature/eval: update README (remove :repl)
And use a simpler set-repl-handler! example.
2019-01-05 16:55:01 -05:00
Henrik Lissner
6a03b37dd3
General refactor for comments & docstrings 2019-01-05 15:20:49 -05:00
Henrik Lissner
5274ab6368
feature/eval: rewrite README (WIP) 2019-01-03 02:01:57 -05:00
Henrik Lissner
cc36f9608e
feature/snippet: reformat README (WIP) 2019-01-03 01:52:06 -05:00
Henrik Lissner
5c9c59a719
feature/file-template: add README (WIP) 2019-01-03 01:51:34 -05:00
Henrik Lissner
415a542ce9
feature/evil: rewrite README 2019-01-03 01:49:15 -05:00