Commit graph

154 commits

Author SHA1 Message Date
MadAnd
309e6eb4bb Fix smartparens after nested snippet expansions
Current implementation, #1644, doesn't handle the nested snippet
expansion properly, so you end up with smarparens disabled. Very
annoying.

I improved the implementation to remember the current state of
smartaperns before a top-level snippet expansion and preserve on any
nested snippet expansions.

Also, some housekeeping of the related code:
* Move hook handlers to the `funcs.el`.
* Add comments about yasnippet hooks subtleties relevant to the issue.

Fixes #1512
2016-08-08 13:42:45 +02:00
Eivind Fonn
989dd3d774 Rename variable w/ spacemacs prefix 2016-08-05 21:26:26 +02:00
bmag
cea0819ca4 Move helm-popwin config to helm layer 2016-08-05 21:24:47 +02:00
Jeremy Bi
4b682ce1b3 Reduce yas loading warning 2016-08-05 08:47:36 +08:00
syl20bnr
1c4f685b13 core: refactor layer system
TL;DR Should get 20~25% speed improvement on startup, should get a big
improvement when using ivy or helm SPC h SPC. Users with layers.el files
in their layers must use `configuration-layer/declare-used-layer`
instead of `configuration-layer/declare-layer`

The implementation of the layer system made heavy use of `object-assoc`
and `object-assoc-list` functions which are not efficient. This PR
mainly replaces those object lists with hash maps in order to index the
objects by their name and achieve an O(1) access time.

The old object lists `configuration-layer--layers` and
`configuration-layer--packages` have been each by two variables each:
- `configuration-layer--indexed-layers` which is a hash-map of all the
layer objects and `configuration-layer--used-layers` which is a list of
all _used_ layers symbols,
- symmetrically `configuration-layer--indexed-packages` which is a
hash-map of all the package objects and
`configuration-layer--used-packages` which is a list of all _used_
packages symbols.

The hash map `configuration-layer--layer-paths` is gone, now we create
directly layer objects when discovering the layers and set the :dir
property. Note that previously the layer paths were the parent directory
of the layer, now :dir is the layer path.

The function `configuration-layer//make-layer` is now similar to its
counterpart `configuration-layer//make-package` in the sense that it
takes an optional `obj` to be able to override its properties.

The functions `configuration-layer/declare-layer` and
`configuration-layer/declare-layers` now takes an optional parameter
`usedp` in order to declare used or not used layers. For convenience
new functions have been added: `configuration-layer/declare-used-layer`
and `configuration-layer/declare-used-layers`, users _must_ update all
occurrences of `configuration-layer/declare-layer` by
`configuration-layer/declare-used-layers` in their `layers.el` files.

`helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the
changes in `core-configuration-layer.el`.

Rename some variables to make them more explicit:
`configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers`
`configuration-layer-distribution` -> `configuration-layer-force-distribution`
2016-07-28 23:26:54 -04:00
Ista Zahn
84580b1d80 User configurable default company-backends 2016-07-26 16:33:42 +09:00
bmag
2f6bf80275 Fix void-function spacemacs//restore-previous-display-config error
Move usage of spacemacs//restore-previous-display-config from helm layer
to spacemacs-completion layer. (It's already defined there)
2016-07-25 12:33:40 +09:00
d12frosted
5c5ca4e7a3
add open config action to layer spacemacs help 2016-07-17 09:57:13 +03:00
d12frosted
c64d04f944
fix ivy-spacemacs-help//layer-action-add-layer 2016-07-16 11:37:09 +03:00
d12frosted
28220ef979
fix ivy layer help actions 2016-07-16 11:28:59 +03:00
Muneeb Shaikh
5ae1013854 ivy: remove extra projectile-switch-project binding 2016-07-14 20:37:05 +05:30
Muneeb Shaikh
212944ac2b
ivy: fix open spacemacs doc function
fix #6513
2016-07-08 09:04:24 +03:00
liuxiang
43c760df88 Bind "C-c C-e" to spacemacs/helm-find-files-edit for helm-files buffer. 2016-07-05 00:23:16 -04:00
zilongshanren
94969fd81d fix break API changes for ivy 0.8
fix describe packages

refine

rename car cdr to cadr

fix SPC h l
2016-07-05 00:23:16 -04:00
Eivind Fonn
4aa01559af helm: Set projectile-completion-system 2016-07-05 00:23:16 -04:00
Muneeb Shaikh
db162af3d8 Set projectile-completion-system to helm
It is inconsistent when using helm as default completion and command
such as `SPC m r f c` opens up ido in rails project.
2016-07-05 00:23:16 -04:00
Exaos-memes
904f7ea665 Define new variable: spacemacs-start-directory.
With this new variable, user can load spacemacs anywhere, e.g.
"~/.emacs.d/spacemacs/". Only user's cache directory is still hard-coded
as "~/.emacs.d/.cache/". If user want to use spacemacs this way, drop
one line as the below in "~/.emacs.d/init.el":

    (setq spacemacs-start-directory "~/.emacs.d/spacemacs/")
    (load-file (concat spacemacs-start-directory "init.el"))
2016-06-23 00:19:34 -04:00
ralesi
560f86f997
Fix :owner reference in ivy-spacemacs-help 2016-06-22 07:44:15 +03:00
Eivind Fonn
92b48eadea 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 22:05:56 -04:00
syl20bnr
117dcba0ed Revert "Drop support for Emacs 24.3"
This reverts commit 31bab70397 making
a new commit to put TheBB as the author.
2016-06-20 22:05:12 -04:00
syl20bnr
31bab70397 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 21:55:36 -04:00
Eivind Fonn
2a6ffc72d9 ivy: Support GNE
Implement a keymap for Spacemacs’ counsel search that supports saving
the results to a buffer (bound on F3 as in helm). Ensure that the new
buffer supports the GNE API.
2016-06-18 19:21:26 -04:00
Eivind Fonn
194af58f3c helm: Support GNE
Advice the save-buffer functions to use the GNE API in that buffer.
2016-06-18 19:21:26 -04:00
syl20bnr
4f5d7670f1 core: fix typo with configuration-layer--inhibit-warnings 2016-06-10 23:41:33 -04:00
syl20bnr
cc91842bd8 helm: improve SPC h SPC
As it was the case during the good old days when spacemacs was still a
baby, SPC h SPC now list correctly all the pre/init/post functions and
the associsted layer. It also now list properly the current owner of
a package so it is easy to find the owner of a package by narrowing
with `packagename owner`.

This new old functionality is possible by leveraging the last
improvements to the layer system (see previous commits).

TODO: update the sources for Ivy
2016-06-10 22:48:41 -04:00
syl20bnr
775c1f78db ivy: create missing layers.el file
Was triggering an error if ivy and smex layer were both used at the
same time and smex layer stole ownership of smex package.
Fixes #6281
2016-06-10 20:53:23 -04:00
syl20bnr
81fbb9a292 Format README files with spacefmt 2016-06-10 00:09:42 -04:00
syl20bnr
f5799ab1ec ahs: move b, f and / key bindings to helm and ivy
Correctly augment the docstring based on the presence of b,f and /
bindings using dynamic hint.
b,f and / are not available if none of helm or ivy layers are used.
2016-06-09 22:50:24 -04:00
ralesi
2a07a7fd76 Add custom evil-register listing with ivy. 2016-06-09 21:27:30 -04:00
Laszlo Szekeres
a89573eb85 Enable make completion with ivy
Invoking "make" or "project compilation" (<kbd>SPC c m</kbd>, <kbd>SPC c
c</kbd>) is currently not supported in ivy mode. The PR re-enables them
by adding helm-make to the ivy packages with ivy completion method.
2016-06-07 23:19:32 -04:00
Markus Koller
58bb7d122f spacemacs-base: Always kill buffers with SPC b d
Fixes #4929
2016-06-05 21:22:50 -04:00
Eivind Fonn
ffd9ffc537 helm-help: pass toggle candidates as list
This ensures that the status is evaluated in the buffer where help was
invoked, rather than in the helm buffer.
2016-06-02 22:47:56 -04:00
Muneeb Shaikh
7f22bf1fc8 completion/ivy: fix projectile-switch-project-action 2016-06-02 15:44:34 +05:30
ralesi
bb37cb9b9a ivy: spacemacs-help
* Provide dired functionality for package and layer lists.
2016-06-01 21:38:35 -04:00
d12frosted
d404490ed1 [ivy] add delete and remove file actions 2016-06-01 21:36:45 -04:00
zilongshanren
f06129c0f3 add ivy-hydra packages 2016-06-01 21:32:48 -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
ralesi
1ef6f10643 Provide custom actions for ivy and counsel-search 2016-05-31 23:26:21 -04:00
syl20bnr
4dead4cca7 Use use-package hooks for helm and ivy projectile setup
It allows the configuration function for projectile to be agnostic of
other packages.

Also fix wrong `SPC p s` key binding (it is `SPC p p`).
2016-05-31 23:19:54 -04:00
syl20bnr
47988be186 ivy: use :toggle keywork for counsel-projectile 2016-05-31 23:09:55 -04:00
ralesi
0c3ab2f3d1 Use counsel-projectile for projects with ivy. 2016-05-31 23:07:57 -04:00
Eivind Fonn
845c42d252 core: add predicate function for toggles
Also use output in Spacemacs help sources
2016-05-31 22:33:44 -04:00
Eivind Fonn
62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
syl20bnr
5e448a60ed Remove loading of funcs.el and config.el for helm and ivy spacemacs help 2016-05-29 22:39:56 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -04:00
syl20bnr
818867e012 Fix package sources for ivy and helm 2016-05-29 21:12:54 -04:00
sooheon
ec3ea5b41e Move custom-set-faces out of company config
Keep it in a recommendation in the README for the layer. Eval'ing the
custom-set-faces directly in the config makes it difficult to revert the
customizations.
2016-05-27 00:32:05 -04:00
sooheon
15e6290151 Make check for company-mode explicit, not implicit
People may have company-mode installed without necessarily using the
auto-completion layer.
2016-05-27 00:32:05 -04:00
syl20bnr
519d42e7c6 ivy: remove pcre2el from package list 2016-05-27 00:32:05 -04:00
sooheon
cd848d7e28 We don't need to declare pcre2el in ivy 2016-05-27 00:32:05 -04:00