Commit Graph

298 Commits

Author SHA1 Message Date
Henrik Lissner
b12944fddb
undo-tree-auto-save-history = t
Persistent undo history is great. I'm hoping that, with
undo-tree-enable-undo-in-region disabled, we can enable this feature
again safely.

Time will tell.
2018-08-03 18:25:24 +02:00
Henrik Lissner
ea0f46b181
Add 2nd arg to doom-initialize to load core libs
This restores the correct value of noninteractive while core libs are
loading, so packages like recentf can avoid initializing when running
emacs non interactively (thus polluting output or possibly causing
errors).
2018-08-03 16:35:42 +02:00
Henrik Lissner
b33b5ed624
Cleanup recentf list on kill-emacs 2018-07-30 02:57:50 +02:00
Henrik Lissner
cb7e471c90
General reformatting & comment revision/cleanup 2018-07-29 19:31:33 +02:00
Henrik Lissner
35e5a47e9f
Rewrote indentation detection
More robust and easier to customize.
2018-07-29 19:31:32 +02:00
Henrik Lissner
05d9a83ff7
Unpropertize kill-ring in savehist data
This speeds up startup marginally.
2018-07-29 17:41:59 +02:00
Henrik Lissner
2e25989dc5
undo-tree-enable-undo-in-region = nil
Try to save off the elusive and annoying "unrecognized entry in undo
list undo-tree-canary" error produced by undo-tree.
2018-07-29 17:41:59 +02:00
Henrik Lissner
a07126f611
Revise code comments in smartparens config 2018-07-24 20:08:11 +02:00
Henrik Lissner
8b25abc11c
large-file-warning-threshold = 30mb
Staves off filesize warnings for large files (like pdfs and media
files), while doom|check-large-file handles text files.
2018-07-12 20:43:04 +02:00
Henrik Lissner
81ffed520b
Rename doom-before-switch-*-hook hooks
+ doom-before-switch-buffer-hook => doom-exit-buffer-hook
+ doom-before-switch-window-hook => doom-exit-window-hook
+ doom-after-switch-buffer-hook => doom-enter-buffer-hook
+ doom-after-switch-window-hook => doom-enter-window-hook

Shorter, easier-to-type names that better describe their intended
purpose.

The old names are still usable, but deprecated.
2018-07-03 03:41:08 +02:00
Henrik Lissner
bf5c8351e4
Fix jumpiness from progress bars in eshell/term
Due to hscroll-margin ping-ponging the cursor.
2018-06-30 02:49:52 +02:00
Henrik Lissner
0603f7bb5d
Remove duplicate hscroll-margin setting 2018-06-30 02:46:09 +02:00
Henrik Lissner
f987c121d4
Make indent detection more ubiquitous #727
And have it change tab-width as well.

