Commit graph

104 commits

Author SHA1 Message Date
Henrik Lissner
1e81a35461
Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
Henrik Lissner
01b07e573e
Fix visual j/k in dashboard and evil-mode
In case you've remapped j/k to gj/gk universally.
2018-06-03 12:04:42 +02:00
Henrik Lissner
e66abfb9e8
Use newline-based alignment technique on dashboard
Fixes #645, because Emacs' mouse events don't appear to compensate for
variable-width whitespace.
2018-06-02 10:48:55 +02:00
Henrik Lissner
2f83757018
ui/doom-dashboard: more robust feature detection
In case you aren't using those modules, but have other means of loading
those packages.
2018-05-25 00:54:07 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
06c22a5af2
ui/doom-dashboard: add vertical centering (experimental) 2018-05-15 21:49:50 +02:00
Henrik Lissner
5537f81e02
ui/doom-dashboard: doom-packages--benchmark => doom|display-benchmark 2018-05-14 20:56:17 +02:00
Henrik Lissner
61865d0646
ui/doom-dashboard: don't open dashboard over files (part 2) #523 2018-04-18 19:41:50 -04:00
Henrik Lissner
c24c868945
ui/doom-dashboard: remove 'Edit Doom Emacs' button 2018-04-03 16:58:41 -04:00
Henrik Lissner
cc13f51b7f
ui/doom-dashboard: update for new doom-private-dir 2018-04-03 16:29:14 -04:00
Henrik Lissner
93678494cb
ui/doom-dashboard: fix wrong-type-arg error on reload 2018-03-27 19:08:46 -04:00
Henrik Lissner
8604966e21
ui/doom-dashboard: add 'edit modules list' button 2018-03-24 17:53:13 -04:00
Henrik Lissner
4d80c20251
Add arrow, tab/S-tab, & C-n/C-p keys for navigating dashboard 2018-03-20 17:36:23 -04:00
Henrik Lissner
b68fa3b120
ui/doom-dashboard: disable visual mode in post-command-hook too 2018-03-20 00:00:21 -04:00
Henrik Lissner
ff0b45299e
Refactor dashboard autoload functions 2018-03-18 15:17:40 -04:00
Henrik Lissner
d75df875c9
Trap cursor in buttons better in dashboard #465 2018-03-18 15:17:20 -04:00
Henrik Lissner
01cb16cf42
ui/doom-dashboard: minor refactor 2018-03-18 02:36:12 -04:00
Henrik Lissner
a9c8f8f41b
ui/doom-dashboard: lock point in buttons #465 2018-03-18 02:35:52 -04:00
Henrik Lissner
dba1f20dd3
ui/doom-dashboard: refresh dashboard on buffer switch 2018-03-14 18:51:08 -04:00
Henrik Lissner
c2fd538261
Refactor doom startup benchmark 2018-02-28 17:57:29 -05:00
Yu He
dd163dace0 Fix org-agenda-list showing on dashboard 2018-02-28 13:53:37 +01:00
Henrik Lissner
18d0b9425d
ui/doom-dashboard: add sharp quote 2018-02-18 20:50:30 -05:00
Henrik Lissner
f8bf86e1a3
ui/doom-dashboard: add button to open private module 2018-02-16 21:02:46 -05:00
Henrik Lissner
2b1c323dbf
💥 Redesign private sub-module system
~/.doom.d/modules is now a full module tree, like ~/.emacs.d/modules.
Symlinks are no longer involved.

Private modules can now shadow Doom modules. e.g.
~/.doom.d/modules/lang/org will take precendence over
~/.emacs.d/modules/lang/org.

