Commit Graph

37 Commits

Author SHA1 Message Date
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
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
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
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
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
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
0e7254d312 General cleanup + refactor 2017-04-17 02:20:07 -04:00
Henrik Lissner
e204df3c05 Replace obsolete functions/commands 2017-04-17 02:19:20 -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
e25d945474 Fix :killall! & +workspace/kill-session awareness of main workspace 2017-04-16 16:55:05 -04:00
Henrik Lissner
8e56c6c6a0 feature/workspaces: ignore nil perspective; fix +workspace/cycle 2017-04-12 11:27:43 -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
2f9c158645 feature/workspaces: fix +workspace/cycle; add +workspace/switch-{left,right} 2017-04-08 23:28:24 -04:00
Henrik Lissner
2472668e61 feature/workspaces: refactor +workspace/kill-session 2017-04-02 23:07:05 -04:00
Henrik Lissner
6a026fade2 feature/workspaces: save to autosave if name is omitted 2017-03-13 14:21:42 -04:00
Henrik Lissner
ae614c9c6f General cleanup + refactor 2017-03-08 14:41:32 -05:00
Henrik Lissner
552684564e feature/workspaces: add switch-or-create functionality to +workspace-switch 2017-03-06 19:24:25 -05:00
Henrik Lissner
4b63d79f68 feature/workspaces: kill buffers when killing workspace 2017-03-06 19:23:44 -05:00
Henrik Lissner
7d1b02cbed feature/workspaces: announce workspace name when loading/saving 2017-03-04 00:01:48 -05:00
Henrik Lissner
343925e9ac feature/workspaces: issue notice when switching to same buffer 2017-03-01 21:41:16 -05:00
Henrik Lissner
7aa8d54e08 feature/workspaces: don't error when +workspace-p recieves nil 2017-03-01 21:40:50 -05:00
Henrik Lissner
27cc4a9508 reverse => nreverse; other optimizations 2017-03-01 19:15: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
fd93e705b4 General cleanup, refactor and documentation 2017-02-21 03:45:24 -05:00
Henrik Lissner
752e8e4fe4 feature/workspaces: fix +workspace/close-window-or-workspace (closes workspace on last window) 2017-02-21 00:43:51 -05:00
Henrik Lissner
21fc4508b6 feature/workspaces: use doom-fallback-buffer function, instead of variable 2017-02-20 16:33:52 -05:00
Henrik Lissner
43d0247d61 Update modules/feature/workspaces 2017-02-20 00:26:08 -05:00