Commit Graph

329 Commits

Author SHA1 Message Date
syl20bnr 0f646b884d Add properties for mode-line theme, remove powerline-scale
Since we have now a variable for the mode-line theme, it makes sense to move
the scaling of the mode-line to this variable. Thus the property
=:powerline-scale= of variable dotspacemacs-default-font has been removed and
it is replace by the property =:separator-scale= used in the variable
=dotspacemacs-mode-line-theme=.

This commit also adds a the property =:sperator= for the variable
=dotspacemacs-mode-line-theme= which allows to set the separator type.

Example of the final result:

   dotspacemacs-mode-line-theme '(all-the-icons
                                  :separator cup
                                  :separator-scale 1.5)

Documentation has been updated to reflect the changes.
2018-01-16 22:59:29 -05:00
syl20bnr a131c89909 core: add support for mode-line themes
New layer variable `dotspacemacs-mode-line-themes`:

Set the theme for the Spaceline. Supported themes are `spacemacs',
`all-the-icons', `custom', `vim-powerline' and `vanilla'. The first three
are spaceline themes. `vanilla' is default Emacs mode-line. `custom' is a
user defined themes, refer to the DOCUMENTATION.org for more info on how
to create your own spaceline theme."

See DOCUMENTATION.org changes for more info.

This commit adds support for `spaceline-all-the-icons` package.
2018-01-11 23:53:44 -05:00
Miciah Masters ea6c2657b8 core: Fix unescaped character literals
Escape left and right bracket character literals to avoid the following
warning:

    Loading ‘core-dotspacemacs’: unescaped character literals `?[', `?]' detected!
2018-01-08 01:49:28 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr f290565098 core: new dotfile variable dotspacemacs-use-spacelpa
If non-nil then Spacelpa repository is the primary source to install
a locked version of packages. If nil then Spacemacs will install the lastest
version of packages from MELPA. (default nil)

The default value will be true when we bust all the major bugs.
2017-11-12 09:33:58 -05:00
syl20bnr d15772fadc core: add support for GnuPG signed Spacelpa archives
New dotfile variable dotspacemacs-verify-spacelpa-archives
Default value is nil for now, users wanting to help testing this feature can
set it to t and delete the directory ~/.emacs.d/.cache/stable-elpa and restart
Emacs to download the Spacelpa archive and verify it.

Update function configuration-layer/stable-elpa-download-tarball to download
signature files as well.

Update function configuration-layer//stable-elpa-untar-archive to verify the
downloaded archive using epg library.

Example of signature files can be found here:
https://github.com/syl20bnr/spacelpa/releases/tag/v0.300
2017-10-30 00:57:48 -04:00
syl20bnr e63febeafd core: add optional parameter to spacemacs/set-mode-line
redisplay: it non nil then force refresh of the display
2017-10-29 21:43:43 -04:00
syl20bnr 3d10ad6742 core: change default value of dotspacemacs-elpa-subdirectory
Set it to emacs-version as it is the saner defaults here. When updating the
version of emacs, packages should be byte-recompiled. Thus this is safer to
isolate each package by emacs-version.
2017-10-29 00:27:00 -04:00
syl20bnr 41e91a9dcf core: move all dotspacemacs-helm-* variables to layer variables
Add support for backward compatibility via a macro instrad of defvaralias as the
latter was not sufficient to support all the use-cases.
2017-10-08 10:29:34 -04:00
syl20bnr 5ed671b2d5 core: remove wizard question about completion engine.
The default value is now at the distribution level. The user must put the ivy
layer explicitly in the dotfile.

This to be consistent with filetree package which is neotree by default in
the standard spacemacs distribution.

I'm afraid that we add too much wizard questions as the helm/ivy case will
happen more and more in the future. Neotree and Treemacs are the first layers
to follow the Helm and Ivy pattern. I don't want to add a fourth question to
the wizard which makes it heavy and is not as useful for new users.
2017-10-08 10:29:26 -04:00
bmag 0fb17fa9fa dsm-vars: fix docstrings and comments, better consistency
Add `(default X)` comment to almost all dotspacemacs variables in
dotspacemacs/init function in the template. Exempted are variables with long
default values. (e.g. dotspacemacs-themes)

