Commit graph

501 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
Fabien Dubosson
481c196cd5 Fix deer binding being overlapped by dired 2016-04-05 13:04:51 +02:00
Fabien Dubosson
57e91fe035 Correct more <SPC> to SPC 2016-04-05 12:52:54 +02:00
Joel McCracken
bc3c77e63e Do not delete window when there is only one
If ansi-term is a full-screen window, running `(delete-window)` in this
case would cause an error to appear. This commit guards against this
scenario.
2016-04-04 22:41:53 -04:00
Aaron Jensen
492974b969 tmux: remove global unset of C-h
This is unnecessary and prevents hybrid mode from having its normal help bindings.
2016-04-04 21:50:40 -04:00
Aaron Jensen
bb50218622 tmux: replace deprecated post-extensions with packages 2016-04-04 21:50:08 -04:00
syl20bnr
2bfcb8cd30 restclient: fix auto-mode-alist of ob-http configuration 2016-04-04 10:57:25 -04:00
syl20bnr
931652bf8d shell: register shell language for org-babel 2016-04-04 09:49:13 -04:00
syl20bnr
9e6c2e4775 restclient: lazy load ob-http 2016-04-03 00:35:15 -04:00
syl20bnr
3b0c1fd93d Convert org doc files with doc-fmt 2016-03-30 22:59:55 -04:00
Paul Schorfheide
ac71e1064c Update documentation for shell layer to support left or right position 2016-03-30 18:46:57 -04:00
syl20bnr
9d0558992c layers directory: create new categories
+chat
+checkers
+emacs
+intl
+os
+pair-programming
+tags
+theme
+web-services
2016-03-23 21:39:43 -04:00
Robert O'Connor
7625bcdae3 Fix minor markup hiccup in pdf-tools README 2016-03-04 12:18:56 -05:00
syl20bnr
39a3c1983c pdf-tools: README tweak and replacement of transient state key
- Replace `M-SPC` and `S-M-SPC` by the more conventional `SPC m .`
- Reorganize the code in packages.el
- Add image in README and list bindings with explicit `SPC m` prefix
2016-03-04 00:51:34 -05:00
Andre0991
919865a3b7 Add pdf-tools layer 2016-03-03 23:22:15 -05:00
NJBS
35d9e387de Fix ranger layer typos
Fix some trailing whitespace and key binding typos
2016-02-27 14:58:49 +01:00
james sangho nah
d45467b17e Remove extra close paren in README 2016-02-23 20:54:49 +01:00
Taylor
56a583f3ec Fix wakatime-dashboard url 2016-02-16 23:31:48 -05:00
justbur
3278a95edd tmux: Fix #4535 2016-02-14 23:16:23 -05:00
Diego Alvarez
7ed85b5169 fix command-log layer css path 2016-02-07 14:25:11 +01:00
syl20bnr
5a061b3813 core: new layer files packages-config.el and packages-funcs.el
Start to isolate the list of packages. Also we want to define packages
function at the top level of an elisp file in order to not prevent
emacs from knowing where the functions are defined.

This commit has a POC made with elfeed and elixir layers.
2016-01-31 00:03:04 -05:00
Eivind Fonn
2967df9877 Document vagrant-reload 2016-01-21 16:15:10 +01:00
Kosta Harlan
a6c521f7e9 Add keybinding for vagrant-reload
I use this fairly often, I imagine others do as well.
2016-01-21 16:13:18 +01:00
syl20bnr
33ead6fc42 Deprecation of extensions and <pkg>-excluded-packages variables
As announced in previous releases, see CHANGELOG.next for more info
in the Breaking Changes section.
2016-01-17 22:06:04 -05:00
syl20bnr
046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Fabien Dubosson
36f09b1b77 [doc] Change org wrong quoting -> =…= 2016-01-09 21:56:18 +01:00
justbur
b0ee301845 layers: Conditionally load helm packages
Only use them when the spacemacs-helm layer is used.
2016-01-09 13:36:03 -05:00
syl20bnr
cddf18ff1e Update install layer section in REAMDE.org files 2016-01-06 00:21:55 -05:00
Fabien Dubosson
6cb7399cac Change SPC f e h to SPC h SPC for helm-spacemacs default binding
This make `SPC h SPC` as default binding for accessing `helm-spacemacs`,
by either A) changing all the documentation; and B) adding a deprecation
message for `SPC f e h`.

