Commit Graph

2800 Commits

Author SHA1 Message Date
35e5a47e9f Rewrote indentation detection
More robust and easier to customize.
2018-07-29 19:31:32 +02:00
088480047c Polish & move new modeline into :ui modeline
Removes modeline library out of core-ui and contains them in :ui
doom-modeline and :ui modeline.

:ui modeline will eventually replace :ui doom-modeline, but is still
considered experimental. This update provides makes it much more stable
and closer to being feature complete.
2018-07-29 19:31:32 +02:00
db8ed4aac6 lang/php: add +hack support 2018-07-29 17:42:00 +02:00
6cfbeaa4f6 Fix (cl-)?defmacro autodefs
They were formly inserted with (cl-)?defmacro replaced with nil,
otherwise.
2018-07-29 17:42:00 +02:00
ea175180ef Fix incorrect load-file-name in autodef conditions
Causing errors where featurep! calls in ;;;###autodef cookie conditions
couldn't resolve the correct module from load-file-name.
2018-07-29 17:42:00 +02:00
770463aff2 Don't copy macro autodefs into autoloads verbatim
This makes it necessary to reload the autoloads anytime a macro is
modified at all.
2018-07-29 17:42:00 +02:00
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
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
05d9a83ff7 Unpropertize kill-ring in savehist data
This speeds up startup marginally.
2018-07-29 17:41:59 +02:00
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
44bf6861a6 Fix overeager theme reloading when creating frames 2018-07-29 17:41:59 +02:00
c75b2a36ab Don't reload theme at startup if already enabled 2018-07-29 17:41:58 +02:00
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
4f3ce4d06d Move highlight-numbers-mode config
Into plugins section in core-ui
2018-07-29 16:51:06 +02:00
90d09e6f93 Highlight-numbers on every prog-mode 2018-07-29 12:19:56 +10:00
a07126f611 Revise code comments in smartparens config 2018-07-24 20:08:11 +02:00
c33de42dce Don't use uname in doom/info on windows 2018-07-17 18:29:43 +02:00
b7eeaa4525 Improve docstring for doom/copy-backtrace 2018-07-14 19:33:47 +02:00
7ed9c5196f Add doom/copy-backtrace command 2018-07-13 13:00:42 +02:00
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
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
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
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
ee91748613 Document doom-cleanup-hook 2018-07-07 13:14:50 +02:00
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
15f66f4b52 Add doom|disable-show-paren-mode hook
For disabling show-paren-mode buffer-locally.
2018-07-06 01:06:13 +02:00
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
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
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
1530cdbdb6 Fix vanilla sandbox creating too many temp files
On every execution.
2018-07-03 03:41:08 +02:00
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
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
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
0603f7bb5d Remove duplicate hscroll-margin setting 2018-06-30 02:46:09 +02:00
d402c6ef44 Seriously, don't show $ glyphs on long lines
Seriously, dude. Seriously.
2018-06-30 02:29:18 +02:00
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
70230b0892 Add doom-unreal-buffer-p predicate function 2018-06-30 01:57:51 +02:00
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
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
e76e4a1f75 Fix void-variable errors from defer-until! macro 2018-06-28 14:40:11 +02:00
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
07d37f97fb Refactor after! macro
KISS
2018-06-27 22:46:49 +02:00
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
5ae25318a4 Remove fmakunbound from add-transient-hook!
unintern is enough.
2018-06-27 18:53:05 +02:00
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
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
79e155a2a8 doom-files-in: match full path with :match
Instead of just the filename.
2018-06-26 18:58:07 +02:00
ca1b9ac1bd doom refresh: always force autoload regeneration 2018-06-26 18:58:06 +02:00
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
af41e17355 Minor reformatting & docstring tweak 2018-06-26 01:48:15 +02:00