Commit graph

203 commits

Author SHA1 Message Date
JAremko 96be9c9aeb zonefy 2017-04-09 23:26:14 -04:00
syl20bnr be7ba7f920 core: filter out private vars in dotspacemacs/get-variable-string-list 2017-02-05 20:28:10 -05:00
deb0ch a28e17c4d3 line numbers: finer configuration of line numbers activation 2017-02-05 12:47:19 -05:00
syl20bnr 415b29b140 core: dotspacemacs-themes entries now accept package properties
It is now possible to use package properties like :location in
dotspacemacs-themes.

Added hooks ran at the beginning and end of configuration-layer/sync:
- configuration-layer-pre-sync-hook
- configuration-layer-post-sync-hook

configuration-layer-pre-sync-hook is used to hook the new function
spacemacs//add-theme-packages-to-additional-packages. This new function updates
dotspacemacs--additional-theme-packages variables.

Update documentation to mention the new feature.
2017-02-01 22:59:03 -05:00
syl20bnr b3c8ebc816 core: improve theme application
Add all theme packages defined in dotspacemacs-themes to the variable
dotspacemacs-additional-packages and delay the application of user theme at the
end of startup (only when user theme cannot be applied at the very beginning
of Emacs startup).

This has nice properties:
- we leverage the layer system to handle the theme packages installation and
  cleanup.
- theme packages are automatically owned by the dotfile preventing them from
being garbage collected.
- the protected package mechanism is now obsolete since themes were the last
packages using it. This mechanism may be removed in a near future.

Thanks to TheBB for the initial idea.
2017-01-25 23:37:57 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
syl20bnr 467a5cc0ff core: move some functions to their correct source file 2016-12-18 12:05:10 -05:00
Markus Koller 766c284332 Disable paste transient state by default
To match the default configuration template which also disables it.
See https://github.com/syl20bnr/spacemacs/issues/6251#issuecomment-262289770
2016-11-24 23:05:55 +01:00
syl20bnr e699f1816a core: wrap Emacs custom in a dotfile new function
New function `dotspacmacs/emacs-custom-settings` wrapping Emacs
custom settings sexps.
`dotspacemacs/emacs-custom-settings` is called just after the user
configuration (`dotspacemacs/user-config`)

Customize cannot write its auto-generated sexps inside a function, to
accomplish this we trick Emacs by setting the custom file to a file
in `.cache` directory, the path to this file is defined by the variable
`spacemacs--custom-file`. At the startup of Emacs we read this file
to insert its content inside the function
`dotspacemacs/emacs-custom-settings` in the dotfile, this is done in the
function `spacemacs/write-custom-settings-to-dotfile`.

I don't think we need to write the custom settings to the dotfile when
exiting Emacs as well, since we do it at startup at the very beginning
(i.e. before actually loading the dotfile) we should be OK.

Fixes #5170
2016-11-22 22:55:36 -05:00
Aron Griffis 385c12743a Add ripgrep support
* Add rg to helm completion layer
* Add rg to ivy layer
* Prepend rg to dotspacemacs-search-tools
* Add rg to documentation
2016-11-11 15:22:03 +02:00
syl20bnr 2c4cd4dd42 core: Revert dotfile installation time and fix editing style bug
Force a call to dotspacemacs/init after dotfile installtion.
Move call to (spacemacs/maybe-install-dotfile) to spacemacs/init.
2016-11-07 10:40:39 -05:00
syl20bnr caca16052a core: remove empty function dotspacemacs//install-and-replace 2016-11-07 10:24:51 -05:00
bmag e5c9632678 New dotvariable to control switch-to-buffer behavior
With a nil value for dotspacemacs-switch-to-buffer-prefers-purpose,
switch-to-buffer prefers using the current window, same as vanilla
Emacs. With a non-nil value, switch-to-buffer prefers another window
with the same purpose as the buffer. This affects actions like
spacemacs/alternate-buffer, and opening buffers from Dired.
2016-10-23 19:44:35 +02:00
Eivind Fonn 1a97aeb215 Warn if layers changed outside dotspacemacs/layers 2016-10-18 10:13:17 +02:00
Aku Kotkavuo f478686c69 Fix typos 2016-10-17 13:52:09 +02:00
syl20bnr d6a286d176 Revert "Set default value of dotspacemacs-startup-lists to nil"
This reverts commit 36f861aaff.

This is indeed very useful for new users (and the others :-))
2016-10-16 22:33:05 -04:00
syl20bnr 62f08d89fb Rename dotspacemacs-ex-key to dotspacemacs-ex-command-key
Also move the configuration to evil init function.
2016-10-09 21:28:09 -04:00
Dietrich Daroch d1457feafb Restore easy ex-command remap
Pressing semi-colon is easier than the default colon.

Added ex-key defvar too
2016-10-09 13:21:31 -04:00
syl20bnr 36f861aaff Set default value of dotspacemacs-startup-lists to nil 2016-10-09 12:25:56 -04:00
syl20bnr 03c1b5c466 core: Add an alias for dotspacemacs-enable-paste-micro-state 2016-10-03 00:23:15 -04:00
Eivind Fonn e207038208 Add dsm variable for responsive home buffer 2016-09-03 12:07:03 +02:00
Eivind Fonn 2ef8c00e6b Add global bound on startup list lengths 2016-09-03 12:06:57 +02:00
syl20bnr 1e64768fb7 core: rename dotspacemacs-download-packages
Rename dotspacemacs-download-packages to dotspacemacs-install-packages
to better reflect the changes in the previous commit.

