Commit graph

656 commits

Author SHA1 Message Date
syl20bnr d97d2d410c core: remove a bunch of duplicate functions... 2015-09-25 00:27:52 -04:00
person808 952a848738 Add missing value to dotfile tests. 2015-09-23 18:08:28 -10:00
syl20bnr 7a2e604741 core: remove 'post value for :step property
post value for package :step property is both useless and considered
harmful. It would hijack the determinism of the loading order.

'pre value is used very very rarely and I even think it is not even
used since most of the time a package that must be loaded in pre step
is a bootstrap package. But we keep 'pre since it can be useful to
have it for _exceptional_ cases.
2015-09-24 00:02:02 -04:00
justbur 042f1635a5 evilified-state: Add C-z to emacs-state 2015-09-23 23:31:05 -04:00
syl20bnr 5402dae81b core: add new :location value -> built-in
Can be used to configure built-in packages
2015-09-23 22:01:47 -04:00
syl20bnr f294ba3887 core: remove 'private value for :location
While doing the tests I encountered an edge case where a package owned
by the dotfile could be passed either a 'private or 'local location
which is ambiguous (moreover where do we put packages with 'local
location ?).

We remove the ambiguity by removing the 'private value and push the
path ~/.emacs.d/private/local/pkg/ when the owner of a local
package PKG is the dotfile.

When the owner of a local package is a layer then the load path is
in the "local" subdirectory of the layer directory. It adds no value
to use the old 'private location in this case.
2015-09-20 00:49:18 -04:00
Eivind Fonn 92c792c18e Allow local packages without owner 2015-09-19 18:44:19 -04:00
syl20bnr ff2ff60830 core: fix configuration-layer/create-layer
Missing name parameter for configuration-layer//copy-template
2015-09-19 01:37:45 -04:00
syl20bnr c111ff24af core: make private location work with dotfile owner 2015-09-19 01:36:48 -04:00
Eivind Fonn c169b78eed Add private package location 2015-09-19 01:11:11 -04:00
justbur 89ec2d7096 Add back core-keys: Rewrite emacs-leader handling
Brings back the changes made in
dad786bc8d with an additional fix for
evil-org whose config was unbinding important leader keys in org-mode
2015-09-19 01:07:26 -04:00
syl20bnr fe4d6a7d79 core: fix dotspacemacs/install and tweak choice descriptions 2015-09-19 01:05:17 -04:00
Robert O'Connor 2a274767d3 Switch the default distribution to spacemacs
This will cause a lot of confusion for newcomers.
2015-09-19 01:02:51 -04:00
syl20bnr 220b15a734 Revert "core-keys: Rewrite emacs-leader handling"
This reverts commit dad786bc8d.
2015-09-17 23:41:48 -04:00
syl20bnr 3f18a09560 core: install and uninstall package from package-alist
Consult the archive only when the user actually update the packages.
Fixes #2956
2015-09-17 23:06:43 -04:00
justbur dad786bc8d core-keys: Rewrite emacs-leader handling
This is how evil-leader gets `SPC m` to work for mode specific bindings,
and we need to mirror this step for `M-m`. This is big change, but in
order for `M-m` to work properly we need to remap it to the mode-map
whenever possible.
2015-09-17 22:35:51 -04:00
Eivind Fonn fa32b9be5c More flexible additional packages
When the package already exists, use configuration-layer/make-package
to copy information into the existing package object.

