Commit Graph

266 Commits

Author SHA1 Message Date
2adbd54b59 Load evil-snipe later in startup 2017-07-02 16:53:28 +02:00
992e636b31 feature/evil: improve idempotency 2017-07-02 16:53:04 +02:00
532db96645 evil: don't force normal mode from emacs mode 2017-07-02 16:52:01 +02:00
478eafa59b Add evil-mc-has-cursors-p autoload to evil-mc 2017-07-01 11:24:45 +02:00
b447148a4a Enable evil-snipe-mode too 2017-06-30 23:47:06 +02:00
28810eee3a feature/evil: refactor code-folding keybinds 2017-06-30 23:46:53 +02:00
869bc03ca6 Load bare minimum for tests 2017-06-28 15:28:13 +02:00
25dca5fde7 Fix :mv/:rm/:cp error when projectile-mode is off 2017-06-28 15:17:47 +02:00
b3a9889c53 Refactor feature/workspaces 2017-06-28 15:16:30 +02:00
a894f3ee1e Move persp-mode popup fix to core-popups 2017-06-28 12:26:50 +02:00
eb20f3d5a6 Decouple workspaces module and doom buffer library 2017-06-28 12:26:50 +02:00
90c3202f58 Don't activate main workspace if auto-resume is on
Other checks were unnecessary.
2017-06-28 12:26:50 +02:00
ba32bf6e4d Add +workspace-buffer-list & +workspace-list-names
...and change +workspace-list to return a list of persp structs, rather
than names.
2017-06-28 12:26:50 +02:00
4c11377e18 Fix +workspace-get returning a non-nil null
persp-get-by-name will sometimes return the value of `persp-not-persp'
(by default this is the symbol :nil) rather than actual nil when a persp
doesn't exist.
2017-06-28 12:26:50 +02:00
510e7116c8 Use different function for :cleanup 2017-06-28 12:26:49 +02:00
5ebda9b0c6 Refactor buffer functions & update tests
+ Split doom-buffer-list into doom-buffer-list
  & doom-project-buffer-list.
+ doom-real-buffers-list => doom-real-buffer-list (for naming
  consistency).
2017-06-28 12:26:49 +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
8f00b3d07a Minor general refactor 2017-06-20 16:32:50 +02:00
392c58ea47 General refactor & cleanup 2017-06-19 00:32:45 +02:00
bc3aee2a4f Replace :xref-backend setting with :jump
Which takes :definitions, :references, :documentation and :xref-backend.
Each accepts a function that will jump to definitions, references, and
documentation respectively.

If a major-mode has an :xref-backend, you don't need :definitions or
:references.
2017-06-19 00:32:45 +02:00
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
7d081c3154 Fix subr-x macro autoloads 2017-06-18 23:43:08 +02:00
41e8752d8f Fix git-gutter reactivating on ESC #114 2017-06-18 23:09:59 +02:00
c0791e0790 Disable main workspace in noninteractive emacs
It is unnecessary in a noninteractive session.
2017-06-14 21:15:20 +02:00
96ca709b23 Disable persp auto-save in noninteractive session 2017-06-14 21:15:19 +02:00
816df321a5 General refactor & cleanup 2017-06-14 21:15:19 +02:00
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
63b091f7aa Fix *Warnings* buffer hiding on startup
...by holding them back until persp-mode is initialized.
2017-06-13 18:30:05 +02:00
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
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
2097498f3e General docstring+idempotency refactor 2017-06-11 00:59:02 +02:00
ec23f1f06b Fix typo (missing package name in after! block) 2017-06-10 22:15:39 +02:00
2e1e908f57 Load hideshow when folding system is autoloaded 2017-06-10 18:18:34 +02:00
df4ce8616d feature/version-control: refactor 2017-06-10 11:54:47 +02:00
ea128027e9 Remove evil-magit; use emacs mode for magit (#102) 2017-06-10 11:54:37 +02:00
1a24d5421e Too many parentheses! Forgive me cthulhu! 2017-06-09 16:00:32 +02:00
48ec4ce36f Add :inherit to +workspace faces 2017-06-09 15:41:07 +02:00
77eb06727c Move to EOL before (un)folding (#99) 2017-06-09 14:06:00 +02:00
723e8a6570 Fix +vcs/git-browse (aka :gbrowse) 2017-06-09 13:59:23 +02:00
99ef794f92 evil-escape: disable in minibuffer and motion state 2017-06-09 01:09:20 +02:00
719e272374 quickrun: use nlinum instead of linum 2017-06-09 01:09:20 +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
cdd24312d9 Move feature/unicode => ui/unicode 2017-06-08 14:27:06 +02:00
6d905240c0 Add feature/unicode module (#97) 2017-06-08 14:17:52 +02:00
a20aeaf76b Refactor code-fold system (defer load + advise) 2017-06-07 20:43:58 +02:00
3b4517e7bd evil-escape: exclude emacs state 2017-06-07 17:13:01 +02:00
4acacd5c1c Refactor +evil/reselect-paste 2017-06-07 16:14:05 +02:00
baad7953bf Breaking change: rewrite add-transient-hook!
HOOK is now evaluated. Hooks should be quoted (and functions
sharp-quoted).

This also fixes commit 0150f78e.
2017-06-05 16:43:14 +02:00
f6be10efb3 Add feature/evil README 2017-06-05 12:57:53 +02:00