Also change the value 'used to 'used-only (note that 'used is still
supported for backward compatibility).
2016-08-19 21:31:57 -03:00
syl20bnr 64d3eb953e Standardize docstring for dotspacemacs-helm-use-fuzzy 2016-08-18 22:51:10 -03:00
Nir Friedman ed1f782bdf Add option for helm fuzzy matching
Change-Id: If3f59e53fa954c230938876184852d1a34f3e7d3
2016-08-17 20:53:45 +02:00
Eivind Fonn 36f3b63079 Make elpa directory more flexible
- Rename variable to dotspacemacs-elpa-subdirectory
- Allow arbitrary form to be evaluated
2016-08-13 14:21:01 +02:00
Bar Magal 6b23983205 core: different elpa dir per emacs version
For emacs 24.5 packages will be installed in .emacs.d/elpa/24.5, for
emacs 24.4 packages will be installed in .emacs.d/elpa/24.4, etc.
For a user that uses several emacs versions with the same config, the
packages for version X will be in .emacs.d/elpa/X and the packages for
version Y will be in .emacs.d/elpa/Y.  This is instead of using the same
.emacs.d/elpa and possibly having copmiled elisp packages the are
incompatible with one of the emacs versions in use.

Rollback directories are also separated by version:
.cache/.rollback/24.5, .cache/.rollback/24.4, etc.
2016-08-13 14:02:06 +02:00
bmag 1aacf4003d Create $SPACEMACSDIR/init.el when needed
Don't fallback to default init file when SPACMACSDIR is used and
$SPACEMACSDIR/init.el doesn't exist. The file will be created during
the startup process.
2016-08-07 16:24:55 +02:00
bmag 6d60d2ef05 Prefer $SPACEMACDIR/init.el over ~/.spacemacs
If SPACMEACSDIR is used, and both $SPACEMACDIR/init.el and ~/.spacemacs
exist, use $SPACEMACDIR/init.el as the dotspacemacs file.
2016-08-07 16:24:52 +02:00
syl20bnr 9d72b12245 change default value of dotspacemacs-check-for-update to nil
Since git commands contacts remotes hosted on GitHub this settings
should be an opt-in.

Fixes #6692
2016-08-03 20:47:09 -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
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
d12frosted 5b9e84ea72 improve font documentation
- make it clear that setting dotspacemacs-default-font has no effect in
  terminal
- make it clear that it's user responsibility to install Source Code Pro
  font
2016-07-05 00:23:16 -04:00
ralesi 1a13cba730 Fix #6429, provide tests for new startup-list. 2016-06-26 14:09:12 -04:00
d12frosted 86c7796fa8 allow to set dotspacemacs-filepath 2016-06-26 14:07:16 -04:00
ralesi 052142ab33 Add list length designstion to startup-list.
* Allow dotspacemacs-startup-list to contain cons cells, specifying list
  length for items.
* Deprecates dotspacemacs-startup-recent-list-size
2016-06-24 18:52:08 -04:00
syl20bnr dc94784e70 Remove leuven theme from spacemas-ui-visual and simplify default value
for dotspacemacs-themes, set only the spacemacs themes.
2016-06-12 21:15:10 -04:00
Albin Ludvig Otterhäll 9e3f75a36f Remove references to Solarized themes
Solarized themes has been removed from the default distribution of
Spacemacs.
2016-06-12 21:12:34 -04:00
syl20bnr f23ecf0b12 Rename +distribution to +distributions 2016-06-08 22:17:04 -04:00
Eivind Fonn 5a444184f1 core: allow list of fonts 2016-06-03 23:41:22 -04:00
syl20bnr b5ec99aa58 Change default value of dotspacemacs-visual-line-move-text to nil 2016-06-02 23:10:35 -04:00
syl20bnr f76136c86d Rename dotfile variable to dotspacemacs-visual-line-move-text 2016-06-02 23:09:18 -04:00
Steven Allen db3e867347 make visual line move configurable 2016-06-02 23:06:03 -04:00
Muneeb Shaikh 371dd85ff2 core: add another code folding method using origami to spacemacs-editing
* layers/+spacemacs/spacemacs-editing/packages.el (spacemacs-editing/init-origami):
  add origami package and initialize it
* core/core-dotspacemacs.el (dotspacemacs-override-evil-folding): new
  variable to allow choosing between different code folding methods.
  Currently supported `evil' and `origami'
2016-05-31 22:46:04 -04:00
syl20bnr 60f5a3a0fa New dotfile variable dotspacemacs-download-packages
This new variable replace dotspacemacs-delete-orphan-packages

It defines the behaviour of Spacemacs when downloading packages.

Possible values are `used', `used-but-keep-unused' and `all'.
- `used' will download only explicitly used packages and remove any
unused packages as well as their dependencies.
- `used-but-keep-unused' will download only the used packages but won't
delete them if they become unused.
- `all' will download all the packages regardless if they are used or
not and packages won't be deleted by Spacemacs.

Default value is `used`.
2016-05-30 22:58:59 -04:00
Eivind Fonn d51987f497 core: remove support for all layers 2016-05-30 21:06: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
syl20bnr fed2e3c04f Fix dotspacemacs wizard
THe dotfile was not reloaded after being updated by the wizard.
2016-05-14 12:09:25 -04:00
syl20bnr 738f425276 Add spaceline-compile to spacemacs-post-user-config-hook
Also improve support for GUI client using a server launcher with
emacs --daemon.
2016-05-11 20:07:26 -04:00
Eivind Fonn 5b719df500 Some fixes for visual shift variable
- Rename mode to state (preferred nomenclature in evil)
- Change default value
- Add to dotspacemacs template
- Fix parens
2016-05-06 13:46:41 +02:00