Commit graph

38 commits

Author SHA1 Message Date
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
Alexander Dalshov
c4008169c6 fix: ycmd don't search for compilation DB in subfolders 2018-02-17 16:09:06 -05:00
JAremko
6717fc02cc add features list to the ycmd layer readme 2018-01-27 16:58:06 +02:00
JAremko
d2c3b847d8 doc fmt 2018-01-27 16:57:39 +02:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
Nir Friedman
f3dbeec5dc Add manual semantic completion function for company to ycmd layer 2017-12-19 00:14:01 -05:00
Nir Friedman
2ce1e367c0 Remove ycmd warning for unset var; always fires 2017-12-19 00:09:02 -05:00
Nir Friedman
589d341d67 Add manual completion function to ycmd layer 2017-12-19 00:02:50 -05:00
JAremko
06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03:00
Abdo Roig-Maranges
67cdbcc552 ycmd: python3 compatibility fix for global_conf.py 2017-07-06 15:44:03 +02:00
Eivind Fonn
f4b53d2a4f Rename :depends to :requires 2017-07-03 09:54:53 +02:00
Eivind Fonn
08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
Eivind Fonn
dd4bd6ddee ycmd: bugfix 2017-06-01 10:52:02 +02:00
Eivind Fonn
d50b12d886 ycmd: more flexible file search 2017-05-31 15:25:37 +02:00
Amos Bird
18c1e12342 search compile_commands.json in build subdir 2017-05-31 15:21:13 +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
b296a93929 ymcd: simplify eldoc integration
ycmd-eldoc is not a package, it is a feature provided by ycmd package.
Use regular post-init mechanism to setup eldoc.
2017-01-05 23:13:45 -05:00
syl20bnr
fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
Nir Friedman
0dfafc7604
Add ycmd-eldoc to ycmd layer 2017-01-04 19:25:08 +02:00
deb0ch
dc14a5062a ycmd: improve search of nearest file in compilation database 2016-10-17 14:02:29 +02:00
Jasper v. B
ea862f18cf Add a note about filename expansions
This is mentioned in
[emacs-ycmd](https://github.com/abingham/emacs-ycmd#quickstart)
documentation as well, but it doesn't hurt to have it here as well.
2016-10-08 19:27:53 +02:00
deb0ch
f4c9cd8871 ycmd layer: do not parse buffer on newline insertion
Dramatically improves ycmd performance on large projects.
2016-10-08 19:23:28 +02:00
Eivind Fonn
a5fa48f1db Additional ycmd fixes 2016-08-30 15:59:17 +02:00
deb0ch
88742b564f ycmd layer: a better global_conf.py 2016-08-30 15:59:15 +02: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
Dionysis Athinaios
5ec5882974 Provide more details for ycmd installation and configuration 2016-06-12 21:49:07 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -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
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
Stefan VanBuren
048da9d320 Fix typo in README.org 2016-04-21 21:08:11 -04:00
syl20bnr
3b0c1fd93d Convert org doc files with doc-fmt 2016-03-30 22:59:55 -04:00
syl20bnr
cddf18ff1e Update install layer section in REAMDE.org files 2016-01-06 00:21:55 -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
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
Eivind Fonn
13c5b1d24b Convert documentation to publishable format 2015-11-01 23:40:29 -05: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