Commit graph

216 commits

Author SHA1 Message Date
Henrik Lissner
b447148a4a
Enable evil-snipe-mode too 2017-06-30 23:47:06 +02:00
Henrik Lissner
28810eee3a
feature/evil: refactor code-folding keybinds 2017-06-30 23:46:53 +02:00
Henrik Lissner
869bc03ca6
Load bare minimum for tests 2017-06-28 15:28:13 +02:00
Henrik Lissner
25dca5fde7
Fix :mv/:rm/:cp error when projectile-mode is off 2017-06-28 15:17:47 +02:00
Henrik Lissner
822c78554f
destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
Henrik Lissner
c294effd8d
Fix incorrect argc in +evil/reselect-paste 2017-06-22 20:03:27 +02:00
Henrik Lissner
8f00b3d07a
Minor general refactor 2017-06-20 16:32:50 +02:00
Henrik Lissner
392c58ea47
General refactor & cleanup 2017-06-19 00:32:45 +02:00
Henrik Lissner
928812da8a
Make def-setting! behave more like defmacro
set! used to aggressively evaluate its arguments (at expansion-time),
even if placed inside an after! block. This causes unavoidable errors if
those arguments use functions/variables that don't exist yet.

Fixes #112
2017-06-19 00:32:44 +02:00
Henrik Lissner
7d081c3154
Fix subr-x macro autoloads 2017-06-18 23:43:08 +02:00
Henrik Lissner
816df321a5
General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
9c93c453e8
Reorganize unit-tests and test workflow
+ Moved unit tests out of tests/ and into their respective modules.
+ Rewrite makefile and added these tasks:
  + <MODULE>/<SUBMODULE> -- byte-compile a specific module
  + test:<MODULE>/<SUBMODULE> -- runs tests for a specific module
  + testi -- run tests in an interactive session of Emacs (WIP)
  + run -- opens an Emacs session with this config; useful when it is in
    a non-standard location.
2017-06-14 21:15:19 +02:00
Henrik Lissner
4984a548d1
Refactor DOOM init & add new init hooks
+ Add doom-init-hook and doom-post-init-hook to simplify Emacs init
  hooks into less ambiguous ones.
+ Attach former after-init-hook and emacs-startup-hook hooks to new doom
  init hooks.
+ Vastly improves daemon and tty support: preventing incorrect colors
  from bleeding across face class barriers, and into GUI Emacs and vice
  versa, when spawned with emacsclient.
+ Fix persp-mode breaking Emacs daemon, and ensuring that initialization
  is done properly in terminal Emacs (and emacsclient frames).