This should work as soon as my PR into dtrt-indent is pulled into MELPA.
2018-06-29 01:55:21 +02:00
Henrik Lissner
50991232e6
sp-escape-quotes-after-insert = nil
Smartparens isn't smart enough to escape quotes in many situations (like
single quotes in c/c++).
2018-06-28 14:44:47 +02:00
Henrik Lissner
8a4f15b01c
Refactor smartparens default rules
Move them to config/default, but move single-lang-specific ones to their
respective modules.
2018-06-25 15:54:38 +02:00
Henrik Lissner
88ee423806
Refactor & optimize smartparens config
Also, apply <!-- --> comments to more html modes.
2018-06-24 16:31:13 +02:00
Henrik Lissner
c78c6495f1
Apply /* and /** pairs to more modes
Including js, ts, rjsx, rust, all C modes, php, and all css modes (scss,
less, and stylus).

Requested by @ar1a
2018-06-24 16:31:13 +02:00
Henrik Lissner
a52267fee5
Disable smartparens pair & tag navigation
Fixes quirky backspace and autoskipping behavior with html tags or
closing delimtiers unpredictably. These might be more useful to non-evil
users, but more testing is required.

Indirectly fixes #712
2018-06-23 23:21:02 +02:00
Henrik Lissner
913394bfe7
Be quiet, recentf! 2018-06-17 02:25:12 +02:00
Henrik Lissner
c1b8d6f508
More configuration for smartparens
Fewer overlay highlights and show-pair-from-inside, in case we use that
feature later.
2018-06-17 02:21:46 +02:00
Henrik Lissner
b170119d4b
Add smartparens to evil-ex; disable quote autopair
Don't autopair ' in eval-expression or evil-ex (doesn't make sense)
2018-06-16 12:40:57 +02:00
Henrik Lissner
44363cae40
General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
Henrik Lissner
c81304d18b
Enable smartparens in eval-expression
This is experimental, so we can have delimiter/quote autopairing while
we write lisp into eval-expression.
2018-06-16 11:42:01 +02:00
Henrik Lissner
1db3830bf3
Defer server startup
MY PRECIOUS MILLISECONDS OF STARTUP TIME
2018-06-15 21:44:44 +02:00
Henrik Lissner
421d00f085
Refactor doom|check-large-file
More checks, fewer false positives.
2018-06-14 19:51:11 +02:00
Henrik Lissner
ac546220a4
Refactor core-editor def-package! blocks 2018-06-14 03:36:46 +02:00
Henrik Lissner
36171f5b33
Fix :after-call deferred packages not loading
If you open emacs with a file (emacs file.txt), the file is switched to
before the switch-buffer hooks are set up. However, many core packages
are hooked to those switch-buffer hooks (to load when they're first
triggered). They miss the boat and don't get loaded.

These packages are now hooked onto after-find-file as well (and
immediately), which will fire when a file is opened, before or after
initialization.

Fixes #680
2018-06-14 03:36:46 +02:00
Henrik Lissner
bdee28609a
New emacs/ediff module
Ediff config was moved out of core. Also includes evil compatibility
(mvoed out of feature/evil) & wconf save/restore.
2018-05-27 12:52:28 +02:00
Henrik Lissner
2d6bef33d3
Disable doom|detect-indentation in fundamental or special modes
This should fix #607, which is caused by whitespace-mode messing up the
overlays/text properties in the mu4e sidebar.
2018-05-26 03:06:47 +02:00
Henrik Lissner
9febfb0477
Add fundamental-mode to doom-large-file-modes-list 2018-05-26 03:06:22 +02:00
Henrik Lissner
6dc375a891
Fix catch-all text-mode entry in auto-mode-alist
This indirectly fixes an issue where the elfeed db was opened in
text-mode, triggering the large-file check.
2018-05-24 21:20:02 +02:00
Henrik Lissner
8ce5e96ea5
recentf: auto-cleanup = 120; refactor temp-file detector 2018-05-21 01:38:17 +02:00
Henrik Lissner
1369c51000
Replace :defer HOOK/FN with :after-call keyword 2018-05-21 01:38:17 +02:00
Henrik Lissner
d4608c08f8
Defer dtrt-indent & don't detect indent in noninteractive Doom 2018-05-20 12:18:16 +02:00
Henrik Lissner
3d0745c3ec
Add automatic indentation-detection (experimental)
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
2018-05-18 01:28:41 +02:00
Henrik Lissner
4f9cb60e07
Start server sooner 2018-05-17 15:29:54 +02:00
Henrik Lissner
02e4c15b8e
Move avy/ace-link from core-editor to core-ui 2018-05-17 15:29:29 +02:00
Henrik Lissner
b4a7e5348a
Autoload smartparens commands
Turns out I *do* need these!
2018-05-16 00:58:04 +02:00
Henrik Lissner
1e004a5638
Change undo-tree deferral to before switch buffer 2018-05-16 00:11:14 +02:00
Henrik Lissner
b6813393d8
Remove custom helpful pretty-printer; default is superior 2018-05-16 00:11:14 +02:00
Henrik Lissner
4734d55edc
Revert smartparens deferral until first before-switch-buffer 2018-05-15 22:19:37 +02:00
Henrik Lissner
8428a7a4ef
Autoload smartparens library 2018-05-15 22:07:44 +02:00
Henrik Lissner
7c97fd3c73
Load smartparens a little sooner (fix sp-with-modes error) 2018-05-15 21:52:09 +02:00
Henrik Lissner
c36e127ec5
Rethink core package deferral hooks
Ensure they are available exactly when they can be useful, but no
sooner.
2018-05-15 21:49:51 +02:00
Liu, Joey
86b6fab18e Add: ace-link-mu4e autoload 2018-05-15 09:30:21 -04:00
Henrik Lissner
032203ef99
hscroll-margin = 2
So that moving to the ends of a sentence don't sometimes leave the
cursor beyond the edge of the screen in GUI Emacs.
2018-05-15 10:54:45 +02:00
Henrik Lissner
a6c6686628
Enable global-undo-tree-mode after setting variables 2018-05-15 10:54:45 +02:00
Henrik Lissner
94f9e43f25
Rewrite :defer semantics
:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
2018-05-15 10:54:45 +02:00
Henrik Lissner
d51f3b1f38
Map /[A-Z]+$ files to text-mode 2018-05-15 01:40:42 +02:00
Henrik Lissner
bec79a3d4c
Major refactor of Doom bootstrap process
+ New `input` and `buffer` support for :defer in def-package! can now
  defer packages until the first command invoked after startup or first
  interactive buffer switch, respectively
+ Exploit these new :defer techniques to lazy-load many core packages,
  netting Doom a 20-30% decrease in startup time
+ Various userland macros (like package!, def-package-hook!, packages!,
  and disable-packages!) will now throw an error if used incorrectly
  (i.e. outside of their intended files; e.g. package! should be used in
  packages.el files)
+ Removed support for multiple/nested doom! calls. There should only be
  THE ONE in ~/.doom.d/init.el (or ~/.config/doom/init.el)
+ Fix an issue where load-path and auto-mode-list modifications would
  not persist because doom-packages-file was cached too late.
+ Added package-activated-list to cached variables in
  doom-packages-file, thus we no longer need custom-file.
+ Load Doom core files from doom-initialize. Now doom-initialize can be
  called from state-dependent non-interactive functions, instead of
  reloading core/core.el, which was clumsy
+ Removed the doom-post-init-hook hook. There was no reason for it to
  exist when doom-init-hook can simply be appended to
2018-05-14 20:37:13 +02:00