Remove `(default X)` from doctsring of dotspacemacs variables. It isn't
necessary, the built-in help system already displays the default value
automatically.

Fix some minor grammar and spelling mistakes.
2017-08-09 16:12:51 +03:00
duianto 38bf5fd9f2
Update spacemacs template, paste ts docstring
"micro-state" was the previous name for "transient-state".
Reword the sentence and quote the kill-ring variable.
Duplicate the docstring to the dotspacemacs-enable-paste-transient-state
variables docstring in core-dotspacemacs.el.
2017-07-25 21:51:26 +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
syl20bnr cc0d8cafb2 core: rename configuration-layer/sync to configuration-layer/load
Replace the optional argument `no-install` by a global variable named
`spacemacs-sync-packages`.
Rename the hooks to reflect the renaming of the function.
Rename the flag `--no-sync` to the more explicit `--no-package-sync`
2017-07-01 10:54:37 -04:00
JAremko 48ef00e094 set pretty-docs nil by default 2017-06-23 22:29:55 +03:00
JAremko c024c746b7 fix export 2017-06-23 22:29:41 +03:00
JAremko ff333c3c3e Add pretty docs option to .spacemacs 2017-06-23 22:29:31 +03: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
Codruț Constantin Gușoi 8754575550 Fixes insert point for lazy loaded layers
A recent change in the `.spacemacs.template` made it so that the
`dotspacemacs-configuration-layers` variable name can be found inside a
comment right before the expression that sets it's value. This makes the
lazy insertion fail to detect the proper place to add lazy loaded
layers.

This fix solves the immediate problem but maybe a better solution can
be found.
2017-06-08 21:03:45 +02:00
bmag 6fd0d2573b New dotvariable: auto-generate layout names
If dotspacemacs-auto-generate-layout-names is non-nil, and the user
tries to open a layout in a position that doesn't yet have a layout,
then create a new layout with an automatically generated name.
2017-05-25 13:40:28 +02:00
Eivind Fonn 7a6a2d0abb More robust dotspacemacs/add-layer
- Don’t greedily search until last paren, just the first one
- Better call on newlines
2017-05-24 12:47:21 +02:00
Leo Joseph Buchignani III cb8de28b8f replaced "uninstall" with "delete"
to avoid conflation of loading/ignoring with downloading/deleting.
2017-05-14 22:09:02 -04:00
syl20bnr 8db21403d7 Fix support for fancy frame title 2017-04-28 23:39:41 -04:00
Kepi 7e266f4f3c Improve support for fancy frame title 2017-04-28 23:16:22 -04:00
Uri Sharf cb30ec1df8 Add support for fancy frame title
Acked-by: Uri Sharf <uri.sharf@gmail.com>
2017-04-28 23:13:25 -04:00
syl20bnr 2d0c3ae92c Rename dotspacemacs-zone-when-idle-for to dotspacemacs-zone-out-when-idle
Set key binding to SPC T Z
Improve the configuration a bit by selecting only the most interesting pgm
2017-04-09 23:55:00 -04:00
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
Steven Allen bd4bdd3119 core: make retaining visual mode on shift optional
default to disabled to follow vim's behavior.

fixes #5273
2016-05-06 13:36:46 +02:00
Eivind Fonn ec9f6cfd53 Discover layers before testing dotfile 2016-04-07 23:20:05 -04:00
Fabien Dubosson 57e91fe035 Correct more `<SPC>` to `SPC` 2016-04-05 12:52:54 +02:00
syl20bnr cc5afabcae Experimental: defer by 0.1s spaceline
spaceline can sometime take 1s to load when Emacs starts, using
:defer 0.1 seems to smooth the startup a little bit.
2016-04-03 00:38:13 -04:00
syl20bnr ae9f40ae77 core: new variable dotspacemacs-ask-for-lazy-installation 2016-03-27 15:56:15 -04:00
syl20bnr 5e5b7a6569 core: new values for dotspacemacs-enable-lazy-installation
- all
- unused
- nil
- t

