Commit graph

140 commits

Author SHA1 Message Date
Henrik Lissner
790eed0abd
feature/workspaces: run +workspace-change-hook when updating ws list 2018-01-04 16:14:59 -05:00
Henrik Lissner
f3562eb038
feature/workspaces: refactor persp-mode init 2018-01-04 03:01:35 -05:00
Henrik Lissner
9f884bf998
Move delayed-warnings deferral to core.el
Possibly addresses #319
2018-01-03 12:54:30 -05:00
Henrik Lissner
8e7b822062
Remove core-popup coupling
New popup management system coming soon!
2018-01-03 03:44:34 -05:00
Henrik Lissner
e87b788078
Update & reformat module readmes for v2.0.9
+ completion/ivy
+ completion/company
+ feature/evil
+ feature/eval
+ feature/snippets
+ feature/workspaces
+ tools/neotree
2018-01-01 13:21:53 -05:00
Henrik Lissner
8ad2666f8f
Refactor and fix unit tests, plus isolate them better 2017-12-31 14:58:45 -05:00
Henrik Lissner
b6eec664bb
Fix new workspace when switching projects #314 2017-12-30 01:18:41 -05:00
Henrik Lissner
707b69540d
doom/cleanup-buffers => doom/cleanup-session 2017-12-30 00:59:44 -05:00
Henrik Lissner
c9fe2de236
Ensure persp-kill-buffer-query-function is last in hook 2017-12-29 01:48:55 -05:00
Henrik Lissner
73333784f8
completion/ivy: fix cyclical-load errors when compiling 2017-12-17 00:03:45 -05:00
Henrik Lissner
27b1a9c3c6
+workspaces*auto-add-buffer: redisplay => force-mode-line-update 2017-12-10 17:00:29 -05:00
Henrik Lissner
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
f8e8dbad8f
General minor refactor 2017-12-08 23:14:12 -05:00
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
a49675eb21 Merge branch 'master' into develop
* master:
  Fix 'Wrong type argument: commandp' in +workspace/kill-session-and-quit.
2017-11-08 22:55:10 +01:00
Sergey Trofimov
1fe5f2d33b Fix 'Wrong type argument: commandp' in +workspace/kill-session-and-quit. 2017-11-08 22:49:19 +03:00
Henrik Lissner
655f14a85d
Start tab numbering from 1 instead of 0 #262 2017-11-07 14:47:15 +01:00
Henrik Lissner
9408062f60
Move some plugins' storage to doom-etc-dir 2017-11-05 01:16:36 +01:00
Henrik Lissner
6b9849fd57
Add conditional autoload/compile cookies #229 2017-11-05 01:16:35 +01:00
Henrik Lissner
b0c26ea4dd
Remove +workspace/cleanup (doom/cleanup-buffers is better) 2017-10-06 02:37:24 +02:00
Henrik Lissner
de35ac873a
Major refactor of workspaces api
+ The "main" workspace is no longer treated especially, and can be
  renamed or deleted. Fixes issue mentioned in #200.
+ In the disastrous event that there are no workspaces left, a main one
  is generated and switched to. Under no circumstances should the use be
  left in the nil perspective!
+ Fix the :tabr[ename] ex command throwing argument errors.
+ Refactored most workspace functions.
+ New command: +workspace/close-workspace-or-frame, which is bound to
  C-S-w in my private module.
2017-09-29 01:54:58 +02:00
Russell Matney
05a743320f fix(wrkspcs): interactive rename, save + load dir 2017-09-09 19:30:08 -04:00
Henrik Lissner
d28c64b4fa
General refactor & cleanup 2017-09-02 16:39:51 +02:00
Henrik Lissner
ee1875ffd4
Add feature/workspaces/README.org 2017-08-21 20:13:30 +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
6a5bd216e5
Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
Henrik Lissner
2948ec4e0d
feature/workspaces: add some unit tests 2017-07-08 21:10:39 +02:00
Henrik Lissner
5a386446aa
Add +workspace-contains-buffer-p 2017-07-08 21:08:42 +02:00
Henrik Lissner
30001ec3f4
Fix +workspace-p (obj is a struct, not hash table) 2017-07-08 21:08:35 +02:00
Henrik Lissner
d3a6a8317b
feature/workspaces: toggle doom-buffer-list advice 2017-07-08 13:47:40 +02:00
Henrik Lissner
78c3549b0f
New function (alias): +workspace-current 2017-07-08 13:47:17 +02:00
Henrik Lissner
9194d020e4
+workspace-buffer-list: preserve list order #144
persp-mode still doesn't preserve buffer list order. You'll have to use
+workspace-buffer-list to get this.
2017-07-08 13:44:43 +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
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
Henrik Lissner
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
Henrik Lissner
510e7116c8
Use different function for :cleanup 2017-06-28 12:26:49 +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
1a24d5421e
Too many parentheses! Forgive me cthulhu! 2017-06-09 16:00:32 +02:00
Henrik Lissner
48ec4ce36f
Add :inherit to +workspace faces 2017-06-09 15:41:07 +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