Commit graph

6759 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 6bb73f193f Fix emmet expansion if yas isn’t turned on 2016-07-27 15:52:51 +09:00
bmag 7ca4cc0554 Refactor useful/useless buffer functions
Better readability, better detection if mode derives from comint-mode,
and doesn't alter the match data (string-match-p vs. string-match).
2016-07-27 15:29:13 +09:00
Robert O'Connor 3ebdb1c0ec
github layer: fix table formatting in README 2016-07-26 22:58:34 -04:00
Ista Zahn 84580b1d80 User configurable default company-backends 2016-07-26 16:33:42 +09:00
eareese 421b97f36f Correct key binding 2016-07-26 16:22:03 +09:00
Eivind Fonn 5029734846 tmux: bind named functions instead of lambdas 2016-07-26 14:33:45 +09:00
zilongshanren bd760ceebc
fix chinese layer readme 2016-07-25 18:16:32 +03:00
d12frosted 95df82ac23
fix spacemacs|use-package-add-hook usage docstring 2016-07-25 18:04:05 +03:00
bmag fe60d0fc1e Set buffer-predicate to spacemacs/useful-buffer-p
Prevent next-buffer, other-buffer, etc. from choosing useless buffers.
No need for spacemacs/next-useful-buffer,
spacemacs/previous-useful-buffer anymore.

Also fix spacemacs/alternate-buffer to respect buffer-predicate.

When spacemacs-layouts is used, buffer-predicate filters useful buffer
that belong to the current layout.
2016-07-25 20:02:28 +09:00
Aaron Jensen 141be7f8c2 elixir: fix smartparens hook
Fixes #6660
2016-07-25 19:36:07 +09:00
Eivind Fonn bef1295094 Scala: README line lengths 2016-07-25 14:11:17 +09:00
Diego Alvarez 80f8c84d64 Improve documentation for scalastyle 2016-07-25 14:09:22 +09:00
ivanbrennan 3c85dd7f0c fix typo in VIMUSERS Customization section
Pluralize "four top-level functions".
2016-07-25 14:03:55 +09:00
Eivind Fonn 8e87132ba7 Fix possibly calling bad code after theme change 2016-07-25 14:00:02 +09:00
Jeremy Bi e89c3ef309 Silent next-error-find-buffer when no error buffer found 2016-07-25 13:49:50 +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
Bar 8999fba7de Issue template: direct link to bug report template
Bugs that make Spacemacs unusable can't be reported from inside Spacemacs, so I added a direct link to the template used by `SPC h I`. The link is to the file in develop branch, and not master, because I assume it will be more up-to-date than master.
2016-07-25 12:27:03 +09:00
Andre0991 93940af74c Add shortcuts for full left and right scroll 2016-07-25 12:22:20 +09:00
Cifer-Y 2e9e44e0e9 add support for omtose-phellack-theme
(omtose-darker and omtose-softer)
https://github.com/syl20bnr/spacemacs/issues/6657
2016-07-25 12:15:58 +09:00
Eivind Fonn 9c76193c77 Move exec-path-from-shell to pre 2016-07-25 12:12:31 +09:00
Diego Alvarez 1b5bc13d35
Update ensime logo 2016-07-22 13:18:33 +03:00
d12frosted 93cfb7f4ff
update notes about powerline separator colours 2016-07-22 13:10:41 +03:00
Caleb Meyer 94d71cda83
Fix notes on wrong powerline separators
I recently uninstalled railwaycat's emacs-mac-port (the old
recommendation for OS X) and installed @d12frosted's emacs-plus.