Fixed #5608
2016-03-27 15:55:24 -04:00
syl20bnr 16afe67907 core: enhance lazy installation of layer
Now Spacemacs will ask for layer installation when opening a file with
a known file type.
The auto-mode-alist entries are added by the file auto-layer.el in
the layers directory.

Easy insert of forms for lazy initialization can be done with the
interactive function configuration-layer//insert-lazy-install-form.

Change default value of dotspacemacs-enable-lazy-installation to t.
2016-03-25 01:03:37 -04:00
syl20bnr 5585a40db1 doc: update editing style documentation 2016-03-17 20:38:23 -04:00
syl20bnr 2d61e5304e core: add support for :variables keyword in dotspacemacs-editing-style
Add variable `hybrid-mode-enable-hjkl-bindings` to enable hjkl
navigation in hybrid mode.

example:

dotspacemacs-editing-style '(hybrid :variables
                                     hybrid-mode-enable-hjkl-bindings t
                                     hybrid-mode-default-state 'normal)
2016-03-16 22:43:50 -04:00
syl20bnr d52eb414bb Remove dotspacemacs-use-ido
Users should now bind ido commands themselves.
2016-03-10 23:13:19 -05:00
Ista Zahn 2d353a329e Default to using helm for files and buffers. 2016-03-10 23:13:19 -05:00
syl20bnr 359df9e4c3 Minor docstring change for dotspacemacs-large-file-size 2016-03-10 23:13:19 -05:00
ralesi 3f376a431b Prompt to open file literally when opening large files. 2016-03-10 23:13:19 -05:00
Boris 51d56232cd fix typo in dotspacemacs/install 2016-03-05 13:43:31 +02:00
Muneeb Shaikh aebef8bfcd core: fix dotspacemacs-editing-style docstring 2016-03-01 18:56:24 +01:00
Fabien Dubosson 21cab12125 Add smart closing parenthesis 2016-02-14 23:09:13 -05:00
justbur b149f4e13a transient-state: new dotspacemacs variable to hide titles
dotspacemacs-show-transient-state-title
2016-01-31 23:50:10 -05:00
justbur c12f6b85c8 transient-state: Add .spacemacs var to hide color guide 2016-01-31 23:48:19 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
tonyday567 36e7e4ef73 Add support for todos and agenda in home buffer 2016-01-31 20:31:09 -05:00
Xue Fuqiao 4958f7fc10 Fix "the point" problems
Point is a proper name when it refers to the current editing location.
Moreover, point designates a place *between* two characters (or before the first
character, or after the last character), rather than a particular character.

References:

* http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html
* https://www.gnu.org/software/emacs/manual/html_node/elisp/Point.html#index-point
2016-01-31 21:48:52 +01:00
syl20bnr 45def1ec60 core: Add support for lazy installed layer.
New function configuration-layer/lazy-install to add support for
lazy installation of layers based on auto-mode-alist emacs mechanism.

This is essentially the Prelude feature but translated at the layer
level for Spacemacs.

New dotspacemacs variable to enable this feature:
dotspacemacs-enable-lazy-installation
For now this variable is set to nil by default, it will be put to t when
the feature is stable.

POC with elixir layer.
2016-01-31 00:10:14 -05:00
syl20bnr 33ead6fc42 Deprecation of extensions and <pkg>-excluded-packages variables
As announced in previous releases, see CHANGELOG.next for more info
in the Breaking Changes section.
2016-01-17 22:06:04 -05:00
syl20bnr 3d63dd4392 core: fix red mode-line when an error occurred
Rename function configuration-layer//set-error to
configuration-layer//increment-error-count
2016-01-12 00:08:36 -05:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Eivind Fonn d8833215b0 Make scratch buffer major mode configurable 2016-01-11 01:13:10 -05:00
syl20bnr 6d1df2845f core: remove evil variable aliases and change default to nil
People transitioning from Vim could be surprised if we set these
variable to t by default, so setting them to nil respects better
the POLA principle.

Impacted variables:
dotspacemacs-ex-substitute-global
dotspacemacs-remap-Y-to-y$
2016-01-11 01:13:10 -05:00
Fredrik Bergroth 71aa5f6616 Add dotspacemacs-ex-substitute-global setting
If non-nil, this setting inverts the behavior of the 'g' flag in

    :s/pattern/replacement/g
