Commit Graph

71 Commits

Author SHA1 Message Date
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
8451c4519c feature/evil: update docstring of +evil/reselect-paste 2018-05-07 19:31:13 +02:00
7c1bb8f658 config/default: add & bind +evil/paste-preserve-register (gp) 2018-05-07 19:26:31 +02:00
26eb33e36e feature/evil: fix :vs/:sp not focusing split w/ a file argument #552 2018-04-26 22:27:08 -04:00
b8fd35a855 feature/evil: fix inclusivity of evil-matchit #519 2018-04-18 01:08:56 -04:00
b050c14129 Fix "z o". 2018-04-08 15:28:56 +08:00
bb8304c15d feature/evil: rename +evil:macro-on-all-lines => +evil:apply-macro 2018-03-24 07:25:01 -04:00
f822fffdd2 feature/evil: fix +evil:macro-on-all-lines 2018-03-24 07:25:01 -04:00
7574e13677 feature/evil: new +evil:align-right command
Bound to :ral[ign]
2018-03-20 23:56:26 -04:00
a26755a089 feature/evil: redesign +evil:align; bang = repeat align 2018-03-20 23:55:24 -04:00
5711bfc903 feature/evil: don't quote ex-buffer-match regex on evil-ex-bang 2018-03-20 23:50:03 -04:00
0d27eda45a feature/evil: make evil-vimish-fold less ubiquitous #439 2018-02-28 17:57:30 -05:00
5e5d075431 New doom/*-this-file commands; move doom/sudo* to new files library 2018-02-14 05:40:37 -05:00
b9d8116734 feature/evil: switch to initial state on change window
This used to change to normal mode, but now it respects the buffer's
initial state.
2018-02-02 20:47:32 -05:00
abd3bc87fe feature/evil: use magit-section-toggle if mode is derived from magit-mode
- Closes #359
- See also https://github.com/hlissner/doom-emacs/pull/359#issuecomment-359220633
2018-01-21 11:53:21 +08:00
322e6afd55 feature/evil: fix +evil/matchit-or-toggle-fold in magit modes
- this function only worked in magit-status-mode but not other modes like
  magit-log-mode, magit-process-mode
2018-01-15 16:45:11 +08:00
5cd29479f4 Refactor feature/evil hacks & advice; fix tests 2018-01-07 00:15:57 -05:00
91357a3e5d 💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
f61d7c9e7f doom-force-kill-buffer => doom/kill-this-buffer-in-all-windows 2017-12-30 00:55:44 -05:00
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
6b9849fd57 Add conditional autoload/compile cookies #229 2017-11-05 01:16:35 +01:00
642dc094d1 Fix reference to defunct variable #232 2017-10-07 20:32:48 +02:00
6cb5efc929 core-lib: rename helper fns; move doom-resolve-vim-path
+ doom--resolve-paths => doom--resolve-path-forms
+ doom--resolve-hooks => doom--resolve-hook-forms
+ +evil*ex-replace-special-filenames => doom-resolve-vim-path
2017-09-27 01:23:54 +02:00
e7a9a1a3ca Improve support for moving popup windows (WIP)
Now, the +evil/window-move-* commands are consistent when used with
popups. Also added doom/popup-move-* as popup-alternatives to
evil-window-move-{very,far}-* commands.

Relevant to #141 #171
2017-09-25 13:02:27 +02:00
2ea01a5b66 Add basic support for moving popup windows (WIP)
Relevant to #141 #171
2017-09-24 20:47:24 +02:00
f40ebf9725 Minor docstring updates 2017-07-09 02:14:45 +02:00
25dca5fde7 Fix :mv/:rm/:cp error when projectile-mode is off 2017-06-28 15:17:47 +02:00
822c78554f destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
c294effd8d Fix incorrect argc in +evil/reselect-paste 2017-06-22 20:03:27 +02:00
392c58ea47 General refactor & cleanup 2017-06-19 00:32:45 +02:00
7d081c3154 Fix subr-x macro autoloads 2017-06-18 23:43:08 +02:00
2e1e908f57 Load hideshow when folding system is autoloaded 2017-06-10 18:18:34 +02:00
77eb06727c Move to EOL before (un)folding (#99) 2017-06-09 14:06:00 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
a20aeaf76b Refactor code-fold system (defer load + advise) 2017-06-07 20:43:58 +02:00
4acacd5c1c Refactor +evil/reselect-paste 2017-06-07 16:14:05 +02:00
1fd482fa51 Extract neotree from feature/evil => tools/neotree 2017-06-05 00:51:56 +02:00
dd11477132 Fix #87: evil-matchit in visual mode 2017-06-04 02:21:52 +02:00
f285c34b82 Fix +evil:move-this-file not finding correct file post-move 2017-06-03 12:05:43 +02:00
fe8f0ab0b9 Fix code-folding (enable hs-minor-mode) 2017-05-29 01:05:34 +02:00
1cc199497d Silence evil-matchit errors 2017-05-28 15:39:36 +02:00
47afa2f51c Integrate new code folding more aggressively
This is necessary for +evil/fold-{open,close}-all to recieve its
interactive <c> argument.
2017-05-28 15:39:36 +02:00
76493bd8fc Refactor <//> & <//g> ex-arg types & :global 2017-05-28 02:48:20 +02:00
94f8e7768b Add :cp, refactor evil file commands, add tests 2017-05-28 02:48:20 +02:00
08f760a4ef +evil/neotree-expand-or-open: forward-line => next-line 2017-05-28 02:48:20 +02:00
0d985281eb Replace evil-multiedit with evil-mc 2017-05-26 23:08:53 +02:00
34d1364c5b Fix improperly initialized code folding system 2017-05-19 02:59:25 +02:00
fa2fbcbffe Ensure folding system is initialized soon enough 2017-05-18 01:28:54 +02:00
8648ea0314 Make evil-delete invoke wgrep-mark-deletion on lines 2017-05-17 18:27:02 +02:00
5416cdbe30 feature/evil: refactor neotree defuns 2017-05-17 01:32:39 +02:00