Commit graph

101 commits

Author SHA1 Message Date
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
Eivind Fonn
5029734846 tmux: bind named functions instead of lambdas 2016-07-26 14:33:45 +09:00
Andre0991
93940af74c Add shortcuts for full left and right scroll 2016-07-25 12:22:20 +09:00
John Johnstone
ff69db7b56
Fix spelling in saltstack layer 2016-07-22 12:51:24 +03:00
Eivind Fonn
66a628a599 shell: auto-jump to end also in hybrid 2016-07-05 00:23:16 -04:00
Eivind Fonn
82bb81e794 docker: fix evilification 2016-07-05 00:23:16 -04:00
ralesi
d22616a590 add counsel-dash 2016-07-05 00:23:16 -04:00
d12frosted
841fc514b8
remove TODOs from dash layer readme file 2016-06-24 20:36:47 +03:00
syl20bnr
829f00a824 Add more info for fish shell and ansi-term 2016-06-22 23:28:41 -04:00
syl20bnr
2738724ed4 erc, html and pdf-tools: use :evil-leader-for-mode in transient states 2016-06-17 23:40:06 -04:00
Dionysis Athinaios
5ec5882974 Provide more details for ycmd installation and configuration 2016-06-12 21:49:07 -04:00
syl20bnr
cb6754f231 Remove packages without any init functions 2016-06-10 20:53:24 -04:00
syl20bnr
81fbb9a292 Format README files with spacefmt 2016-06-10 00:09:42 -04:00
syl20bnr
2dd53426a6 Replace +config-files category by +tools category 2016-06-09 23:56:09 -04:00
syl20bnr
bc9691d0c0 Rename dockerfile layer to docker 2016-06-09 23:53:33 -04:00
syl20bnr
79c8dc1084 dockerfile: various changes
README
- rewrite paragraph on docker-tramp
- sort key bindings
- adapt the file to last good practices

packages.el
- sort packages
- sort key bindings
- remove :commands
- move evilification to config
2016-06-09 23:49:34 -04:00
Christoph Paulik
e69c1ec5dd Add docker-tramp and docker.el
- docker TRAMP provides TRAMP access to running docker containers
- docker.el provides basic management of docker images and containers
2016-06-09 23:29:20 -04:00
syl20bnr
89d5aad0a5 Various tweaks to golden-ratio configuration
- Prefer add-to-list function to alter golden-ratio variables so the lists
are less likely to grows as users reload their spacemacs config.
- Move some config to layers when appropriate
- Sort alphabetically the values
- Remove some duplicates in exclude-modes
2016-06-08 10:17:08 -04:00
Nikola Henezi
d44a73fe71 Fixing dash layer variable names.
As reported in #5694 dash layer cannot be configured according to the
documentation. This commit fixes that, and allows you to actually define docset
path with `helm-dash-docset-newpath`. It also defines more sensible default for
docset `~/.docsets`, which is the default path for helm-dash.

