Commit Graph

3557 Commits

Author SHA1 Message Date
bb3f027ca2 Load projectile sooner in the startup process
Projectile's use is so prolific in Doom that trying to lazy load it at
startup is wasted breath.
2019-03-14 17:59:24 -04:00
82622c2d8f Fix package.el command substitutions
doom//autoremove and doom//install are more appropriate replacements for
package-autoremove and package-install-selected-packages, respectively.
2019-03-14 17:59:24 -04:00
bd6233518b Fix doom|run-switch-window-hooks
Using the wrong variable.
2019-03-13 20:15:23 -04:00
1ce2b29193 ui/modeline: minor startup optimization
Prevents project.el from being eager-loaded at startup.
2019-03-13 18:46:06 -04:00
a669406cad Remove doom/what-face unit tests 2019-03-13 02:17:37 -04:00
d868f5fd10 Use new ;;;###package cookie
This will later be used for doom/describe-packages to list all locations
where a package is being configured (along with def-package! and after!
blocks).
2019-03-13 01:55:50 -04:00
5e5ae456bb Replace doom/what-face with describe-char
describe-char produces the same information and much more.
2019-03-13 01:37:55 -04:00
89e91a0291 Fix autoloading helpful for doom/describe-symbol 2019-03-13 06:44:39 +10:00
bca814cb7c Fix listp error when updating #1235
The async process wasn't mapping through doom-package-outdated-p, only
filtered.

Also ensure no less than two packages per thread are checked.
2019-03-12 11:50:27 -04:00
b618025e1d Merge pull request #1237 from flatwhatson/fix-toggle-debug
Fix doom/toggle-debug-mode
2019-03-12 11:29:51 -04:00
ff89a5f645 Remove redundant :commands
The helpful package defines these as autoloads already.
2019-03-12 11:25:00 -04:00
7b4afa32e4 Improvements to apropos and describe-symbol
Patch the apropos button types so they call helpful instead of the
built-in describe functions.  Also add some bindings to apropos-mode-map
so it behaves like other help modes.

Add `doom/describe-symbol` function, which shows documentation for
callable and variable symbols.  If a symbol is both a variable and a
callable, it dispatches to apropos.  This gives a better workflow than
`helpful-symbol`, which annoyingly prompts the user.

Remap `describe-symbol` to `doom/describe-symbol`, and update
`+emacs-lisp-lookup-documentation` to call it also.
2019-03-12 18:52:24 +10:00
3f282829bf Remove describe-symbol -> helpful-symbol remapping
helpful-symbol isn't a drop-in replacement for describe-symbol.
2019-03-11 23:50:11 -04:00
fe28c40371 Fix void-variable frame error w/ whitespace-mode
Fixes #1242
2019-03-11 19:11:10 -04:00
867f94e23a Refactor doom-get-outdated-packages
May address #1235
2019-03-11 18:46:52 -04:00
dbff052c8a Use doom-which-key-leader-prefix-regexp
Curse your sudden but inevitable betrayal, impatience.
2019-03-11 13:16:51 -04:00
f332ba6111 Define doom-which-key-leader-prefix-regexp 2019-03-11 13:10:42 -04:00
dadcd29f27 Refactor leader key initialization
Ensures general-override-mode is enabled and labels are correctly
registered to all (visible) leader keys.

Relevant to #1240
2019-03-11 13:06:46 -04:00
8392c9dcf6 Add new :ui indent-guides module
Replaces old highlight-indentation-mode with new highlight-indent-guides
plugin.
2019-03-11 12:39:38 -04:00
f065ddfdaa Fix doom/toggle-debug-mode
Previously this would error due to undefined `doom-debug-on-error`
variable.  Now behaves like a minor-mode function to toggle both
`doom-debug-mode` and `debug-on-error`.
2019-03-10 22:56:53 +10:00
a258995db9 Set arglist to add-hook!/remove-hook! macros
More sensible eldoc support.
2019-03-10 08:15:46 -04:00
df26502f01 Avoid general in core
Future proofing against changes in load order.
2019-03-10 08:12:04 -04:00
c3a9828fa3 Allow doom-package-list to scrape *all* packages
Even ones that are conditional. This does mean its plist is unevaluated,
however.
2019-03-10 08:10:59 -04:00
b0bc1d925f Minor refactors; revise docstrings+comments 2019-03-09 19:56:47 -05:00
17714c2c63 Refactor Doom use-package extensions 2019-03-09 19:56:45 -05:00
681d0f1a2a Improve vanilla sandbox
Can now launch four different sessions:

