Commit graph

51 commits

Author SHA1 Message Date
Benjamin Reynolds 594fdc8f05 Rename spacemacs/mplist-get functions to be more descriptive
* spacemacs/mplist-get -> spacemacs/mplist-get-values
* spacemacs/plist-get -> spacemacs/mplist-get-value
* refactor spacemacs/mplist-get-value to be defined in terms of mplist-get-values

Ref #10803 See [comment]

[comment]: https://github.com/syl20bnr/spacemacs/pull/10803#issuecomment-395292606
2018-06-14 00:15:49 -04:00
syl20bnr a417d05cd0 layouts: be sure spaceline is loaded before restoring layouts
fixes #10849
2018-06-11 11:53:20 -04:00
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr 29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
smile13241324 d526121202 Fix doc for first bunch of internal spacemacs layers 2018-02-22 17:36:45 +02:00
John Soo 0068e1978b spacemacs-layouts: fix projectile-switch-project-action
Fix #10177
2018-01-28 22:59:09 -05:00
Muneeb Shaikh 89933acbde spacemacs-layouts: fix creation of perspective with ivy
Fix #10240
2018-01-24 09:41:07 -05:00
Bruno Tavares 035fc2a648 Regression fix: Allow new project perspectives
Before the commit 4b111f7701 it was possible to create new perspectives from projects not available on the list.

It would be possible to provide a path to a project that has not been open previously by emacs, and have the perspective created. Now that a match is required, it is not possible anymore, as the path provided is not one of the possible matches on the list.

This commit changes the behavior back to allow accessing projects that have not been visited before. Without this change, one needs to open a specific project first, using `C-x C-e` or `SPC f f` and then switch to the layout.
2018-01-22 23:36:11 -05:00
Muneeb Shaikh 6c476a3bd1 spacemacs-layouts: fix S/ivy-persp-switch-project
Fix #10177

counsel-projectile has updated custom actions mechanism[1] and
counsel-projectile-switch-project-actions is no more defined

Also,
 - moved counsel-projectile into spacemacs-layouts from ivy layer as
 perspective/layout based project switching depends on it instead of swiper
 - removed swiper from spacemacs-layouts