Fixes #5694
2016-06-05 21:24:28 -04:00
Jean-Francois Chevrette
e104f49889 Fix typo in layers/+tools/shell/README.org
fix typo
2016-05-31 23:01:51 -04:00
syl20bnr
fb97b87cc6 Call spacemacs/set-leader-keys-for-major-mode only once 2016-05-30 21:04:04 -04:00
Eivind Fonn
e63478049a shell: fix projectile-multi-term-in-root 2016-05-30 21:02:59 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -04:00
Eivind Fonn
2c3243a178 shell: fix layer variable documentation 2016-05-29 19:10:13 +02: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
sooheon
0a85d04892 Check for flycheck, not syntax-checking layer
This allows loading even when someone uses flycheck in their personal
layer.
2016-05-27 00:32:05 -04:00
syl20bnr
e4b7536510 Remove smooth scrolling from packages list 2016-05-22 10:00:57 -04:00
Allen Li
a9c95142b9 Remove smooth scroll margin
User changing the scroll margin should handle these cases themselves.
2016-05-22 09:58:40 -04:00
syl20bnr
3aa77e45d2 deft: move setq to :init 2016-05-17 00:19:38 -04:00
Andrew Schwartzmeyer
9cd73d61f7 deft: Fix create new file with filter text
The binding of `SPC m n` calls `deft-new-file`, which only uses the
filter text `(when deft-use-filter-string-for-filename)`, which is set
to nil originally. So we need to make it true.
2016-05-17 00:18:22 -04:00
syl20bnr
1f993bddf6 Rename spacemacs-helm and spacemacs-ivy layers to helm and ivy
For ivy users: be sure to update your dotfile by replacing spacemacs-ivy
by ivy
2016-05-15 22:24:27 -04:00
Steven Allen
9f48b951db Fix file extension matching for filenames with newlines
- "\\.ext$" matches both "abc.ext" and "abc.ext\nsomething".
- "\\.ext\\'" matches only "abc.ext".
2016-04-29 22:16:49 -04:00
syl20bnr
5f8e24405a shell: document layer variable shell-default-term-shell 2016-04-29 18:20:59 -04:00
dubnde
80cccdce7c Add shell-default-full-span for shell window 2016-04-29 18:14:57 -04:00
syl20bnr
e18b1cbe0e Move vi-tilde-fringe hook to shell layer
Also replace lambdas by named functions
2016-04-29 17:48:00 -04:00
Stefan VanBuren
048da9d320 Fix typo in README.org 2016-04-21 21:08:11 -04:00
syl20bnr
bbe2f06d64 ranger: fix error about void variable
Due to syl20bnr rebase of commit 9836979
2016-04-17 00:37:47 -04:00
ralesi
05e99aa0a1 Add commands for ranger to make accessible when defered.
syl20bnr: move the code to dired post-init
2016-04-17 00:37:47 -04:00
syl20bnr
07852abad5 Format documenation files with doc-fmt tool 2016-04-12 23:31:38 -04:00
Nate Wolfe
634f1a4fbe Revert "(5719) Fix multi-term shell popup"
This reverts commit 8526ee7145.
2016-04-11 20:32:45 +02:00
Fabien Dubosson
44470aa64f Fix shells asking for "Run program"
After 63dc8f7ea0 `SPC '` started to ask
for "Run program" instead of opening the shell with the defined shell.

This commit remove the `call-interactively` that are causing this
problem. `SPC u SPC '` is still working as far as I tested.
2016-04-08 23:04:42 -04:00
syl20bnr
5752c87ac0 imenu-list: exclude IList buffer from golden-ratio 2016-04-08 18:20:50 -04:00
syl20bnr
3f0a261206 imenu-list: update README.org 2016-04-08 18:14:39 -04:00
bmag
6f2e2df275 Add imenu-list layer
imenu-list provides a side bar that shows all imenu entries of the
current buffer
2016-04-08 18:09:52 -04:00
sdlovecraft
ec0d233499 Added documentation for managing files 2016-04-07 23:19:39 -04:00
Nate Wolfe
8526ee7145 (5719) Fix multi-term shell popup
This commit removes the unused argument from the wrapper lambda, which
appears to be no longer provided when the function is called.
2016-04-07 22:15:36 -04:00
Fabien Dubosson
2b4a039646 Align vinegar/packages.el and update ranger/packages.el code style 2016-04-08 00:33:43 +02:00
syl20bnr
63dc8f7ea0 shell: add support for SPC u SPC ' to open shell in current buffer
Works as well for all `SPC a s ...` key bindings.
2016-04-07 14:52:41 -04:00
Eivind Fonn
64392e3fa5
Fix eshell setup for xterm-color
This makes sure that all the setup happens at the same time. Previously
some setup happened at loading time of esh-mode while some happened in
eshell-mode-hook. Everything output between this (the first prompt)
looks different.
2016-04-06 18:14:57 -04:00
Fabien Dubosson
0ec385c60c Fix misplaced keybinding definition for ranger 2016-04-05 13:39:17 +02:00