2017-06-12 00:37:14 +02:00
Henrik Lissner
d214d94207
Fix goto-last-change (by autoloading its commands)
Its default binds (bound by evil-maps) are g; and g,
2017-06-11 00:59:42 +02:00
Henrik Lissner
2097498f3e
General docstring+idempotency refactor 2017-06-11 00:59:02 +02:00
Henrik Lissner
2e1e908f57
Load hideshow when folding system is autoloaded 2017-06-10 18:18:34 +02:00
Henrik Lissner
77eb06727c
Move to EOL before (un)folding (#99) 2017-06-09 14:06:00 +02:00
Henrik Lissner
99ef794f92
evil-escape: disable in minibuffer and motion state 2017-06-09 01:09:20 +02:00
Henrik Lissner
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
Henrik Lissner
a20aeaf76b
Refactor code-fold system (defer load + advise) 2017-06-07 20:43:58 +02:00
Henrik Lissner
3b4517e7bd
evil-escape: exclude emacs state 2017-06-07 17:13:01 +02:00
Henrik Lissner
4acacd5c1c
Refactor +evil/reselect-paste 2017-06-07 16:14:05 +02:00
Henrik Lissner
f6be10efb3 Add feature/evil README 2017-06-05 12:57:53 +02:00
Henrik Lissner
a5325f6a2a Move evil-mc personal config to private module 2017-06-05 12:35:51 +02:00
Henrik Lissner
30402495fe General refactor + cleanup 2017-06-05 12:35:51 +02:00
Henrik Lissner
1fd482fa51 Extract neotree from feature/evil => tools/neotree 2017-06-05 00:51:56 +02:00
Henrik Lissner
dd11477132 Fix #87: evil-matchit in visual mode 2017-06-04 02:21:52 +02:00
Henrik Lissner
e02e99050f Bring back evil-multiedit
evil-mc is great, but sometimes iedit is simply the better tool.
2017-06-03 12:05:43 +02:00
Henrik Lissner
f285c34b82 Fix +evil:move-this-file not finding correct file post-move 2017-06-03 12:05:43 +02:00
Henrik Lissner
fe8f0ab0b9 Fix code-folding (enable hs-minor-mode) 2017-05-29 01:05:34 +02:00
Henrik Lissner
1cc199497d Silence evil-matchit errors 2017-05-28 15:39:36 +02:00
Henrik Lissner
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
Henrik Lissner
86cca42723 private/hlissner: revise bindings (again)
+ Remove defunct + refactor
+ Move evil-easymotion bindings to private/hlissner
+ Remove backtab 'fix' in bindings (doesn't work)
+ Clear leader/localleader keys first
+ Put key "fixers" in input-decode-map
2017-05-28 15:38:50 +02:00
Henrik Lissner
76493bd8fc Refactor <//> & <//g> ex-arg types & :global 2017-05-28 02:48:20 +02:00
Henrik Lissner
fbe782df22 Heavily redesign keybinding design
+ SPC and SPC m as leader/localleader (spacemacs-ey)
+ Move all custom keybindings to private +bindings.el file
+ Redesign+rearrange keybindings
2017-05-28 02:48:20 +02:00
Henrik Lissner
4ea176d04d Register doom/newline-and-indent with evil-mc 2017-05-28 02:48:20 +02:00
Henrik Lissner
94f8e7768b Add :cp, refactor evil file commands, add tests 2017-05-28 02:48:20 +02:00
Henrik Lissner
08f760a4ef +evil/neotree-expand-or-open: forward-line => next-line 2017-05-28 02:48:20 +02:00
Henrik Lissner
0d985281eb Replace evil-multiedit with evil-mc 2017-05-26 23:08:53 +02:00
Henrik Lissner
85751c519b Refactor +evil-esc-hook 2017-05-25 12:22:05 +02:00
Henrik Lissner
34d1364c5b Fix improperly initialized code folding system 2017-05-19 02:59:25 +02:00
Henrik Lissner
654bb18772 Use advice to jump to new splits
The old method left window history unupdated, so when you delete
a window, you end up pretty far from where you were, window-wise.
2017-05-18 02:01:40 +02:00
Henrik Lissner
fa2fbcbffe Ensure folding system is initialized soon enough 2017-05-18 01:28:54 +02:00
Henrik Lissner
615cf15313 General refactor & cleanup 2017-05-17 21:07:41 +02:00
Henrik Lissner
58ebc2b9a4 feature/evil: generalize evil-delete remapping 2017-05-17 18:29:54 +02:00
Henrik Lissner
b0bb013601 General refactor & cleanup + update TODO 2017-05-17 18:27:02 +02:00
Henrik Lissner
8648ea0314 Make evil-delete invoke wgrep-mark-deletion on lines 2017-05-17 18:27:02 +02:00
Henrik Lissner
ee570a7ab7 feature/evil: no evil-escape in normal mode 2017-05-17 01:32:57 +02:00
Henrik Lissner
5416cdbe30 feature/evil: refactor neotree defuns 2017-05-17 01:32:39 +02:00
Henrik Lissner
34feeefc1d Fix pause on j/k in neotree 2017-05-16 19:21:33 +02:00