[1] a4e9a34d7f
2018-01-19 22:57:27 -05:00
Tad Fisher 4b111f7701 spacemacs-layouts: Use counsel-projectile-switch-project-action
Use `counsel-projectile-switch-project-action` instead of
`projectile-switch-project-by-name`, to match the additional actions available
via `counsel-projectile-switch-project` (SPC p p).
2018-01-18 01:16:58 -05:00
Steven Allen 60f11d8afc Fix using eyebrowse without persp-mode 2018-01-17 23:43:36 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
bmag cc1970ce44 move layouts: minor refactor 2017-10-21 16:12:41 +03:00
Linus Pettersson cb8b577fe1 Add functionality to move layouts in layout list 2017-10-21 16:04:13 +03:00
Ruslan Kamashev a7e30bfcb4 Fix typo (issue #9655) 2017-09-29 12:47:35 +03:00
syl20bnr 3bce69aba1 Fix warnings about unrecognized keys without helm or ivy layers
In perspective transient state. b and l keys in the docstring have no
corresponding functions declared whenever both helm and ivy layers are not
used.

Add two private variables to fix the issue:
- spacemacs--persp-display-buffers-func
- spacemacs--persp-display-perspectives-func

These variables are set to the correct functions by the helm and ivy layers via
a use-package hook.

Default is `ignore` function so b and l does nothing if both helm and ivy layers
are not used, TODO: we should find a better default function.
2017-09-26 00:10:00 -04:00
duianto e7f6475658 Workspaces transient state: create workspace keys
Problem:
Creating a new workspace from the workspaces transient state, requires that one
first looks for the next available workspace number, and then presses that
number key.

Solution:
Add the keys: `c` and `C` to create a new workspace. Lowercase exits the state
and uppercase keeps it open.

Notes:
This matches the behaviour of 0..9, which exits the state, and C-0..C-9, which
keeps it open.

This is the last key/command, from the C-c C-w eyebrowse key bindings, that was
missing from the workspaces transient state.
2017-06-18 19:12:49 +02:00
deb0ch 0dbfbd40ed bindings: improve buffers listing bindings
- bind spacemacs-layouts/non-restricted-buffer-list to SPC b B instead
of SPC B b
- rename buffer listing functions in which-key to be more explicit

PR title:

bindings: non-restricted-buffer-list-* to SPC B b instead of SPC B b

PR message:

I don't know what was the thought behind this, but `spacemacs-layouts/non-restricted-buffers-list-*` was alone in its `SPC B` prefix and `SPC b B` was almost free, only used in one layer that I would be surprised if it was widely used (`ibuffer`).

I also renamed buffers listing functions in `which-key` to be clearer for the user. Indeed, I find that names like `helm-mini` are pretty obscure and kind of defeat the purpose of `which-key` and `spacemacs-layouts-non-restricted-buffer-list-blah` was so long that it couldn't even be displayed.

Now the user can choose between `list-buffers` or `global-list-buffers` for listing buffers.
2017-06-12 12:46:35 +02:00
Eivind Fonn d4b004433c Fix layout name generation 2017-05-25 13:51:26 +02:00
bmag 6fd0d2573b New dotvariable: auto-generate layout names
If dotspacemacs-auto-generate-layout-names is non-nil, and the user
tries to open a layout in a position that doesn't yet have a layout,
then create a new layout with an automatically generated name.
2017-05-25 13:40:28 +02:00
Don March ac1168b6af Fix terminal RET and TAB in layouts/workspaces transient state
* Make RET and TAB (C-m and C-i) perform the same actions as <return>
  and <tab> so the maps work in the terminal.
* Catch <return> in workspaces transient state so that it exits without
  executing a command (like already done for layouts).
* Add "workspace w/helm/ivy" to docstring, mirroring the layouts
  docstring.
2017-05-24 14:05:15 +02:00
d12frosted c8296e507b don't show warning on layout key clashes 2017-05-24 13:09:17 +02:00
Pawan Dubey 83553a54da Move load layout from file option from Go To to Actions
and change doc string.
2017-05-24 12:55:35 +02:00
JAremko 6c5a0b2b14 update docs to the new toc-org format 2017-05-22 18:35:37 +03:00
JAremko c1e4556882 Format and cleanup docs. Fix links. 2017-04-28 23:29:14 -04:00
syl20bnr 6d2f66852c terraform: rename layer var. to terraform-auto-format-on-save, set it to nil
Set it to nil by default.
2017-04-12 00:04:38 -04:00
Leonard 806b39ca7a Fix #7644
persp-mode sets initial-buffer-choice to #[nil "�\207" [persp-special-last-buffer] 1] unless persp-is-ibc-as-f-supported is set to nil
2017-04-11 23:52:58 -04:00
deb0ch 8226f0070f do not filter for alternating buffers 2017-03-24 22:29:52 +03:00
syl20bnr 3072e72773 Replace use-package :diminish by spacemacs|hide-lighter 2017-02-13 08:38:37 -05:00
d12frosted 1a5579db6f
unify transient states
- use `..` for listing
- use 2 spaces between groups
- use 1 space between key binding and action
2017-01-31 18:27:01 +02:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
Bryan Gilbert b515253026 move helm specific layout transient state keybindings to helm layer 2016-10-23 19:44:35 +02:00
bmag 0e1491c434 Make ivy restrict buffers to layout
Also create separate non-restricted-buffer-list (`SPC B b`) for helm and
ivy.
2016-10-17 13:45:43 +02:00
bmag f9c74e2b58 Synchronise load/save of workspaces and layouts
Update current layout's workspaces before saving layouts to file (fixes
7214).
Load current layout's workspaces after loading layouts from file, if it's
one of the loaded layouts (fixes 6979).
2016-10-03 00:23:15 -04:00
duianto 98b5a2be4f
three words spellchecked
"horizonatl", swapped "a" and "t", resulting in: "horizontal"

