Commit graph

26 commits

Author SHA1 Message Date
Thanh Vuong ae65f3cedd
Fix #14213 remove dash and ht from core libs
- delete dash and ht in core
- reimplemented all ht functions we need in `spacemacs-ht.el` and use them
- add dash to spacemacs-bootstrap
2021-02-07 22:22:39 +01:00
syl20bnr 52ec07bb44 [core] Fix installation of unused layer dependencies after SPC h SPC
Fix bug where layer dependencies of all layers (even the unused ones)
are installed after SPC h SPC and then SPC f e R
2020-08-29 21:51:52 -04:00
duianto 27178f23e9 Fix helm-spacemacs-help-faq, SPC h f
The function: helm-org-get-candidates was removed upstream.

Improvements:
Recenter the target candidate.

Reversed the helm headings list, to match the order of the
questions in FAQ.org, so that the Common questions are
listed first.

Removed the : (colon) after the heading: How do I
in FAQ.org, to match the other parent headings.
2020-01-25 17:37:47 +01:00
Zach Latta 1d2a1fa6e4 Fix capitalization of GitHub
Change instances of "Github" to "GitHub".
2020-01-20 09:14:12 +01:00
kimr da80634370
converted cl to cl-lib 2019-12-14 20:20:51 +00:00
Maximilian Wolff dd7a5d98be
Revise helm recompile package action and bind recompile-elpa
The newly introduced function to compile an elpa package
was very much redundant with the existing recompile-elpa function.

I have adapted recompile-elpa so that it can be used for the helm action too.

In addition I have bound recompile-elpa to `SPC c C-c` to allow users to
easily recompile their entire elpa directory if the need arises.

I have also removed the error handling in the helm action in favor of
standard error reporting via the *Compile-Log* buffer.
2019-11-24 02:07:15 +01:00
Gia Thanh Vuong 94de754504
[core] [helm] add action to recompile an elpa package
How to use: `SCP h p` select package then `F3` or `C-z` and choose `Recompile`

Motivation: Some packages when compiling need other packages to be loaded first.
The pacakage maintainers should make sure of this requirement but sommetimes
they don't. It also doesn't help when Spacemacs is lazy loading and compiles
updated pacakges on startup. So the manual fix for this problem is recompile the
package once Spacemacs has fully loaded. This requires user go to the package
install location to delete elc files and then do a `spacemacs/recompile-elpa`.
This commit will do that chore for them.

This will make fixing the problem with `org-plus-contrib` or `dumb-jump` update
every now and then easier.
2019-11-23 23:40:50 +01:00
Boris Buliga ecce0197f8
add actions to open funcs.el and layers.el from layers help 2018-10-18 19:33:29 +03:00
syl20bnr e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
David Florness 81dd44ef72 Fix typo 2017-06-04 21:39:56 -05:00
syl20bnr 6b6d365b96 Speed up SPC h SPC by moving FAQ source in its own feature
Getting FAQ candidates requires org to be loaded which in turn requires to
load magit (via orgit) etc...

This commit moves the FAQ helm source to a new feature helm-spacemacs-faq and
removes the FAQ source from SPC h SPC so the FAQs are only available as a helm
source via SPC h f.

But we have still the FAQ org file entry in SPC h SPC so it is easy to open
the file from the main help key binding.
2017-01-15 22:19:56 -05:00
syl20bnr 3162f0e19b core: factorize code in configuration-layer/make-all-packages 2017-01-15 22:19:56 -05:00
Nikolai Myllymäki 1899666592
Show correct headline for beginners tutorial in SPC h SPC 2017-01-04 20:26:48 +02:00
Diego Berrocal 704e103394 Add open packages.el shortcut in spacemacs-help
I find myself wanting to open the package.el and f3 is just too far away
in my keyboard. And I thought maybe this would be something people might
want. Also maybe we could have special binding for actions? like `C-1`
`C-2`, etc
2016-10-17 14:03:21 +02:00
syl20bnr 03f9f9f700 core: contain side effects when loading packages for SPC h SPC
Fixes some edge cases like SPC f e R performed after SPC h SPC which
could wrongly install or uninstall packages.

Side effects is contained using the variable
configuration-layer--package-properties-read-onlyp, if non nil then
properties value of a package cannot be overwritten.
2016-09-05 20:54:07 -04: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
d12frosted 5c5ca4e7a3
add open config action to layer spacemacs help 2016-07-17 09:57:13 +03: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
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
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
Eivind Fonn 845c42d252 core: add predicate function for toggles
Also use output in Spacemacs help sources
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 818867e012 Fix package sources for ivy and helm 2016-05-29 21:12:54 -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