Also, made doom--*-load-path variables public (e.g. doom--site-load-path
=> doom-site-load-path), and rearranged the load-path for a 10-15%
startup boost.
2018-02-16 02:11:10 -05:00
Henrik Lissner
ca262f5e4e
Rename doom-fallback-buffer (variable) => doom-fallback-buffer-name 2018-02-01 20:06:00 -05:00
Henrik Lissner
4567054aed
ui/doom-dashboard: no emacs-state in dashboard 2018-02-01 19:58:44 -05:00
Henrik Lissner
2ab0072d83
ui/doom-dashboard: fix dashboard not updating pwd on kill-buffer 2018-02-01 01:24:19 -05:00
Henrik Lissner
5827186123
ui/doom-dashboard: +default/find-in-emacsd => doom-project-find-file 2018-01-29 01:02:24 -05:00
Henrik Lissner
8b19e35ef6
Consider dired-mode buffers real 2018-01-28 20:37:40 -05:00
Henrik Lissner
086a1659b4
ui/doom-dashboard: edit emacs.d button => fuzzy find-file 2018-01-28 18:15:43 -05:00
Henrik Lissner
e3040c676b
ui/doom-dashboard: reload at least once on startup 2018-01-28 18:15:22 -05:00
Henrik Lissner
4977d22b75
ui/doom-dashboard: don't hide dired-mode buffers on startup 2018-01-28 18:15:04 -05:00
Henrik Lissner
7bfd7c1ade
ui/doom-dashboard: don't change default-directory on startup 2018-01-28 18:14:41 -05:00
Henrik Lissner
0d83834ac7
ui/doom-dashboard: major refactor
+ Fix default-directory not being set properly when switching
  perspectives. ie. Add persp-mode integration (#347, #360)
+ Ensure dashboard initializes properly, at the right time to ensure
  benchmark is properly reported (fix #361)
2018-01-20 15:42:13 -05:00
Henrik Lissner
e6e1282346
ui/doom-dashboard: fix recentf, project & bookmark buttons
When none of these buttons' commands were remapped, you'd get a commandp
nil error.
2018-01-12 18:41:10 -05:00
Henrik Lissner
637a678529
ui/doom-dashboard: fix unchanging default-directory #347 2018-01-11 12:24:38 -05:00
Henrik Lissner
b6bf0d7afd
ui/doom-dashboard: major refactor; use initial-buffer-choice
Much of my work getting dashboard to behave across GUI, tty and daemon
Emacs is already done with initial-buffer-choice, so I cut down on my
own code and exploit that instead. Needs more testing.
2018-01-08 17:30:54 -05:00
Henrik Lissner
23ff93703c
Append slash to default-directory in doom dashboard
...And give +doom-dashboard-update-pwd a docstring
2018-01-05 14:54:47 -05:00
Henrik Lissner
bee80c1a24
ui/doom-dashboard: don't cd into non-existent directories
Causes CDPATH errors.
2018-01-05 04:31:48 -05:00
Henrik Lissner
7f2dd52b2e
ui/doom-dashboard: add docstring for +doom-dashboard|reload-on-kill 2017-12-29 04:16:14 -05:00
Henrik Lissner
54001de36e
ui/doom-dashboard: fix string/function pwd-policy when last-cwd is blank 2017-12-29 04:15:56 -05:00
Henrik Lissner
bf681f37b7
Correct typo in docstring 2017-12-29 04:11:54 -05:00
Henrik Lissner
43ad36e614
ui/doom-dashboard: major refactor #309
This should resolve any issues with the dashboard refusing to set its
pwd correctly (or at all) when being switched to.
2017-12-29 01:49:33 -05:00
Henrik Lissner
d8105427e2
ui/doom-dashboard: fix restriction to dashboard buffer 2017-12-28 20:04:46 -05:00
Henrik Lissner
7ea3895b99
ui/doom-dashboard: fix pwd not always being set #309 2017-12-28 19:59:32 -05:00
Henrik Lissner
58b2605215
ui/doom-dashboard: fix 'last pwd policy 2017-12-28 19:58:27 -05:00
Henrik Lissner
538e4c52bd
ui/doom-dashboard: fix edge cases where cwd wasn't set properly 2017-12-27 21:00:03 -05:00
Henrik Lissner
86f445d6a1
ui/doom-dashboard: only set last-cwd in real buffers 2017-12-27 17:12:50 -05:00
Henrik Lissner
6c3d7ad7c7
ui/doom-dashboard: expand string +doom-dashboard-pwd-policy #309 2017-12-27 17:11:59 -05:00
Henrik Lissner
bee9259096
ui/doom-dashboard: add +doom-dashboard-pwd-policy option #309
Gives the user control over how the dashboard's default-directory is
set. The default is to set it to the project root of the last open
buffer.
2017-12-27 13:24:18 -05:00