This allows overwriting location, step and excluded, but NOT owner,
pre-layers or post-layers.
2015-09-17 22:32:54 -04:00
person808 7b43896910 Fix showing snippets in company popup.
Fixes #2387 #2051
2015-09-16 22:37:08 -04:00
Robert O'Connor b4e6e52d0e Remove Tromey.
Fixes #3049
2015-09-16 21:41:37 -04:00
justbur 02fbfbe74f core-conf-layer: Use NOSAVE for pack. update (v25)
Should fix #2849. The new package-delete tries to save changes to the
selected package variable during the update process and this can cause
conflicts with how spacemacs wants to update packages (and even lead to
the .spacemacs file being deleted. This is also unnecessary, because we
are only deleting the packages temporarily to be installed at the next
boot, so there should be no need to update this variable.

This change only affects Emacs 25 users.
2015-09-16 21:41:08 -04:00
Bar Magal b4c10a4749 Fix update error when a distant package is unavailable
Instead of error, show a warning that the unavailable package(s) were
skipped. This should handle situations were a package is temporarily
unavailable from MELPA (or other sources).
2015-09-16 21:38:40 -04:00
syl20bnr a4fd6407b2 core: tweak prompt for dotfile recovery 2015-09-16 21:37:42 -04:00
Christopher McCloud 44f1ee55d7 add recovery from malformed .dotfile to core
If spacemacs encounters errors on the initial load of the user
.spacemacs file, now defaults to loading the default template.
Additionally, temporarily suspends pruning of orphan packages to make it
easier for users to recover after they fix their dotfile.

Previously, errors would cause the spacemacs boot process to halt,
leaving users with an almost stock emacs configuration. Now, users will
have a default spacemacs available to them to fix the error.

adds layer preservation.

add prompt for preferred editing style on recovery

Remove advice after first run.

add dotspacemacs/safe-load as function.

moves style prompt into dotspacemacs/init advice

add hybrid as valid editing style.

move conditional into dotspacemacs/load-file.
2015-09-16 21:28:12 -04:00
Markus Bertheau 1054e6e7ce Add which-key prefixes for major-mode leaders
Without this, prefixes configured for `SPC m` bindings don't show up for
the major mode leaders.
2015-09-16 21:24:28 -04:00
Robert O'Connor 3f2e885811 Rename spacemacs-core to spacemacs-base
Per the discussion in #3002. A comment in #3047 prompted this PR.
2015-09-16 21:22:35 -04:00
Eivind Fonn 018c5c0908 Fix bug with define-prefix-command (2) 2015-09-16 16:40:39 +02:00
Eivind Fonn ac9c96fb1a Fix bug with define-prefix-command 2015-09-16 16:39:01 +02:00
Eivind Fonn a764eb4eb9 Fix version injection in home buffer
Don't inject version if banner is nil
2015-09-13 22:54:16 -04:00
syl20bnr 8aa4eadc74 core: move prefix funcs to new file core-keybindings.el 2015-09-13 22:53:15 -04:00
Eivind Fonn de64218dcd Add distribution to describe-system 2015-09-13 22:24:02 -04:00
justbur 098e43c8ff Temporary fix for #2995
This sets the default distribution back to spacemacs. This is for people
who for whatever reason don't set `dotspacemacs-distribution` in their
dotfile.
2015-09-12 13:52:52 +02:00
syl20bnr cd50d9c069 core: defer distro insertion in home buffer 2015-09-11 23:14:16 -04:00
syl20bnr 3b7d66d118 sync-configuration-layers: add option to skip tests 2015-09-11 23:04:55 -04:00
syl20bnr 77161bd591 core: restore default mode line in home buffer 2015-09-11 23:04:01 -04:00
syl20bnr 6e0ca23db8 core: set default distribution in template to spacemacs-core
Also remove version-control layer from template and add emacs-lisp
to initial value for dotspacemacs-configuration-layers
2015-09-11 23:00:33 -04:00
justbur f59cb5b215 core: Add choice of distro on install
Ref #2926
2015-09-11 21:27:36 -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
syl20bnr 91bb21788f core: simplify and fix visual state in evilified buffers
Fix cherry-pick of selected commit in visual state
2015-09-09 23:45:05 -04:00
syl20bnr c17db0dcb0 core: minor update of warning message when a layer does not exist 2015-09-09 23:45:04 -04:00
justbur cc9287863b core: Fix #2952 by not loading missing layer
This issues a warning if the layer was declared in the dotfile but not
found through the layer discovery mechanism.
2015-09-09 23:45:04 -04:00
syl20bnr b53b5db967 spacemacs-core: remove SPC f e s and SPC f e c
Now the user should use `SPC f e h` helm-spacemacs.
This is due to the fact that spacemacs layer is now a regular layer
stored in the "layers" directory.
2015-09-08 01:01:46 -04:00
syl20bnr 6b33031dc5 core: dotspacemacs-distribution, spacemacs-core layer and rename contrib
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
  spacemacs-core (default spacemacs)

spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.
2015-09-07 23:44:43 -04:00
syl20bnr 37609161c8 tests: Add configuration layer functional tests 2015-09-07 19:42:22 -04:00
d12frosted c43a8e958e respect setting startup banner to nil #2911 2015-09-07 14:26:33 -04:00
syl20bnr d44b9429dc core: add default value to docstrings in dotfile template 2015-09-07 01:06:29 -04:00
ralesi 2ccb4ab7df Allow specification of helm location. 2015-09-07 01:06:29 -04:00
syl20bnr d11fb1c4a0 core: add variable dotspacemacs-helm-no-header
Hide the helm header whenever there is only one source.
Also correctly set back the default height for headers.
2015-09-07 01:06:29 -04:00
d12frosted 8440a380f2 fix setting custom banner path 2015-09-07 01:06:27 -04:00
syl20bnr 555927c7ec core: use package-alist to resolve orphans
instead of the downloaded package archive. It fixes a case where
a package maintainer removes a dependency D of a package P and spacemacs
detects it which has the effect of deleting the obsolete package D, but
package-alist is not yet updated, because package-alist is updated only
when P is reinstalled (or upgraded).
2015-09-07 01:06:27 -04:00
justbur bd8369918b Clean-up which-key dotfile options 2015-09-07 01:06:27 -04:00
Tim Jäger 91057d5986 Switched dotfile options to which-key
Renamed option
Added buffer position option
Updated template
Updated documentation
2015-09-07 01:06:27 -04:00
d12frosted 82c905559a fix return binding in terminal for spacemacs-mode 2015-09-04 09:38:15 +02:00
syl20bnr 8adc82d1ae core: actually read :disabled-for layer property
Also it is not need to pass a list, example:

```
(setq dotspacemacs-configuration-layers
   '((auto-completion :disabled-for org git)))
```

Will disable auto-completion for org and git layers.
2015-09-03 13:17:02 -04:00
syl20bnr 88d30d7074 core: add :disabled-for keyword for declared layers
Example:

(setq dotspacemacs-configuration-layers
'((auto-completion :disabled-for (org))))

Will not run any org/pre-init-xxx or org/post-init-xxx functions where
xxx is a package owned by the auto-completion layer.

Limitation:

If ownership of an auto-completion package P is stolen by another layer L
then :disabled-for must also be declared with L, otherwise the P will
be configured for org.

(setq dotspacemacs-configuration-layers
'((auto-completion :disabled-for (org))
  (L :disabled-for (org)))

The user should not change the default owner of a layer unless really
required (for instance to use his own fork).
2015-09-02 23:10:30 -04:00
syl20bnr 719080f533 core: rename configuration-layer/filter-packages to
configuration-layer/filter-objects
2015-09-02 23:10:30 -04:00
Eivind Fonn 973a1b6c48 Bugfix: call user-config when syncing layers 2015-09-02 08:28:02 +02:00
syl20bnr fba874d64d core: add hybrid as allowed value in dotfile 2015-08-31 23:35:28 -04:00
syl20bnr 92b8c31e36 core: always execute all dotfile tests 2015-08-31 23:27:18 -04:00
syl20bnr cf5e12100d core: save dotfile before executing the tests 2015-08-31 23:26:47 -04:00
syl20bnr 18611cfbd2 core: compute list of dotspacemacs variables for init tests 2015-08-31 23:16:14 -04:00
syl20bnr 04b2a3a459 core: tweak dotfile test results buffer modes
Make it read-only in view mode with indent mode one.
Disable flyspell if necessary.
2015-08-31 22:14:12 -04:00
syl20bnr 40c01e67b7 core: wrap long lines in core-dotspacemacs.el 2015-08-31 22:08:10 -04:00
syl20bnr c688f29738 core: rename dotspacemacs/config to dotspacemacs/user-config
in template dotfile.
Display a warning when dotspacemacs/config is encountered; support for
dotspacemacs/config will be dropped in 0.105.0
2015-08-31 22:02:43 -04:00
syl20bnr 26b2a5c029 core: execute dotfile tests when SPC f e R
The test results buffer is displayed only if there are errors.
Make dotspacemacs/test-dotfile return non-nil when all the tests passed.
dotspacemacs/test-dotfile takes an optional parameter to hide the
result buffer.
2015-08-31 21:52:47 -04:00
justbur a30695c459 Convert dotspacemacs-tests to org-mode output 2015-08-31 21:26:10 -04:00
justbur 51022543a8 Add tests for correctness of .spacemacs
Note this makes a critical (but backwards compatible) change
to .spacemacs.template
2015-08-31 21:26:03 -04:00
Eivind Fonn c6ba7d9300 Refactor test system
Should allow easier testing of layers, not just core
2015-08-31 21:16:34 -04:00
ralesi 4d96e652ad Set up resize setting to enable auto-resize for helm. 2015-08-30 23:54:11 -04:00
Eivind Fonn b981bf5739 Don't produce on/off toggles if status is nil
They don't make sense in this context, and will produce unexpected
results.
2015-08-26 22:27:09 -04:00
Robert O'Connor 7da1b876aa Add a rev number to SPC hds.
Describe system information was useless if we don't know which rev.
people are using. This adds this information.
2015-08-26 21:59:51 -04:00
Ben Booth a8582813c0 fix typo 2015-08-26 21:57:22 -04:00
Christopher McCloud 09de9ba86c adds helm-find-contrib and helm-find-spacemacs.
Set as default unless user has dotspacemacs-use-ido t.
Adds comments to .spacemacs.template informing users of new behavior
tied to dotspacemacs-use-ido.
2015-08-26 21:38:01 -04:00
syl20bnr 1f367476df core: move evil-want-C-u-scroll
In a near feature we should remove this setting, we should not
shadow the universal prefix argument
2015-08-26 21:33:25 -04:00
sooheon f3cb4399ba Remove duplicate call to dotspacemacs/init
As far as I can tell this seems to be the exact same function call.
Unless there's a reason for it to be in both places, we should take
it out.
2015-08-26 21:31:50 -04:00
syl20bnr 6318f009bc core: add new function to allow a layer to add other layers
- configuration-layer/declare-layers
- configuration-layer/declare-layer

These functions can be used in the config.el file of a layer to add
required layers.

For instance the react layer needs both html and javascript layers.
salt layer needs the yaml layer (see the following commits)
2015-08-26 02:41:54 -04:00
syl20bnr 5c26c892dc core: fix tests 2015-08-25 22:56:23 -04:00
syl20bnr a8f6afaf13 core: fix resolution of orphan packages
Fix a bug were distant packages with no owner were not deleted.
2015-08-25 22:52:26 -04:00
syl20bnr d255cae4b8 core: refactor layer loading
Prepare the field for some kind of layer prerequisites required by
react and yaml layers
2015-08-25 22:28:30 -04:00
syl20bnr 8a5f454c32 core: fix installation of package dependencies 2015-08-15 00:08:21 -04:00
syl20bnr 50b3b4c99a core: add support for recipe update 2015-08-15 00:07:56 -04:00
syl20bnr 437a819ea1 core: inline recipe in package list
It is now possible to override the recipe in a custom layer.

For instance to override the recipe R for package P in layer L
In a private layer L' put at the end of dotspacemacs-configuration-layers
and listing P with an init function for P, L' becomes the ower of
P and the recipe R' defined in L' overrides the recipe R.
2015-08-14 15:31:22 -04:00
justbur 568e464ca3 Fix #2148: Update failure in Emacs 25
The `package-delete` function refuses to delete a package that is a
depency by default, which prevents the spacemacs update function from
working most of the time.

This commit sets the flag to force deletion for Emacs 25.
2015-08-14 14:39:34 -04:00
syl20bnr e410812d59 New macro dotspacemacs|symbol-value and improved diminish
Now it is possible to have unicode symbols in GUI and not in
terminal using emacsclient

Do to so, dotspacemacs-mode-line-unicode-symbols must be set to
the symbol 'display-graphic-p which will be lazily evaluated
via the macro dotspacemacs|symbol-value

This is especially useful for users having troubles with unicode
characters in their terminal but wants to use them in GUI client.
2015-08-14 12:25:54 -04:00
syl20bnr 6e2bbd2979 Put spell-checking as default in dotfile template 2015-08-13 23:01:44 -04:00
syl20bnr e8072b0057 Fix returned local dir value in python and rcirc layers 2015-08-13 09:02:03 -04:00
syl20bnr 62c6462ae9 core: fix nil :owner on package dependencies
Fixes #2643
2015-08-13 09:00:18 -04:00
justbur 16cb070acb Add hybrid-mode 2015-08-13 01:37:03 -04:00
syl20bnr b45f3b0d0a core: the owner of a package can override some properties
Allowed properties to be overridden are: location, step and excluded
This mechanism allow the user to alter the location of a given
package, for instance if she wants to use her own fork instead of the
version in ELPA.

Note that for now there is no easy way to override the package recipes.
2015-08-13 01:23:39 -04:00
syl20bnr be068f99bc core: fix variable evil-evilified-state--modes 2015-08-13 00:42:24 -04:00
syl20bnr 1c8d90c856 core: add support for quelpa recipes 2015-08-12 23:56:24 -04:00
Robert O'Connor ba63987030 Fix the path for loading solarized.
Once all extensions were moved from "extensions" to "local",
spacemacs was no longer able to find the solarized themes.

Thanks to @TheBB for helping narrow this down!

Closes #2628
2015-08-12 03:12:52 -04:00
syl20bnr ebe4540752 core: missing file :-)
time to sleep!
2015-08-12 01:49:30 -04:00
syl20bnr 4b2d275fb5 core: move back evilify macros to their own file
Fixes tests
2015-08-12 01:48:51 -04:00
syl20bnr 75f2db862b move evilified state to core 2015-08-12 01:31:44 -04:00
syl20bnr 1514c6e7d3 core: fix bug in package-usedp
It returned t even if the package has no owner.
Fixes #2601
2015-08-11 23:25:00 -04:00
syl20bnr 4148fdff56 core: add support for local directory 2015-08-11 19:45:28 -04:00
syl20bnr 5b94e3ab8a Update change log and releae notes 2015-08-11 01:34:04 -04:00
syl20bnr 038fc23c0d spacemacs layer: fix various issues with ahs micro-state
- made it work with *
- fix go to definition
- don't use the minibuffer
2015-08-10 23:56:40 -04:00
syl20bnr e2bdc25396 core: fix mandatory package and extension list variables 2015-08-10 21:22:28 -04:00
syl20bnr ba47013e32 Update change log and release note 2015-08-10 09:11:14 -04:00