2016-01-11 01:13:10 -05:00
syl20bnr 53d55d3da6 core: offer completion framwork choice in wizard 2016-01-09 14:19:01 -05:00
syl20bnr 4a51254f05 core: backward compatibility with dotspacemacs-command-key 2016-01-09 02:23:04 -05:00
syl20bnr 58e5241c8d dotfile: rename dotspacemacs-command-key for dotspacemacs-emacs-command-key
And change the key from ":" to "SPC"
This key does not try to bind evil ex-command anymore, it only bind
M-x behind the leader key.
2016-01-09 01:53:24 -05:00
syl20bnr 63fbdb4e01 core: change dotspacemacs-whitespace-cleanup default value to nil
And update documentation

Fixes #4386
2016-01-05 00:37:19 -05:00
syl20bnr 96a648d1da Update deprecation TODO to 0.106 2016-01-03 22:46:01 -05:00
justbur 46f36dc74d core: Declare macro before it's called 2015-12-21 00:42:52 -05:00
justbur 39760a1cfe core: Update to preferred versions of functions
1. Don't use beginning-of-buffer (or end):
   These are for interactive use only according to compiler

2. reduce => cl-reduce

3. next-line => forward-line
   next-line is only for interactive use

4. set-default-font => set-frame-font
   set-default-font is obsolete since 23.1

5. show-subtree => outline-show-subtree (alias)

6. show-all => outline-show-all (alias)
2015-12-21 00:25:41 -05:00
syl20bnr 4be87ef4cb core: rename dotspacemacs-version-check-enable
to dotspacemacs-check-for-update
2015-12-11 01:47:34 -05:00
Eldon Nelson 2b4f259389 Add dotspacemacs variable to skip check for update 2015-12-11 01:40:19 -05:00
syl20bnr 26ecdee0e3 New dotspacemacs variable `dotspacemacs-elpa-timeout`
Increase timeout from 3 seconds to 5 seconds.
2015-12-06 02:22:49 -05:00
justbur 246ebc1a27 core-keys: Enable distinction between C-i and TAB
Added dotfile variable to template and core-dotspacemacs.el

After enabling, if C-i is translated to the "key" <C-i> which allows you
to bind a separate command in the GUI like this