1. Vanilla Emacs
2. Vanilla Doom (only Doom core)
3. Doom core + modules - private config
4. A full Doom session (load everything)
2019-03-09 04:53:14 -05:00
ca9a2c8c17 Refactor interactiove bin/doom commands #1220 2019-03-09 04:28:25 -05:00
bb9cbfecc9 Improve interactive bin/doom commands #1220
Now prints to a buffer rather than in echo-area. Still experimental
however.
2019-03-09 03:53:38 -05:00
419c3ba1e6 feature/evil: recenter window after / * or # 2019-03-09 03:42:55 -05:00
54d1c0dd56 Minor, general refactors 2019-03-09 03:42:55 -05:00
8e866bb37f Improve leader key initialization
And ensure leader key always has precedence.

Indirectly fixes #1234
2019-03-09 02:42:23 -05:00
e0ed8669af Move (if|when)-let* shims to core.el
Fix void-functon when-let* errors at startup for Emacs 25.* users.
2019-03-08 18:06:35 -05:00
c9e7d27317 Set leader keys later #1233
Setting them too soon means the user can't change them.
2019-03-08 14:23:42 -05:00
5ab58a7eaf Load subr-x & cl-lib sooner 2019-03-08 06:13:07 -05:00
cec2b4e9bc Add doom/toggle-debug-mode command 2019-03-08 04:25:45 -05:00
748b197676 Minor, general refactors 2019-03-08 04:25:45 -05:00
a443d9ab07 Refactor doom-initialize-packages & package API
- Packages are initialized once, when package.el is first loaded, and
  must be updated manually via doom/reload-packages.
- Package->module association is now stored in the package's PLIST under
  :modules. This is an internal property and cannot be explicitly set
  through `package!'
- Add doom-package-list function
- Rename doom-get-packages to doom-find-packages
- Updated doom-find-packages' docstring
- Added the :core filter to doom-find-packages
- Simplified doom-initialize-packages
- doom/reload calls doom/reload-packages if necessary.
- Fix redundant properties in doom-packages
- Remove tracking of after!, def-package! and def-package-hook! blocks.
  Replaced with doom-package-list being able to see all packages, even
  in disabled modules.
- Add :built-in property to package! for dummy packages. This is
  important so that doom/describe-package can see built-in packages.
2019-03-08 04:25:44 -05:00
4055f667fb Defer doom|disable-whitespace-mode-in-childframes 2019-03-08 02:37:34 -05:00
8e32f0da18 Rethink theme/font initialization order
+ Don't use set-frame-font. Causes issues for daemon users and is
  slower.
+ Revice init function docstrings
+ Load fonts a little earlier than themes

May resolve an issue where fonts in daemon Emacs are too small on
startup.

Addresses #1223
2019-03-08 02:37:33 -05:00
917d89da87 Refactor module init hooks
Also adds doom-after-init-modules-hook for consistency, which is an
alias to after-init-hook until I decide if it's necessary for it to be
independent.
2019-03-08 02:37:33 -05:00
a4c0bc2738 Optimize general integration
Using general to bind leader keys was responsible for 40-50% of Doom's
startup time. This change reduces that significantly, but not entirely.
It may be better that the config/default module not use map!. It is a
convenient macro, but general is a huge bottleneck.
2019-03-08 02:37:33 -05:00
44de995ca5 config/default: change SPC h keymaps
SPC h now maps to help-map to reduce redundancy. Some adjustments and
additions were made to this map so all users (evil and vanilla) can
benefit from Doom's extra help commands.
2019-03-08 02:37:33 -05:00
a05b1877be Rewrite switch-{buffer,window} hooks
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
  doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
  in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
  times it gets triggered.
2019-03-08 02:37:33 -05:00
8f2fb07948 Add advice-add! & advice-remove! helpers 2019-03-08 02:37:33 -05:00
9b180fda97 Refactor doom-initialize & bootstrap in core.el 2019-03-08 02:37:32 -05:00
8c701ef7d4 Fix void-variable error from ediff config 2019-03-08 02:34:26 -05:00
31688c921d Refactor doom-get-outdated-packages
Partitions quelpa packages so there are 4 threads tops.
2019-03-08 02:34:26 -05:00
2d353b849c Change file-exists-p! to return file if it exists 2019-03-08 02:34:26 -05:00
d94aa9b57c Add xclip.el for tty clipboard support
Needs more testing
2019-03-08 02:34:26 -05:00
4fbf7a2687 Remove expand-region package
It was unused, and is redundant with evil's text object expansion keys.
2019-03-08 02:34:26 -05:00