The deprecation use a warning, because if a message is used it's hidden
directly when the helm buffer is shown, making it nearly unnoticeable
for the user.
2016-01-03 22:23:12 -05:00
Boris
14699cb8de don't force elfeed-org 2016-01-03 22:23:11 -05:00
syl20bnr
f9bd708311 elfeed: move J binding to gu and update documentation 2015-12-21 01:19:19 -05:00
Gergely Nagy
d9068c2154 elfeed: Add an unjam keybinding
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-12-21 01:14:49 -05:00
Fabien Dubosson
af76cd85e4 Add C-[jk] to navigate entries in elfeed-show 2015-12-19 22:37:10 -05:00
Bar Magal
ddb806827f Add command-log layer: logs key strokes, commands
Uses command-log-mode package, useful for createing demos.
2015-12-13 01:37:46 -05:00
Gergely Nagy
2b89037a7c +tools/elfeed: elfeed-goodies is on MELPA now
No need for a :location anymore, elfeed-goodies is on MELPA now.

Signed-off-by: Gergely Nagy <algernon@cloudera.com>
2015-12-07 19:34:29 +01:00
syl20bnr
e9f8653a34 Update layer REAMDE title for swift and elfeed 2015-12-03 23:51:31 -05:00
Eivind Fonn
c893383fe4 Fix some documentation bugs
- CSS links
- GIFS in published version
- Unify layer doc titles
- Change emoji layer emojis to an image
2015-12-03 23:50:29 -05:00
syl20bnr
2cfd284332 elfeed: add elfeed-goodies 2015-12-03 23:03:24 -05:00
syl20bnr
2c9e68ae6d elfeed: various fixes
Rename variable `elfeed-web-enabled-on-emacs-startup` to
`elfeed-enable-web-interface`
Change screenshot for a logo
Fix loading of elfeed when elfeed-enable-web-interface is non nil
Replace deprecated functions calls like `evil-leader/set-key` or
`spacemacs|evilify-map`.
2015-12-03 22:56:00 -05:00
d12frosted
df2de47c56 add elfeed layer 2015-12-03 21:25:50 -05:00
dotneter
658b8dfbf0 dash: Enable zeal on Microsoft Windows 2015-12-01 01:26:39 -05:00
justbur
9befd20a1a layers: Transition to new key bindings functions
Removes dependence on evil-leader centralizing control over the method
of key binding in core-keybindings.el
2015-11-21 18:22:51 +01:00
Eivind Fonn
c3866382b2 Documentation update
- Add #+HTML_HEAD_EXTRA options to all org files
- HTMLize published documentation via CSS
2015-11-13 14:23:13 +01:00
Joe Hillenbrand
1714e4bab7 fix obsolete method in vagrant layer
Fixes warning:

    Compiling no file at Tue Nov  3 13:42:42 2015
    ../../init.el:Warning: `vagrant-tramp-enable' is an obsolete function; use
        `vagrant-tramp-add-method' instead.
2015-11-04 20:21:26 +01:00
Eivind Fonn
13c5b1d24b Convert documentation to publishable format 2015-11-01 23:40:29 -05:00
Eivind Fonn
16e7ad2923 Clean up PATH documentation 2015-10-29 13:48:46 +01:00
d12frosted
a89a05ca9a add note about setting up $PATH 2015-10-29 13:48:46 +01:00
Diego Berrocal
54a2dd7643 Modify Wakatime Layer 2015-10-14 00:26:46 -04:00
person808
c1b6293268 Replace eval-after-load with with-eval-after-load.
We now backport the macro for 24.3 so we can use it everywhere.
2015-10-07 15:51:39 -04:00
Christoph Paulik
0dce7a648d Remove global ranger deer binding, document SPC a d 2015-10-06 21:24:26 +02:00
Diego Berrocal
e2e1fe515e Add config phase to Wakatime
This Adds the `spacemacs/wakatime-dashboard` function which opens the
dashboard in the browser.
2015-09-24 13:54:45 -04:00
justbur
6eab954afe Use + instead of ! for layer categories
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes #2737, because as far as I can tell "+" has no special
meaning in a helm pattern.

Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
2015-09-11 00:13:51 -04:00