Commit graph

2994 commits

Author SHA1 Message Date
Henrik Lissner
f3a3465c04
history-length = 250
Reduce from 500 to slim savehist data files and general Emacs memory
footprint.
2018-07-29 17:41:59 +02:00
Henrik Lissner
a2ffbe4ede
Add new emacs/hideshow module
Brings better default code folding support to various languages, like
yaml, ruby, matlab, haml and vimrc. Hideshow is still quite
unsophisticated and will need the help of another package for complete
code folding functionality. Perhaps origami or vimish fold.

The code-folding functional in the feature/evil module will soon be
replaced by that.
2018-07-29 17:41:59 +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
44bf6861a6
Fix overeager theme reloading when creating frames 2018-07-29 17:41:59 +02:00
Henrik Lissner
c75b2a36ab
Don't reload theme at startup if already enabled 2018-07-29 17:41:58 +02:00
Henrik Lissner
593666933d
Convert old def-modeline! from macro to function
This makes it easier to use dynamically, and ensures that
doom--prepare-modeline-segemnts isn't run prematurely (at macro
expansion time).
2018-07-29 17:41:58 +02:00
Henrik Lissner
4f3ce4d06d
Move highlight-numbers-mode config
Into plugins section in core-ui
2018-07-29 16:51:06 +02:00
Aria
90d09e6f93 Highlight-numbers on every prog-mode 2018-07-29 12:19:56 +10:00
Henrik Lissner
a07126f611
Revise code comments in smartparens config 2018-07-24 20:08:11 +02:00
Henrik Lissner
c33de42dce
Don't use uname in doom/info on windows 2018-07-17 18:29:43 +02:00
Henrik Lissner
b7eeaa4525
Improve docstring for doom/copy-backtrace 2018-07-14 19:33:47 +02:00
Henrik Lissner
7ed9c5196f
Add doom/copy-backtrace command 2018-07-13 13:00:42 +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
54c7936a77
Don't reload autoloads remotely
Communicating with the Emacs server isn't reliable and has a tendency to
hang, so we no longer do that. Instead, we inform the user to reload it
themselves.
2018-07-12 19:51:21 +02:00
Henrik Lissner
e816a1ecac
Load exec-path-from-shell in daemon sessions
On MacOS, the daemon is unlikely to run with the correct environment if
launched through launchctl or brew services, so it makes sense to use
exec-path-from-shell there too.

May address #736
2018-07-10 00:32:22 +02:00
Henrik Lissner
4941e327f4
General refactor for readability
+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
2018-07-09 15:33:31 +02:00
Henrik Lissner
ee91748613
Document doom-cleanup-hook 2018-07-07 13:14:50 +02:00
Henrik Lissner
64867cbed4
Don't lazy load doom|disable-show-paren-mode
In case it is used early (e.g. by org-mode).
2018-07-06 12:48:41 +02:00
Henrik Lissner
15f66f4b52
Add doom|disable-show-paren-mode hook
For disabling show-paren-mode buffer-locally.
2018-07-06 01:06:13 +02:00
Henrik Lissner
7eb3ae62d7
Conditionally install os packages #741
Fixes an issue where exec-shell-from-path could not be installed on
Linux or Windows.

Doom used :ignore because, at the time, it supported a workflow where
your Emacs config was shared over dropbox or rslsync across multiple
computers. This workflow is no longer supported (it was very buggy!), so
this is no longer necessary. :ignore should also be reserved for private
use and not used internally.
2018-07-04 21:08:23 +02:00
Henrik Lissner
b42dd5c1db
Minor refactor of doom|init-fonts
Prefer native functions over macros, and conform to new convention of
naming condition-case error variables "e".

No, not the meme.
2018-07-03 03:41:08 +02:00
Henrik Lissner
9648aa4093
Defer server reloading of autoloads
Occasionally, bin/doom commands hang when generating autoloads. It
blocks endlessly after sending a message to an active Emacs server, but
never receives a proper reply.