"porpertized", swapped "o" and "r" , resulting in: "propertized"
"containg", added "in", resulting in: "containing"
2016-09-23 10:51:19 +03:00
Abdo Roig-Maranges 68becc5597 layouts: persp-mode changed variable to enable ido-hooks
Since persp-mode 2.5 the way to enable ido hooks changed again. Without
tihs, SPC b b lists all buffers instead of persp-local ones.
2016-09-20 20:09:22 +02:00
Abdo Roig-Maranges a52422e653 layouts: fix B b b not restricting to layout-local buffers
This fixes two issues regarding layouts.

1. Since Bad-ptr/persp-mode.el@e950bf15, persp-mode requires setting
persp-hook-up-emacs-buffer-completion in order to install the hooks for
ido & friends. This variable is nil by default, making SPB b b not
restrict to layout-local buffers.

2. The function spacemacs-layouts/non-restricted-buffer-list removes a
hook and re-adds it later. This makes the assumption that the hook was
already present. If it was not (due to 1) then SPC B b changes global
state by adding that hook. Instead, just let-bind the hook variable
for the scope we need it changed.

This explains and partially fixes #5788 and #6266. It does not fix the
dependency on ido-mode. If ido-mode is excluded, persp-mode will not
install the hook for ido, and SPB b b will still be unrestricted.
2016-08-22 15:00:59 +02:00
d12frosted 97147993a6 remove old custom layout on override
For example, creating new custom layout `["e" . "Name"]` clashes with
`["e" . "Spacemacs"]`. After override `SPC l o` should not show both of
them, but only the override.
2016-07-05 00:23:16 -04:00
syl20bnr 8f45a94095 ivy: perspective -> persp-mode and layout
Fix wrong package name.
Replace `perspective` words by `layout`
2016-05-31 23:39:47 -04:00
bmag 50bd692e98 Layouts: gui/terminal frames should have different workspaces
Use two different sets of workspaces for each perspective - one
set for graphical frames, and one set for terminal frames.
This is required because workspaces from graphical frames are not
compatible for use in terminal frames.
2016-05-11 20:46:53 -04:00
Christoph Paulik 67aeb73655 Defer loading of persp mode until after user-config
fix #3881
2016-05-05 13:01:47 +02:00
bmag 2a669648aa layouts: don't double activate persp-mode
If persp-mode is already activated, don't re-activate it. Should fix bug
where running dotspacemacs/sync-configuration-layers (SPC-f-e-R) resets
all the layouts.
2016-05-01 11:14:32 -04:00
bmag cf3068e4ef layouts: persp-activated-hook -> persp-activated-functions
persp-mode has renamed persp-activated-hook to
persp-activated-functions, so we gotta update the hook.
2016-04-29 23:01:48 -04:00
syl20bnr 5d84473fca layouts: update arity for persp-before-switch-functions
The hooked functions must take 2 parameters, I just ignored the
second one as well. Not sure of the implication but it seems to work.
2016-04-12 22:09:19 -04:00
syl20bnr 859f28473b layouts: use MELPA version of persp-mode 2016-04-12 22:05:24 -04:00
syl20bnr c4d9ca8fba spacemacs layouts and workspaces tweaks
- add `l` to workspace transient state to go back to layout transient
  state
- remove erroneous `l` and `h` keys on layouts transient state
- unique documentation toggle for layouts and workspaces
- reformat and sort transient states documentation
2016-03-30 14:29:55 -04:00
syl20bnr dd14afaf26 workspaces: new workspace clones the current one
Fixes #5566
2016-03-25 10:37:03 -04:00
syl20bnr 63df395975 Fix eyebrowse error when syncing layers
Fixes #5573
2016-03-25 01:12:30 -04:00
syl20bnr a33b0d02c7 Revert unwanted change in previous commit 2016-03-25 01:11:32 -04:00
syl20bnr 16afe67907 core: enhance lazy installation of layer
Now Spacemacs will ask for layer installation when opening a file with
a known file type.
The auto-mode-alist entries are added by the file auto-layer.el in
the layers directory.

Easy insert of forms for lazy initialization can be done with the
interactive function configuration-layer//insert-lazy-install-form.

Change default value of dotspacemacs-enable-lazy-installation to t.
2016-03-25 01:03:37 -04:00