Commit Graph

159 Commits

Author SHA1 Message Date
6310236f51 Appease the holy byte-compiler 2018-06-26 01:46:34 +02:00
d78f702401 Update feature/workspaces tests 2018-06-23 22:17:15 +02:00
863fa16bcc Refactor +workspace/new: use persp-copy
Instead of manually adding buffers to new workspace.
2018-06-23 19:59:17 +02:00
fbf7834d93 Don't delete workspace if visible in another frame
This leaves persp-mode in a semi-broken state.
2018-06-23 19:53:58 +02:00
f6dc6ac74e Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
c9014487b1 Restore workspaces on --restore later
doom-post-init-hook isn't late enough.
2018-06-19 16:43:51 +02:00
af350aa09e feature/workspaces: disable magit persisting
Too buggy!
2018-06-19 16:43:28 +02:00
d5adf4ccbc Minor refactor of feature/workspaces
Improve error handling and update docstrings+comments
2018-06-19 15:00:15 +02:00
d979c46ea2 Make +workspaces-load-session replace current
It should not merge with the current session.
2018-06-19 14:53:45 +02:00
8cb36afa21 Switch to last workspace after persp-load
A little more intuitive than just switching to main workspace.
2018-06-19 14:52:33 +02:00
5f04be599f feature/workspaces: persist indirect buffers 2018-06-19 14:50:27 +02:00
e703d3ec8a Fix default workspace tab faces
The inherited faces were double-quoted
2018-06-19 14:18:31 +02:00
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
eaca8c58fa Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
530bdca097 Refactor persp-mode-map keybinds
Use define-key! instead of individual define-key's
2018-06-05 19:50:56 +02:00
e4e2fb55ed feature/workspaces: remove non-side-window fix
This was fixed upstream in persp-mode#90.
2018-06-05 18:39:50 +02:00
e2979e5b82 Fix +workspace/delete when one workspace is left 2018-05-29 00:42:33 +02:00
4771c047c6 Merge pull request #601 from jcf/fix-workspace-load
Fix use of +workspaces-data-file in +workspace/load
2018-05-25 15:37:19 +02:00
9011593e38 feature/workspaces: fix tests 2018-05-25 00:50:52 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
f058505306 New bin/doom (eventual replacement for make)
This commit adds bin/doom, which acts as the middle man that make once
was (and will stay for a while, though the documentation will shift away
from using it). It does everything the previous make interface did, but
is faster and more flexible. bin/doom should eventually replace the
makefile.

bin/doom also makes it easier to run Doom outside of ~/.emacs.d and
~/.doom.d with, for example:

  bin/doom run -p ~/.other.doom.d/ -e ~/.other.emacs.d

bin/doom.cmd is included for Windows users, but I don't recommend using
it yet. It hasn't been tested nor have I ever written a batch script
before.

Also update init.example.el with new defaults.
2018-05-21 01:38:17 +02:00
217ff2cd54 Fix use of +workspaces-data-file in +workspace/load 2018-05-19 15:02:54 +01:00
0bd88b8414 Add restart-emacs package & commands 2018-05-14 13:05:03 +02:00
5426fe072c feature/workspaces: autoload faces 2018-05-10 21:09:54 +02:00
776886a0a4 feature/workspaces: restore missing +workspace/{save,load} commands 2018-04-26 05:10:58 -04:00
a5877139cd feature/workspaces: persp-mode integration for eshell, compile & magit-status 2018-04-21 21:04:34 -04:00
39836fc15d feature/workspace: disable autosave on manual autosave
+workspace/save-session without a name = autosaves the current session.
Doing so now disables autosaving on kill-emacs, otherwise your autosave
would be overwritten when closing Emacs.
2018-04-21 21:03:23 -04:00
693942e438 Merge pull request #511 from amosbird/develop
fix workspace switch-left cycle.
2018-04-18 00:19:43 -04:00
484cba1b1b feature/workspaces: unselect side-windows when switching workspaces #499 2018-04-08 18:14:07 -04:00
b2b603240f fix workspace switch-left cycle. 2018-04-05 21:24:13 +08:00
54c6301f45 feature/workspaces: reduce redundancy in +workspace/kill-session 2018-04-02 05:51:01 -04:00
aad653d913 feature/workspaces: clear last workspace instead of erroring out 2018-04-02 05:50:39 -04:00
3f4c2c81d9 feature/workspaces: if universal arg, don't prompt for file on project switch 2018-03-23 16:03:29 -04:00
a2ab9e739c feature/workspaces: minor refactor 2018-03-22 06:30:49 -04:00
61206a553d feature/workspaces: add sharp-quote 2018-03-22 06:28:00 -04:00
d5683ba681 feature/workspaces: fix recursive load errors on 25.x #470
+workspaces|protect-buffers-in-other-persps was unnecessary, in any
case.
2018-03-22 06:26:42 -04:00
d84222b6d0 feature/workspaces: use new switch-buffer hooks 2018-03-14 18:31:48 -04:00
a17fc86761 feature/workspaces: fix buffer getting killed across workspaces 2018-03-12 13:33:50 -04:00
e659ab0609 feature/workspaces: refactor switch-project integration 2018-02-20 17:56:38 -05:00
7707aec28a Remove doom group
Not really useful, and Doom doesn't encourage using the Emacs Customize
interface.
2018-02-18 03:04:58 -05:00
f2a4028f30 feature/workspaces: refactor +workspace-buffer-list 2018-02-10 02:16:50 -05:00
f35a49dc7e feature/workspaces: redefine +workspace/kill-session-and-quit 2018-02-07 19:27:41 -05:00
68a4c85088 feature/workspaces: have switch-project recycle empty workspaces
If you're in an empty workspace, reuse it, rather than spawning a new
one. This lets you create a new workspace *then* switch project.
2018-02-06 17:49:55 -05:00
1db29a951e feature/workspaces: fix counsel-projectile-switch-project actions 2018-02-06 13:50:26 -05:00
b6ee578cda feature/workspace: fix new frames with unreal buffers + no buffer predicate 2018-02-04 02:21:35 -05:00
3830a8aba1 feature/workspaces: fix infinite recursion in buffer-predicate #399
By refactoring so that the middle-man buffer predicate wasn't necessary.
2018-02-03 18:06:47 -05:00
cbd6bf190a feature/workspaces: minor refactor 2018-02-02 20:47:33 -05:00
d9a80a9520 feature/workspaces: fix buffer-bleedover from other workspaces
The frame buffer-predicate wasn't discriminating against buffers that
were in other perspectives, allowing you to `next-buffer` into them.
UNACCEPTABLE.
2018-02-02 20:47:33 -05:00
c319b606cd feature/workspaces: don't pollute *Messages* with tabbar output 2018-02-02 20:47:32 -05:00
2989296521 Use frame's buffer-predicate instead of doom/{next,previous}-buffer
doom/{next,previous}-buffer was implemented so that these commands could
skip over unreal buffers, and land us on either a real one or the
dashboard. Using the frame's buffer-predicate parameter accomplishes
exactly this, natively.
2018-02-01 19:58:43 -05:00