(define-key map [C-i] 'c-i-command)

or this

(define-key map (kbd "<C-i>") 'c-i-command)

This has the side effect of no longer making C-i default to TAB in the
GUI, but will not affect the TAB or <tab> bindings.

Removes spacemacs//handle-terminal-keys
2015-12-04 00:23:10 -05:00
syl20bnr 1061adbac9 New variable dotspacemacs-elpa-https
If non nil use HTTPS otherwise use HTTP.
Default is t.
2015-11-18 13:50:30 -05:00
Bar Magal 1a91e3ea14 Home buffer: make number of recent files configurable #2335
Fixes issue #2335
2015-11-15 12:33:23 +01:00
caleb 1a917c429c fix typo for spacemacs-base option 2015-11-15 12:19:54 +01:00
syl20bnr 9290acf058 layouts: new variable dotspacemacs-auto-resume-layouts
If non nil then layouts are automatically resumed upon start.
Also always enable persp-mode (i.e. remove lazy loading of it).

Fixes #3736
2015-11-11 00:59:17 -05:00
syl20bnr 4004f8d383 layouts: split dotspacemacs-default-layout-name into 2 variables
dotspacemacs-default-layout-name is only to set the name
new variable dotspacemacs-display-default-layout controls the display
of the default layout in the mode-line
2015-11-11 00:55:42 -05:00
syl20bnr 9e5e309bf0 dotfile: new variable dotspacemacs-max-rollback-slots
Replaces the old spacemacs-number-of-rollback-slots
2015-11-11 00:14:46 -05:00
syl20bnr 098b173877 Split comments to no go past the 80th column in the dotfile template 2015-11-10 23:49:07 -05:00
Muneeb Shaikh 6b3e82d2d9 Allow customization of the default layout name in mode-line
- Changed dotspacemacs variable
2015-11-09 18:43:05 +01:00
syl20bnr aed1811f76 perspectives: big refactoring
- Rename micro-states to "layouts"
- Rename some functions to include "layout" instead of "perspective"
- cleanup variables
- move functions to funcs.el
- move package specific stuff to post-init functions
- changes key bindings
- micro-state documentation rewrite
- change format of the layouts line in the micro-state doc
- defer loading of persp-mode which loads with `SPC l`
- always display the spacemacs home buffer with no switch
- various fixes
- various new bugs :-)
2015-11-09 00:36:09 -05:00
syl20bnr b405752f6c Remove global infix in dotspacemacs-global-line-numbers
I feel that it is not needed because it makes not a lot of sense to
have it non global since it is a dotfile variable.

Also remove ' from the docstring for consistency.
2015-11-03 00:00:55 -05:00
Fabien Dubosson 612c3df265 Introduce 'relative for global-line-numbers
Allow to use 'relative as value for the dotspacemacs-global-line-numbers
setting. This enable relative global line numbers as it is a common
usage.
2015-11-03 00:00:55 -05:00
Yiming Chen c0570e7481 Fix C-u dotspacemacs/sync-configuration-layers 2015-11-02 00:19:44 -05:00
Muneeb Shaikh db453acbd6 Customizable whitespace-cleanup
- Default: cleanup whitespace on changed lines
2015-10-31 14:16:31 +01:00
Fabien Dubosson c3299f0eca Make linum toggle local and add a variable for global mode
`global-linum-mode` is making line numbers appearing in `*spacemacs*`
and `helm` buffers, what is annoying.

This change make the linum `SPC t n` toggle buffer-local, and add a
customization variable in `.spacemacs` to enable line numbers globally.
«Globally» here as to be understood as «in `prog-mode` and `text-mode`».
2015-10-29 19:30:06 +01:00
Eoin Houlihan 1a853d5759 Fix minimize spelling mistake 2015-10-14 00:32:46 -04:00
Daniel Luna b4545a7b96 Shows error in *Messages* buffer when loading .spacemacs 2015-10-14 00:26:13 -04:00
syl20bnr 455dd22553 core: set error flag when calling user dotfile functions 2015-10-12 09:58:46 -04:00
justbur 8b5428d320 core-dotspacemacs: Make call-func macro safer
Catch errors in executed function and signal them to the user in the
spacemacs buffer. We don't want loading to silently fail because there
is a problem in dotspacemacs/user-config for example.
2015-10-12 09:53:37 -04:00
syl20bnr 1cf9b73f84 core: replace powerline by spaceline 2015-10-11 00:16:47 -04:00
Eivind Fonn 92254bc3af code: refresh modeline after syncing 2015-10-10 23:21:03 -04:00
syl20bnr 3c7ad38e4d core: remove dotspacemacs-verbose-loading
verbose is activate with --init-debug
2015-10-07 15:51:40 -04:00
justbur 539ff07890 core-keys: Allow major-mode-leader to be nil
The dotfile says that setting the major-mode leaders to nil will disable
the functionality, but there were a couple of places where that option
was not being respected.
2015-10-07 15:51:39 -04:00
person808 28c5298f4c Use built-in evil variable to set Y behavior. 2015-10-05 12:17:27 +02:00
Eivind Fonn a64e1cf5d0 Document cursor color by state only in GUI
Fix #1944

[ci-skip]
2015-10-05 12:07:45 +02:00
syl20bnr 14fd2b48e9 New variable dotspacemacs-remap-Y-to-y$ 2015-09-28 23:09:44 -04:00
syl20bnr 383b1bec20 Update dotspacemacs/config and dotspacemacs/init occurrences 2015-09-28 02:05:18 -04:00
person808 952a848738 Add missing value to dotfile tests. 2015-09-23 18:08:28 -10:00
syl20bnr fe4d6a7d79 core: fix dotspacemacs/install and tweak choice descriptions 2015-09-19 01:05:17 -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
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
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 3b7d66d118 sync-configuration-layers: add option to skip tests 2015-09-11 23:04:55 -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