When I did that my powerline separators became just slightly off in
color from the rest of the spaceline. Asking on chat yielded that
ns-use-srgb-colorspace is set to true by default but should be nil.
2016-07-22 12:59:29 +03:00
Robert O'Connor 74d6a6fcad
Revert #6576; TL;DR: We no longer need to do this.
See justbur/evil-magit#24 and 4a375ea304
2016-07-22 12:52:23 +03:00
John Johnstone ff69db7b56
Fix spelling in saltstack layer 2016-07-22 12:51:24 +03:00
Christoph Hegemann 985a07b71c add keybindings for goto definition functionality 2016-07-21 12:13:34 +02:00
Eivind Fonn 9773ad611f Clean up gtags readme 2016-07-17 17:36:07 +02:00
Christian E. Hopps b22702bc9e Expand gtags use to many more languages 2016-07-17 17:31:59 +02:00
Eivind Fonn 7a440195a8
Fix some intero functions 2016-07-17 10:00:34 +03:00
d12frosted 5c5ca4e7a3
add open config action to layer spacemacs help 2016-07-17 09:57:13 +03:00
NJBS 37ce95b362 Use Quelpa file fetcher instead of url
An upstream issue with Emacs causes local file urls to incorrectly be
interpreted as FTP addresses on Windows, see #6602.
2016-07-17 02:04:14 -04: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
d12frosted 41baea8744
install evil-unimpaired using quelpa
And properly setup dependencies.

Fixes #6523
Suppresses #6559
2016-07-15 15:14:04 +03:00
d12frosted 46cc89457d
allow to install local package using quelpa
Package can be installed using quelpa if it's defined as in following
example.

(package-name :location (recipe :url local))
2016-07-15 15:13:56 +03:00
Muneeb Shaikh 5ae1013854 ivy: remove extra projectile-switch-project binding 2016-07-14 20:37:05 +05:30
d12frosted 5c371f0843
minor update to magit-gh-pulls documentation
- fix grammar
- add note about `# o` key binding
2016-07-14 14:26:06 +03:00
Robert O'Connor 7d5a9e0b0f
Fix magit-gh-pulls docs
- #g -> #r -- #g was not defined.
- add docs for getting s diff of the current PR
- wording fix
2016-07-14 06:15:07 -04:00
syl20bnr 653da2a6aa highlight-persist/smartparens overlay: better adaptive face
Choose to inherit from face lazy-highlight instead of region.
Ideally a theme should not set lazy-highlight to the same face as
region.

Also move some function to funcs.el and remove some empty lines.
2016-07-13 10:22:03 -04:00
Muneeb Shaikh 304e338738
fix rename-current-buffer-file for OS X
`read-file-name` expects directory and not filename.
Fix #4383 #6547
2016-07-12 09:42:35 +03:00
Muneeb Shaikh 98499a0cb1
ivy/search-engine: fix call to ivy search engine select 2016-07-12 09:27:29 +03:00
NJBS 35646d684b Fix typo in docstring 2016-07-11 18:26:53 -04:00
syl20bnr f1247c8d18 core: new variable dotspacemacs-frozen-packages
Packages listed in dotspacemacs-frozen-packages cannot be updated or
rollbacked.
2016-07-09 14:58:30 -04:00
syl20bnr e7dcf16670 core: rename configuration-layer--skipped-packages
to configuration-layer--check-new-version-error-packages
2016-07-09 14:58:30 -04:00
syl20bnr ad3eb41c52 core: use version info and package desc for dependencies
when installing from ELPA repositories.
2016-07-09 14:58:30 -04:00
syl20bnr 2152f66b9f core: add min-version keyword to package list
Providing a min-version allows to fetch the elpa version of a built-in
package. For intance to install python mode from GNU elpa, add to
the dotspacemacs-additional-packages:

(python :location elpa :min-version "0.25.2")
2016-07-09 14:58:30 -04:00
Muneeb Shaikh 212944ac2b
ivy: fix open spacemacs doc function
fix #6513
2016-07-08 09:04:24 +03:00
d12frosted 6fb7adfe3c
fix call to show-all
And also move back it to spacemacs-base layer
2016-07-07 15:34:22 +03:00
syl20bnr 9499e24197 Comment evil-terminal-cursor-changer instead of excluding it
We should not exclude packages just to disable their config and
preventing them from being installed.
2016-07-06 22:49:24 -04:00