Commit graph

43 commits

Author SHA1 Message Date
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
9408062f60
Move some plugins' storage to doom-etc-dir 2017-11-05 01:16:36 +01:00
Henrik Lissner
d28c64b4fa
General refactor & cleanup 2017-09-02 16:39:51 +02:00
Henrik Lissner
6d44cec666
Fix new workspace & file prompt on project switch
Properly initialize a new workspace, switch to the fallback buffer
(scratch/dash), update its default-directory to the project root, and
fuzzy-prompt for a file to open.
2017-08-06 18:49:47 +02:00
Henrik Lissner
85c28444b3
General cleanup & refactor 2017-08-06 16:30:53 +02:00
Henrik Lissner
d3a6a8317b
feature/workspaces: toggle doom-buffer-list advice 2017-07-08 13:47:40 +02:00
Henrik Lissner
b3a9889c53
Refactor feature/workspaces 2017-06-28 15:16:30 +02:00
Henrik Lissner
a894f3ee1e
Move persp-mode popup fix to core-popups 2017-06-28 12:26:50 +02:00
Henrik Lissner
eb20f3d5a6
Decouple workspaces module and doom buffer library 2017-06-28 12:26:50 +02:00
Henrik Lissner
90c3202f58
Don't activate main workspace if auto-resume is on
Other checks were unnecessary.
2017-06-28 12:26:50 +02:00
Henrik Lissner
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
Henrik Lissner
c0791e0790
Disable main workspace in noninteractive emacs
It is unnecessary in a noninteractive session.
2017-06-14 21:15:20 +02:00
Henrik Lissner
96ca709b23
Disable persp auto-save in noninteractive session 2017-06-14 21:15:19 +02:00
Henrik Lissner
816df321a5
General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
63b091f7aa
Fix *Warnings* buffer hiding on startup
...by holding them back until persp-mode is initialized.
2017-06-13 18:30:05 +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
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
3c8e70c0d0 Refactor; don't autosave blank session 2017-06-04 02:38:02 +02:00
Henrik Lissner
b47b951a41 Make config more emacsclient-friendly 2017-04-22 01:49:15 -04:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
0f16bcd04e feature/workspaces: fix flipped condition on after-init-hook 2017-04-16 16:45:21 -04:00
Henrik Lissner
8e56c6c6a0 feature/workspaces: ignore nil perspective; fix +workspace/cycle 2017-04-12 11:27:43 -04:00
Henrik Lissner
2aac675978 General cleanup + docstring updates 2017-04-11 08:31:00 -04:00
Henrik Lissner
ac101e3af6 feature/workspaces: create a fallback 'main' workspace to deal with nil persp quirks 2017-04-10 18:21:42 -04:00
Henrik Lissner
a83729c57c feature/workspaces: don't silence when saving (not important enough) 2017-04-02 23:06:27 -04:00
Henrik Lissner
84275d312d feature/workspaces: simplify doom|new-workspace-on-project-change 2017-03-13 16:56:45 -04:00
Henrik Lissner
935aff99d7 feature/workspaces: set doom-popup-rules on load-session 2017-03-13 14:21:56 -04:00
Henrik Lissner
6a026fade2 feature/workspaces: save to autosave if name is omitted 2017-03-13 14:21:42 -04:00
Henrik Lissner
7ed243a398 feature/workspaces: create/delete persps when making/deleting frames 2017-02-25 01:36:41 -05:00
Henrik Lissner
75a5e55255 General cleanup + refactor 2017-02-24 03:14:13 -05:00
Henrik Lissner
7177827c41 feature/workspaces: update +workspaces|restore-popups (due to recent core-popups refactor) 2017-02-23 00:07:28 -05:00
Henrik Lissner
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
Henrik Lissner
32bc9ce767 Minor refactoring 2017-02-22 04:28:45 -05:00
Henrik Lissner
e967c573d4 feature/workspaces: don't autosave/load + refactor session load/save commands 2017-02-22 04:28:20 -05:00
Henrik Lissner
38c3ef744d completion/ivy: refactor 2017-02-22 04:27:23 -05:00
Henrik Lissner
cb4b61b1ac feature/workspaces: create new workspace when switching to new projectile project 2017-02-21 00:44:06 -05:00
Henrik Lissner
43d0247d61 Update modules/feature/workspaces 2017-02-20 00:26:08 -05:00
Henrik Lissner
cf927acc07 @use-package => @def-package 2017-02-20 00:26:06 -05:00
Henrik Lissner
6a3e879501 feature/workspaces: refactor; more reliable session/popup persistence 2017-02-20 00:26:06 -05:00
Henrik Lissner
6c06aa0ce7 Macros now prefixed with @, instead of suffixed with ! 2017-02-20 00:26:06 -05:00
Henrik Lissner
5d5c3bf92e Refactor core-popups; improve popups/persp-mode integration 2017-02-20 00:26:05 -05:00
Henrik Lissner
42eac3eaa8 feature/workspaces: replace workgroups2 with persp-mode 2017-02-20 00:23:08 -05:00
Henrik Lissner
e6209291eb Add modules/feature/workspaces 2017-02-20 00:23:07 -05:00