This commit makes it less likely that this hanging will leave Doom in a
broken state (and also informs the user it is safe to abort the
process).
2018-07-03 03:41:08 +02:00
Henrik Lissner
1530cdbdb6
Fix vanilla sandbox creating too many temp files
On every execution.
2018-07-03 03:41:08 +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
15f2e21468
On second thought...
Causes char-table-p errors in some cases.

Setting hscroll-margin = 0 in dashboard accomplishes the same thing, by
preventing truncation glyphs from ever appearing anyway.
2018-06-30 02:58:01 +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
d402c6ef44
Seriously, don't show $ glyphs on long lines
Seriously, dude. Seriously.
2018-06-30 02:29:18 +02:00
Henrik Lissner
537cc9e1ed
Rewrite doom-real-buffer-p; require first arg
Because of how widely used this function is, I'd rather it be as
explicit as possible to avoid bugs and to make it faster.
2018-06-30 01:57:51 +02:00
Henrik Lissner
70230b0892
Add doom-unreal-buffer-p predicate function 2018-06-30 01:57:51 +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
e76e4a1f75
Fix void-variable errors from defer-until! macro 2018-06-28 14:40:11 +02:00
Henrik Lissner
0f0f5f6584
Optimize featurep! macro
If we can use doom--current-module and evaluate membership at
compile-time, we same a little time, but a fair bit more if
we byte-compile.
2018-06-27 23:17:17 +02:00
Henrik Lissner
07d37f97fb
Refactor after! macro
KISS
2018-06-27 22:46:49 +02:00
Henrik Lissner
5a7c8803d9
Remove :when support from after!; add defer-until!
New macro does what the :when keyword did for after!.
2018-06-27 21:29:28 +02:00
Henrik Lissner
5ae25318a4
Remove fmakunbound from add-transient-hook!
unintern is enough.
2018-06-27 18:53:05 +02:00
Henrik Lissner
7408bd170d
Fix void-function errors on doom recompile
Due to autoloads files not being loaded at all in this one startup
route.

Reported by @ar1a & @AloisJanicek
2018-06-26 19:10:24 +02:00
Henrik Lissner
7d59b9c5a5
Use abbreviated, extension-less paths for autodefs
Decreases the size of doom-autoload-file, improves its portability and
fixes byte-compilation support for autodefs.
2018-06-26 18:58:07 +02:00
Henrik Lissner
79e155a2a8
doom-files-in: match full path with :match
Instead of just the filename.
2018-06-26 18:58:07 +02:00
Henrik Lissner
ca1b9ac1bd
doom refresh: always force autoload regeneration 2018-06-26 18:58:06 +02:00
Henrik Lissner
80ddf2122b
Fix doom-initialize-packages messing up load-path
This fixes issues with the doctor not being able to find certain
packages (like evil-collection), and an issue where using the package
management API (which calls doom-initialize-packages) breaks the current
session by breaking the load-path.
2018-06-26 18:58:06 +02:00
Henrik Lissner
af41e17355
Minor reformatting & docstring tweak 2018-06-26 01:48:15 +02:00
Henrik Lissner
017ba8d79c
Autoload defhydras & use new naming convention
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.

Also, Emacs starts up faster now. Tee hee.
2018-06-26 01:43:54 +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
1d7782aea3
Ensure paren isn't loaded at startup
post-command-hook would trigger too soon, for some reason.
2018-06-25 15:47:29 +02:00
Henrik Lissner
b3fa3cda28
Lazy load which-key
GOTTA

GO

FAST
2018-06-25 15:46:31 +02:00
Henrik Lissner
094735867c
Fix byte-compiler
Because I did a silly. So silly.
2018-06-24 22:39:22 +02:00
Henrik Lissner
196638bf47
Improve handling for arbitrary package errors
e.g. if the package doesn't exist, it shouldn't simply die.
2018-06-24 22:23:09 +02:00