Commit graph

1306 commits

Author SHA1 Message Date
duianto
e51a89a5e5 Comment corrections and two functions reordered
Misspellings:
"beginnign" changed to "beginning",
"Insert one of several lines" changed to "Insert one or several lines" in two functions,
"identation" changed to "indentation",

Missing comment copied from the function that inserts a line
in the opposite direction:
(defun spacemacs/insert-line-below-no-indent (count)
"Insert a new line below with no indentation."
and renamed the direction, resulting in:
"Insert a new line above with no indentation."

Duplicate comments removed, the comments inside the functions,
are better explanations of what the function does.

Functions reordered:
The functions:
(defun spacemacs/evil-insert-line-below (count)
and
(defun spacemacs/evil-insert-line-above (count)

were written in a illogical order,
the "above" function should be written before the "below" function,
with this change, the function order will match other functions
with "above" and "below" in their names,
for example these:
(defun spacemacs/insert-line-above-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L535
(defun spacemacs/insert-line-below-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L549

evil-commands.el
line 2205: (defun evil-open-above (count)
line 2219: (defun evil-open-below (count)

line 2310: (defun evil-copy-from-above (arg)
line 2326: (defun evil-copy-from-below (arg)

evil-common.el
line 1892: (defun evil-insert-newline-above ()
line 1901: (defun evil-insert-newline-below ()
2016-08-05 21:35:43 +02:00
syl20bnr
73b8151381 core: fix bad prog2 call 2016-08-03 21:56:03 -04:00
syl20bnr
a9489a431d core: fix naming conventions for private funcs and vars
in core-release-management.el
2016-08-03 21:43:12 -04:00
syl20bnr
92ca7fd0f3 core: fix startup check being always executed 2016-08-03 21:43:12 -04:00
syl20bnr
59cfd60e49 core: make spacemacs/get-last-version interactive 2016-08-03 21:43:12 -04:00
syl20bnr
cb84b3ce46 core: make spacemacs/check-for-new-version interactive
Can force a check with the universal prefix argument, for instance:
SPC u SPC SPC spacemacs/check-for-new-version
will always check for a new version even if not on master branch.
2016-08-03 21:43:12 -04:00
syl20bnr
0b1fff02c0 core: rate limit statup version check
Once per 24 hours by default.
Caveat: if a new version is detected on the current instance of Emacs
and Emacs is restarted before the end of the 24 hours window then
the new version lighter in the modeline disappear; i.e. we don't
remember the last check results.

Fixes #6692
2016-08-03 21:41:48 -04:00
syl20bnr
bf15693967 core: remove version check every 6 hours
Fixes #6692
2016-08-03 20:48:49 -04: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
d3ae04b29c Respect 80 chars per line in core-release-management.el 2016-08-03 20:35:40 -04:00
syl20bnr
265faecbba core: reduce number of git commands to check for new version
Fixes #6692
2016-08-03 20:33:09 -04:00
Steve Dignam
aa1f3b7ee5
Fix minor typos in .spacemacs.template 2016-08-01 10:21:09 +03:00
syl20bnr
9c3802b142 core: fix SPC f e R after layer system refactoring
Correctly adds packages when resync the dofile. Also flush the layer
index before rediscovering the layers.
2016-07-29 00:00:55 -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
Ista Zahn
84580b1d80 User configurable default company-backends 2016-07-26 16:33:42 +09:00
d12frosted
95df82ac23
fix spacemacs|use-package-add-hook usage docstring 2016-07-25 18:04:05 +03:00
Eivind Fonn
8e87132ba7 Fix possibly calling bad code after theme change 2016-07-25 14:00:02 +09:00
Cifer-Y
2e9e44e0e9 add support for omtose-phellack-theme
(omtose-darker and omtose-softer)
https://github.com/syl20bnr/spacemacs/issues/6657
2016-07-25 12:15:58 +09:00
NJBS
37ce95b362 Use Quelpa file fetcher instead of url
An upstream issue with Emacs causes local file urls to incorrectly be
interpreted as FTP addresses on Windows, see #6602.
2016-07-17 02:04:14 -04:00
d12frosted
46cc89457d
allow to install local package using quelpa
Package can be installed using quelpa if it's defined as in following
example.

(package-name :location (recipe :url local))
2016-07-15 15:13:56 +03:00
syl20bnr
653da2a6aa highlight-persist/smartparens overlay: better adaptive face
Choose to inherit from face lazy-highlight instead of region.
Ideally a theme should not set lazy-highlight to the same face as
region.

Also move some function to funcs.el and remove some empty lines.
2016-07-13 10:22:03 -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
syl20bnr
e7dcf16670 core: rename configuration-layer--skipped-packages
to configuration-layer--check-new-version-error-packages
2016-07-09 14:58:30 -04:00
syl20bnr
ad3eb41c52 core: use version info and package desc for dependencies
when installing from ELPA repositories.
2016-07-09 14:58:30 -04:00
syl20bnr
2152f66b9f core: add min-version keyword to package list
Providing a min-version allows to fetch the elpa version of a built-in
package. For intance to install python mode from GNU elpa, add to
the dotspacemacs-additional-packages:

(python :location elpa :min-version "0.25.2")
2016-07-09 14:58:30 -04:00
syl20bnr
7e82535bf3 core: remove variable user-dropbox-directory
This feels weird to set as default a variable using a third-party
service like Dropbox. Was OK when Spacemacs was less popular, now this
variable has nothing to do in this project.
2016-07-06 20:46:31 -04:00
MadAnd
a87341e8ac Add Dropbox directory to load-path only if exists 2016-07-06 20:45:02 -04:00
deb0ch
e097600279 center ascii banners in home buffers
also remove now unneeded leading whitespaces in ascii banners
2016-07-05 19:50:57 +02: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
deb0ch
862eb68f7c fix home buffer random banner choice
Random banner choice was broken by the presence of the `img` directory.
Even if `random` was set instead of `random*` in .spacemacs file the
cate banner would still show.

This commit fixes this bug while simplifying the existing code by adding
a regexp filter to only choose "*.txt" files.
2016-07-05 00:23:16 -04:00
syl20bnr
85494376c3 core: add tests for make-package 2016-07-05 00:23:16 -04:00
Allen Li
45afa3be19 Don't un-exclude an excluded package
If a layer using a package is loaded after a layer excluding it, the
exclude flag should not be overwritten.
2016-07-05 00:23:16 -04:00
Damon Wang
2b0787f5eb Fixes display of per-binding docs in micro-state
Previous behavior, if a micro-state binding had :doc not nil, was an error
  Wrong type argument: stringp, 1

Detailed reproduction:
cat > /tmp/test.el <<EOF
(spacemacs|define-micro-state test
  :doc "[a] a [b] b [q] quit"
  :bindings
  ("a" nil :doc "a")
  ("b" nil :doc "b")
  ("q" nil :doc "quit" :exit t))

(spacemacs/test-micro-state)
EOF
emacs --load /tmp/test.el

Type a, b, or q and see the error in the echo buffer.
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
Eivind Fonn
38814881dc Allow user more control over space-doc mode 2016-06-26 13:27:51 -04:00
bmag
8d0b0354ce Toggles: print message only in interactive usage 2016-06-26 13:25:14 -04:00
syl20bnr
a713189685 core: fix footer display 2016-06-24 18:52:08 -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
Eivind Fonn
07829f8e43 Allow space-doc to be excluded 2016-06-24 10:41:10 +02:00
leon
a2448be4f1 Fix spacemacs-start-directory variable definition
Should use defvar so that user can override the default value.
2016-06-23 22:36:03 -04:00
ksjogo
4d4e89641e fix spacemacs buffer for -nw and --batch 2016-06-23 00:42:57 -04:00
syl20bnr
cbb61070fd Replace some emacs-user-directory vars and update documentation 2016-06-23 00:25:04 -04: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
290f5fd6a2 core: add argument to cfgl-package-enablep to disable messages
To avoid logging the same messages each time the toggle is resolved.
2016-06-21 19:04:59 -04:00
km
d7820aafd6 Remove even more 24.3 related configuration
Helm-flx, which is included as a core package, requires a minimum Emacs
version of 24.4. As it stands attempting to install Spacemacs on Emacs
24.3 or below will break on helm-flx.
2016-06-20 22:26:53 -04:00
Eivind Fonn
92b48eadea 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 22:05:56 -04:00
syl20bnr
117dcba0ed Revert "Drop support for Emacs 24.3"
This reverts commit 31bab70397 making
a new commit to put TheBB as the author.
2016-06-20 22:05:12 -04:00
syl20bnr
31bab70397 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 21:55:36 -04:00
syl20bnr
41af5fd9d7 Change default dotspacemacs-startup-lists value to nil
I think it is a better default since it makes the startup buffer less
bloated which is a good thing for newcomers.
2016-06-20 21:32:07 -04:00
syl20bnr
57350a3b48 core: reimplement :packages keyword and update documentation
Old implementation excluded package that were not selected, this
implementation does not excluded them, it simply ignore it in the
layer where they are not selected. This reimplementation comes from
a refactor of the way packages.el files are loaded, instead of loading
these files at the moment of resolving the list of used packages, they
are now loaded when making the layer objects. A neat consequence is that
side effects is better confined and the configuration-layer/get-packages
is now pure (at least a lot more pure than before).
In the `cfgl-layer` class the slot `:user-packages` has been renamed
to `:selected-packages` which defaults to `'all` meaning that all
the packages in `:packages` are selected. `:selected-packages` value
is given by the new function `configuration-layer//select-packages`.
Effectively selected packages are given by a new method for `cfgl-layer`
class called `cfgl-layer-get-packages`.

Tests have been updated to reflect the changes.

Also documentation on configuration layer declaration in the dotfile
section of DOCUMENTATION.org has been greatly improved (I hope) and
reflect the last feature added to the
`dotspacemacs-configuration-layers` list.
2016-06-20 20:48:25 -04:00
ralesi
704732fc84 Reimplement #5339 by justbur to add :packages keyword. 2016-06-19 22:07:44 -04:00
Eivind Fonn
dfad604faa core: fix possibly negative string length 2016-06-13 10:59:29 +02:00
syl20bnr
8368be3c89 core: display a numerical progression in mode-line
Represents the number of packages to configure.
2016-06-13 00:56:25 -04:00
neutralevil
8b6356d270 Fix init error for emacs in terminal mode
The code block passed to `spacemacs|do-after-display-system-init`
is never invoked if emacs is running in terminal mode.
2016-06-13 00:25:39 -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
768ec3fc50 core: fix configuration-layer//warning function
Correctly apply arguments to the spacemacs-buffer/warning funcion.
2016-06-12 21:09:22 -04:00
Carl Lange
a00045d410 Fix duplicated layer string format error
I had a duplicated layer, but the message that's printed broke spacemacs starting up because it was a format string but wasn't in a `format` form. Simple fix. Spacemacs works again! Yay!

This issue was introduced in c0851ddcb3, according to a quick `git bisect`. :)
2016-06-12 12:58:38 +01:00
syl20bnr
1b77fd84b0 core: fix infinite loop :-) 2016-06-11 01:15:35 -04:00
syl20bnr
4f5d7670f1 core: fix typo with configuration-layer--inhibit-warnings 2016-06-10 23:41:33 -04:00
syl20bnr
c0851ddcb3 core: new variable configuration-layer--inhibit-warnings
If non nil then the configuration system does not emit warning.
2016-06-10 22:47:45 -04:00
syl20bnr
3a9cffd2d9 core: add method cfgl-package-get-safe-owner
Safe method to get the owner of a package.
2016-06-10 22:38:38 -04:00
syl20bnr
b2d4adb14d core: change cfgl-package :owner slot to :owners
The car of :owners is the real owner.
Now we can easily gather the list of all owners of a package.

Also fix unit tests about missing spacemacs-insecure variable.
2016-06-10 21:43:25 -04:00
syl20bnr
7e3a827f63 core: warn about packages without any init functions
Display a message when a not excluded package has no pre-init, init or
post-init function in a layer.
2016-06-10 20:53:24 -04:00
syl20bnr
419eb51836 core: new variable spacemacs-insecure
Revert "Parse CLI args after dotspacemacs/init"
This reverts commit 0a35502de4.

We cannot delay the parsing of CLI params since we need their values
early during the loading process (i.e. debug info).

Replace the previous commit with a new variable `spacemacs-insecure`
which takes the value of --insecure boolean parameter.
2016-06-09 23:09:59 -04:00
Eivind Fonn
0a35502de4 Parse CLI args after dotspacemacs/init 2016-06-09 23:03:03 -04:00
syl20bnr
f23ecf0b12 Rename +distribution to +distributions 2016-06-08 22:17:04 -04:00
syl20bnr
af32842ce1 core: tweak emoticons for bug reports 2016-06-08 09:49:34 -04:00
Eivind Fonn
3cf136dc5f core: add font to default-frame-alist 2016-06-06 09:01:31 -04:00
Paul Moore
070e5c5d8e Work around the fact that w32-initialize is t too early for us 2016-06-05 00:35:52 -04:00
syl20bnr
627e934453 core: condensed versions into one string in left-hand side
spacemacs-version@emacs-version (distribution)
2016-06-05 00:19:18 -04:00
syl20bnr
f3e50195d7 core: add footer in home buffer 2016-06-05 00:19:18 -04:00
Eivind Fonn
654c704f6c core: fix missing font error message 2016-06-04 21:40:50 +02:00
syl20bnr
89452fc34d core: fix nil value for display-buffer-alist
preventing popwin from working properly

Fixes #6220
2016-06-04 00:00:52 -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
syl20bnr
430a3e4797 fold method: split config and add dot variable to template
Move the evil part to evil config and used :toggle keyword
Also add the variable to the dotfile template
2016-05-31 22:59:39 -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
Eivind Fonn
845c42d252 core: add predicate function for toggles
Also use output in Spacemacs help sources
2016-05-31 22:33:44 -04:00
Eivind Fonn
62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
syl20bnr
1da124f689 Add TODO for configuration-layer/describe-package 2016-05-31 22:33:04 -04:00
Eivind Fonn
6b3e1452cf core: misc. goodies for describe-package
- Use completing-read when called interactively
- Check for string locations in addition to built-in etc.
- Don’t double-princ on/off for toggles
- Bind to SPC hdP
2016-05-31 22:26:59 -04:00
syl20bnr
ad40bae1bf core: fix deletion of orphan packages and deps 2016-05-31 14:32:21 -04:00
syl20bnr
9dfa7c3fa6 core: fix error with unknown layer listed in dotfile 2016-05-31 12:47:35 -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
881b1f1e7f Rename special banner cate to cat 2016-05-29 23:27:31 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -04:00
syl20bnr
d98be63dfa core: new layer file -> layers.el / Fix regressions of previous commits
The new layer file `layers.el` is used to declared additional layers.
It is like the sibling of packages.el except that for now it does not
take a list (can do this in a futur commit).

The new order for file loading is the following:

layers.el > packages.el > funcs.el > config.el > keybindings.el

Since packages.el relies on some undefined stuff encapsulated
in init functions, it is not meant to be byte compiled. OTOH funcs.el
(where lies most of the computation added by a package config) should
be compilable.

Since we load packages.el very early it is not possible to use
`configuration-layer/package-usedp` in funcs.el.

This commit also fixes the tests.
2016-05-28 21:20:23 -04:00
syl20bnr
37dfa47961 core: allow package-usedp in both packages.el and funcs.el 2016-05-27 00:32:05 -04:00
syl20bnr
c6e47c0306 core: rename doc-fmt to spacefmt 2016-05-27 00:32:05 -04:00
syl20bnr
7f07a965ad core: expand doc-fmt usage to any form of formatting
Add argument `action` as first positional argument, the second
positonal argument is for tests.

Add actions `doc` and `config`, doc works on org files and config works
on configuration file like packages.el.
The special action `all` performs all actions.

Move test files to `test` sub-folder.

Choose between `md5sum` and `md5` (on OS X) executables.

Add a new formatting function `move-packages-to-config` to move
package lists to config.el file.
2016-05-27 00:32:05 -04:00
syl20bnr
c35e4ee27b core: remove packages-funcs and packages-config
Change the semantic of the files for a better control over the
configuration (like being able to use package-usedp function to
guard package configuration and function definition).

This is a big change!

The list of packages of the layer must now be placed in config.el
packages.el only contains pre-init, init and post-init functions

Now both packages.el and funcs.el can use
configuration-layer/package-usedp which is much more powerful than
just configuration-layer/layer-usedp.

Also merging into one file the layer variable and the list of packages
make sense (in this case config.el).

It also means that we can quickly load all the packages declared in
all layer for helm and ivy sources by just loading the config.el file.

Expect some regressions introduced by this change, like the helm
and ivy sources, they will be fixed in other commits.
2016-05-27 00:32:05 -04:00
syl20bnr
7945d39208 Move cate to 998 index and add support for `cate' value
Also removes some empty lines in the banner.
2016-05-27 00:32:05 -04:00
alex
77cb2237a5 Add a banner for my cute cate nemad momo 2016-05-27 00:32:05 -04:00
Diego Berrocal
0749c61add Add emojis to the Issue Template 2016-05-27 00:32:05 -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
1ebbe18b47 core: display warning buffers at the bottom of the screen
when synchronizing layers.
2016-05-14 22:10:20 -04:00
ralesi
f305bd01f9 Center spacemacs banner in window at startup.
Provide facility to refresh spacemacs-buffer.
2016-05-14 14:23:40 -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
Curtis Mackie
c9e866443c Prevent warnings when toggles are turned on
The edited sexp should not be quoted, it should be evaluated.
Removing the quoting allows it to work as intended.
2016-05-06 10:37:39 -05:00
Eivind Fonn
78f11f4493 Break long line in core-toggle.el 2016-05-06 13:53:42 +02:00
Daniel Luna
76610294a7 long-lines' toggle now accepts prefix arguments.
This commit introduces two new options to add-toggle:

:prefix, a symbol that is bound to the raw prefix argument (as
in `(interactive "P") forms).

:on-message, an expression overriding the default 'on' toggle
message (useful to document a toggle's argument).

These new options are applied to long-lines' toggle, so we can choose
how many lines to toggle it on via a raw prefix argument.
2016-05-06 13:53:41 +02: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
22774e6a96 Make font warning more explicit. 2016-05-05 15:10:30 +02:00
bmag
47e0951a1c spacemacs/dump-vars-to-file: don't visit dump file
Visiting the dump file before writing to it is slow, because it triggers
all the regular actions that happen when a user opens a file, e.g.
enable major mode and minor modes. We don't need all that,
with-temp-file is what we really want.
2016-05-05 13:03:26 +02:00
JAremko
c1d4774d63 doc-fmt iterate until all is fixed
rm unused var

*POKED TRAVIS IN THE EYE*
2016-04-29 21:58:38 -04:00
JAremko
0b9add2f0d Redesign space-doc 2016-04-29 20:00:12 -04:00
syl20bnr
419a0331ab Add font-locking for report-issue-mode buffers 2016-04-29 19:55:46 -04:00
Damon Wang
6e6732c9b5 Adds in-emacs editing to spacemacs/report-issue
spacemacs/report-issue opens a buffer prepopulated with a template and some
system information. The buffer is markdown-mode augmented with a keybinding to
send the contents to github.

Or if that doesn't work, the text remains in the buffer to be manually copied
and pasted. This makes the error reporting more robust: right after the user has
experienced one bug is the worst time to manifest another one.

This commit also rewrites spacemacs//describe-last-keys-string because I
couldn't figure out how else to prevent view-lossage from burying the new
REPORT_SPACEMACS_ISSUE buffer.  Suggestions welcome.
2016-04-29 19:32:36 -04:00
ralesi
5605fa5b66 Async is not present in spacemacs-base 2016-04-29 18:37:34 -04:00
Fabien Dubosson
ce803c6bab Let's try to get this message unnoticed
syl20bnr reported this message can be read on startup because there is a
small delay after it, so let's try to change it to something less weird.
2016-04-28 15:47:53 +02:00
syl20bnr
b21c7177ec core: new command line params --no-layer and --distribution
--no-layer: desactive all the layers except the distribution layer
--distribution: allow the change temporarily the distribution

example

Start emacs with spacemacs-base and no layers:
emacs --no-layer --distribution spacemacs-base
2016-04-21 23:29:23 -04:00
Fabien Dubosson
04267777ca Fix font definition for first frame in daemon mode 2016-04-21 21:10:28 -04:00
syl20bnr
92e144a361 Remove april fool 2016 starting code 2016-04-20 23:46:16 -04:00
Muneeb Shaikh
32f9b809ed core: update report-issue docs and docstring
* core/core-spacemacs.el (spacemacs/report-issue): update docstring
* doc/DOCUMENTATION.org (Reporting Issue table): reword key description
  to keep table width small

Fix #5155
2016-04-17 00:37:47 -04:00
syl20bnr
5ee970f07b Add an empty lines to ascii arts.
This line is used to inject version information.
2016-04-13 09:55:29 -04:00
syl20bnr
bdbe05e615 doc-fmt tool: fix typo 2016-04-12 23:24:28 -04:00
JAremko
b42cba0417 Upgrade doc-fmt
Add test mode: {repo-root}/core/tools/doc-fmt/run.bash test
  applies formatting only to {repo-root}/core/tools/doc-fmt/test.org

Use "gsed" if present.

Add new filters, refactor code.

test.org now represents most of the .org file formatting errors.
2016-04-12 23:19:07 -04:00
JAremko
6b24d059dd Add function spacemacs/prettify-org-buffer
Move Spacemacs documentation prettifiers to a separate function
so they can be used by users.
2016-04-12 23:18:10 -04:00
syl20bnr
f211d3dc28 Update docstring for spacemacs/view-org-file
Respecting convention of upercase function parameter in docstring.
2016-04-12 23:14:31 -04:00
JAremko
78f6b64ae1 Update spacemacs/view-org-file doc string 2016-04-12 23:12:01 -04:00
JAremko
de0f8ff677 Add space-doc link examples to README.org.template 2016-04-12 23:11:26 -04:00
JAremko
625f1a098e view-org-file emits error for non .org files
Now spacemacs/view-org-file emits user-error if used on non *.org file.
2016-04-12 23:08:10 -04:00
Eivind Fonn
bcea630826 Make matlab quasi-derived from prog-mode
Also make this a named function.
2016-04-12 22:48:34 -04:00
Eivind Fonn
2034195771 Remove some mentions of extensions 2016-04-11 14:53:28 +02:00
Richard Kim
4ce4d6de77 allow emacs to be launched with -q option
If emacs is launched with -q option and spacemacs files are loaded via
--eval option, then spacemacs fails due to depending `after-init-time'
variable being set properly which is done only when emacs is launched
without -q. This patch is to remove this dependence so that spacemacs
launched with -q can still work. This is done by introducing
`spacemacs-initialized' variable which is set properly regardless of
which command line options are present or absent.
2016-04-08 18:04:11 -04:00
Eivind Fonn
ec9f6cfd53 Discover layers before testing dotfile 2016-04-07 23:20:05 -04:00
syl20bnr
09ff77fbd4 Make it possible to use spacemacs-bootstrap layer as a distribution 2016-04-06 13:12:13 -04:00
Fabien Dubosson
57e91fe035 Correct more <SPC> to SPC 2016-04-05 12:52:54 +02:00
Robert Johnson
16e1be2691 Fix inconsistent notation of SPC key in docs
Replace all occurrences of <SPC> in org files with SPC.

Fixes syl20bnr/spacemacs#1823
2016-04-05 12:46:10 +02:00
Florian Bruhin
0653e1f3ea Fix spelling error in .spacemacs template 2016-04-05 12:40:12 +02:00
syl20bnr
c55c21d1c3 core: fix layer auto-mode function
Not installed used layers were not lazy installed appropriately.
2016-04-04 22:15:24 -04:00
syl20bnr
22c2763569 core: add package breakdown in summary message
e: elpa
r: recipe
l: local
b: built-in
2016-04-03 12:02:28 -04:00
syl20bnr
50515a826a core: new function spacemacs-buffer/display-info-box
Extract and rewrite the code to display the startup info box.
2016-04-03 02:51:44 -04:00
syl20bnr
d60228219f core: ensure quelpa is available when installing packages 2016-04-03 02:51:01 -04: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
eb14645d0f Lazy require space-doc-mode 2016-04-03 00:36:27 -04:00
syl20bnr
8e897f6b7b core: new layer spacemacs-bootstrap and new package :step
New package :step 'bootstrap', this step happens before 'pre' packages.
A new layer names 'spacemacs-bootstrap' gather all the ':step bootstrap'
packages. This layer is special and is always the first element of
the variable 'configuration-layer--layers' which assure that all
bootstrap packages are configured first.

This new layer leverages the configuration layer system, removes the
clutter of package installations in the function 'spacemacs/init' and
isolate the bootstrap packages in one place.
2016-04-03 00:28:47 -04:00
syl20bnr
a34f910367 Zemacs: Show startup-list for the next millennium 2016-04-01 07:31:22 -04:00
syl20bnr
749f0722b4 core: fix doc-fmt tool 2016-04-01 00:26:20 -04:00
syl20bnr
5efa0e58c0 April Fool 2016 2016-04-01 00:26:19 -04:00
syl20bnr
6770969b6f core: add variables for core-spacemacs-buffer
- spacemacs-buffer-version-info
- spacemacs-buffer-logo-title
2016-04-01 00:26:19 -04:00
syl20bnr
05a04768b1 core: new function spacemacs/window-system-is-mac
Use if to disable the menu-bar
2016-03-31 00:34:28 -04:00
syl20bnr
8f3494d83c core: move system functions to core-funcs.el 2016-03-31 00:33:56 -04:00
d12frosted
80874646fc properly check for system-is-mac 2016-03-31 00:23:59 -04:00
d12frosted
98b329e741 move system-is-* function to core 2016-03-31 00:23:59 -04:00
syl20bnr
ff941e4348 core: fix activation of space-doc-mode 2016-03-31 00:11:36 -04:00
syl20bnr
1f5b61969c Move doc-fmt to core/tools 2016-03-30 23:01:54 -04:00
JAremko
919a960fc2 update README.org.template to the new convention
Remove #+HTML_HEAD_EXTRA: <link ... /readtheorg.css" />

:TOC_4_org:noexport: -> :TOC_4_gh:noexport:
2016-03-30 22:40:16 -04:00
JAremko
8c3d05ee47 Add org-mode link-type "https" to open local copies
The https link-type opens the local copies of the Spacemacs documentation files with
the spacemacs/view-org-file function. It supports GitHub style heading links

For example, the link:

https://github.com/syl20bnr/spacemacs/blob/develop/layers/org/README.org#links

Will be handled similary to as if it was:

file:~/.emacs.d/layers/org/README.org::*links

Also the `space-doc' mode will be applied.

Refactored GH style anchor search.
2016-03-30 22:38:18 -04:00
syl20bnr
30f971d89c reformat some code to respect 80chars per line 2016-03-30 22:35:07 -04:00
JAremko
014bbfd921 Add Spacemacs docs minor mode to hide meta tags.
`space-doc-mode` - Buffer local minor mode for Spacemacs documentation files. The mode hides org meta tags.
Enabled when viewing documentation via `SPC` `h` `SPC`
2016-03-30 22:31:38 -04:00
JAremko
d776ee60b7 Make export to html compatible with GitHub and toc-org
Add new html preprocessors to the org-html-publish-to-html pipeline:
- `spacemacs//toc-org-unhrefify-toc`
- remove the `toc-org` modifications for the TOC
- `spacemacs//org-heading-annotate-custom-id`
- annotate org headings with the indexes that GitHub uses for linking.
  `org-html-publish-to-html` will use them instead of the default
  `#orgheadline{N}`. This way the GitHub links and the
  http://spacemacs.org/ links will be compatible."
- `spacemacs//reroot-links`
- find the links that start with
  https://github.com/syl20bnr/spacemacs/blob/ and end with
  .org{#an-optional-heading-link} (i.e the links between the local org
  files). Change their root to http://spacemacs.org/ so the links will
  point at files located on the site.

*For the "file to file" links to work properly the expor
2016-03-30 22:29:00 -04:00
JAremko
b2aadd06a3 Insert the readtheorg.css links wth html export advice
It removes the need to clutter Spacemacs documentation with
Also it reduces the amount of bugs, because it's hard to get the path right.
2016-03-30 22:28:27 -04:00
JAremko
0557087406 Remove query.stickytableheaders.js (error 404) 2016-03-30 22:28:19 -04:00
JAremko
84370154a2 fix typo 2016-03-30 22:28:11 -04:00
syl20bnr
ad2d0b18d0 core: remove General layers section
Since it is empty right now.
2016-03-30 17:51:16 -04:00
syl20bnr
91eeccc7a5 core: change meaning of t for dotspacemacs-enable-lazy-installation
t now means unused.
2016-03-28 12:10:12 -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
d37c38053e core: fix installation and configuration of lazy installed packages
Several things have been fixed:
- correctly set the :lazy-install flag on all packages of a lazy
  installed layer
- correctly unset the :lazy-install flag when installing the packages
- sort the packages before installation and configuration

Fixes #5610
2016-03-27 12:23:24 -04:00
syl20bnr
21496c462c core: fix detection of packages to lazy install
Make cfgl-layer-owned-packages return a list of package objects instead
of just package names.
Use this function to correctly excluded non owned package when flagging
package for lazy installation.

Fixes #5608
2016-03-27 03:27:53 -04:00
syl20bnr
842bb368ea core: display home buffer when installing a layer lazily 2016-03-26 03:36:54 -04:00
syl20bnr
b7923ad1d9 core: don't configure package marked for lazy install 2016-03-26 03:23:18 -04:00
syl20bnr
f70bcbcd4c core: improve lazy install robustness
- only consider distant packages (i.e. requiring an installation)
- remove lazy install flag of a layer if at least one owned package is
  already installed
2016-03-26 03:23:03 -04:00
syl20bnr
fe8f0a74ad core: fix lazy install prompt for installed layers
Fixes #5591
2016-03-26 02:15:55 -04:00
syl20bnr
a7f46a496e core: fix mode activation when lazy install is cancelled 2016-03-26 00:50:13 -04:00
syl20bnr
8815868524 core: fix lazy installation of not used packages
Fixes #5591
2016-03-26 00:46:11 -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
9d0558992c layers directory: create new categories
+chat
+checkers
+emacs
+intl
+os
+pair-programming
+tags
+theme
+web-services
2016-03-23 21:39:43 -04:00
syl20bnr
9bd6078cc5 Update README.org template for layers 2016-03-21 20:04:38 -04:00
syl20bnr
c3bb8a609e core: add overriding rules for :toggle
:toggle is ignored if not used in the owner of a package, it can
be overridden by new owners or by the dotfile.
2016-03-19 18:26:18 -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
82fdd9a511 Use evil in holy-mode
Motivation

While disabling Evil in holy-mode makes its implementation shorter and
sounds elegant on the paper, in practice it puts a big burden on the
configuration parts which need to know if Evil is enable or not. This is
a bad separation of concerns and the bunch of fixes that we were forced
to do in the past weeks shows this issue. Those fixes were about
removing the knowledge of the activation of Evil by implementing new
dispatching functions to be used by layers, this is cumbersome and makes
Spacemacs layer configuration more subtle which is not good. There was
additional bad consequences of the removal of Evil state like the
impossibility to use Evil lisp state or iedit states, or we would have
been forced to implement a temporary activation of Evil which is
awkward.

Instead I reintroduce Evil as the central piece of Spacemacs design thus
Evil is now re-enabled in holy-mode. It provides the abstraction we need
to isolate editing styles and be able to grow the Spacemacs
configuration coverage sanely. Layers don't need to check whether the
holy mode is active or not and they don't need to know if Evil is
available (it is always available). We also don't need to write
additional dispatching functions, this is the job of Evil, and I think
it provides everything for this. Ideally configuration layer should be
implemented with only Evil in mind and the holy-mode (and hybrid-mode)
should magically make it work for Emacs style users, for instance we can
freely use `evil-insert-state` anywhere in the code without any guard.

Evil is now even more part of Spacemacs, we can really say that
Spacemacs is Emacs+Evil which is now an indivisible pair. Spacemacs
needed this stable API to continue on the right track.

While these changes should be rather transparent to the user, I'm sorry
for this experimental period, I failed to see all the implications of
such a change, I was just excited about the possibility to make Evil
optional. The reality is that Spacemacs has to embrace it and keep its
strong position on being Emacs+Evil at the core.

Implementation

- insert, motion and normal states are forced to emacs state using an
advice on `evil-insert-state`, `evil-motion-state` and
`evil-normal-state` respectively. These functions can be used freely in
the layer configuration.
- A new general hook `spacemacs-editing-style-hook` allow to hook any
code that need to be configured based on the editing style. Functions
hooked to this hook takes the current style as parameter, this
basically generalize the hook used to setup hjkl navigation bindings.
- ESC has been removed from the emacs state map.
- Revert unneeded changes
  - Revert "evil: enter insert-state only from normal-state"
    commit bdd702dfbe.
  - Revert "avoid being evil in deft with emacs editing style"
    commit f3a16f49ed.

Additional changes

All editing style packages have been moved to a layer called
`spacemacs-editing-styles`

Notes

I did not have time to attack hybrid mode, I should be able to do it
later.
2016-03-13 21:16:55 -04:00
syl20bnr
00d13b4ff9 core: use eval for toggle property
In this case the dispatch to symbol-value is useless since we accept
an prog form.

See https://www.gnu.org/software/emacs/manual/html_node/elisp/Eval.html
2016-03-12 14:02:51 -05:00
syl20bnr
7f50c16566 core: add google analytics support for website pages 2016-03-12 13:51:25 -05:00
Joe Hillenbrand
262c760fe6 remove dotspacemacs-use-ido from template 2016-03-12 17:56:06 +01: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
bmag
0daba08781 Use package-user-dir where appropriate
Elpa dir is no longer hard-coded to <user-emacs-directory>/elpa/. Users
can change the location of Elpa dir by changing the value of
package-user-dir.
2016-03-10 23:13:19 -05:00
syl20bnr
1eb2e095a5 Improve previous commit. 2016-03-09 20:05:39 -05:00
Th. Rikl
cb0fb035a2 Modified dotspacemacs/user-init//config comments
to clarify their pre- resp. post-layers character.
2016-03-09 20:03:06 -05:00
syl20bnr
f6657a5382 core: new interactive function to insert lazy installation config
New function configuration-layer/insert-lazy-install-configuration
This function asks for a layer and then insert the lazy configuration
for all the packages owned by this layer.
2016-03-05 23:25:00 -05:00
Boris
51d56232cd fix typo in dotspacemacs/install 2016-03-05 13:43:31 +02:00
syl20bnr
bfec254221 core: replace :additional-docs by an independent macro
- New macro `spacemacs|transient-state-format-hint`
Additional hints can be formatted outside of the transient state macro.
This is a better separation of concern from an API point of view
because those hint are coupled to with the usage of :dynamic-hint
keyword. The transient state macro only need to know the entry point
for such dynamic hints, effectively increasing the readability of
transient state definition.

To be able to decouple the formatting of additional hints, a new
private variable whose name is given by the function
`spacemacs//transient-state-props-var-name` has been introduced.
An alternative would have been the save the whole transient state macro
props but a variable allows the cherry-pick only the values we really
need.

- Remove commented code about old variable
`spacemacs-transient-state-title-face`

- Remove unused keyword :entry-binding since it is not used. Given
the number and diversity of transient states in Spacemacs currently it
is a safe guess to remove this keyword for now. We can reintroduce it
later if really needed.
2016-03-04 18:20:23 -05:00
syl20bnr
9c46bad357 core: add :hint-is-doc keyword to transient state 2016-03-04 17:26:11 -05:00
syl20bnr
613ccb0070 core: add :dynamic-hint keyword to transient state 2016-03-04 17:02:58 -05:00
Eivind Fonn
66ed054a15 Better implementation of previous commit 2016-03-03 21:43:33 +01:00
Eivind Fonn
067ac63f15 Avoid using condition-case during pkg load 2016-03-03 21:37:42 +01:00
Eivind Fonn
52bb7b7c7f Revert one instance of condition-case 2016-03-03 21:14:40 +01:00
bmag
b224c9f1e1 Bugfix: honor package :toggle spec when provided 2016-03-03 20:41:10 +01:00
justbur
39e06feba9 Use unless-debug version of condition-case
It's not possible to get full backtraces in these instances when an
error is signaled, and I think we should generate full backtraces when
debug-on-error is enabled as a general rule.

I had to make this change at one place to track down the root of problem
2 in #5200.
2016-03-03 20:30:30 +01:00
Muneeb Shaikh
aebef8bfcd core: fix dotspacemacs-editing-style docstring 2016-03-01 18:56:24 +01:00
Eivind Fonn
83556719cb Add display-graphic-p to SPC hds 2016-02-23 23:34:49 +01:00
syl20bnr
8849e9c807 core: fix activation of package dependencies
Bug lurking in the code for quite some time, if both a package and
its dependencies were uninstalled then activation of the dependencies
could fail. This is resolved by explicitly asking package.el to install
the dependencies if required.
2016-02-23 13:00:38 -05:00
syl20bnr
fd9326486a core: new function configuration-layer/describe-package
Add actions for both helm and ivy.

TODO:
- see TODO in function body
- replace SPC h d p (list all packages, use spacemacs describe when
it is a layer package, otherwise use vanilla describe).
2016-02-22 02:29:43 -05:00
syl20bnr
e4447264d9 core: new package keyword :toggle
This new keyword allows to add all the packages to the <layer>-packages
even when a package is not toggled on by a given layer variable.

This fixes an issue of the layer system where we had to choose between
discoverability (ie. the list of package in helm or ivy with SPC h SPC)
and installation of package (because any package listed in the variable
<layer>-packages were installed).
2016-02-21 00:01:39 -05:00
syl20bnr
308fb1118d core: replace package keyword :skip-install by :location site 2016-02-20 23:05:36 -05:00
syl20bnr
6bb306a999 Improve theme installation robustness
Also use stock Emacs functions for warning reporting before the
home buffer is actually created.
2016-02-19 23:30:35 -05:00
syl20bnr
da83bef2cb Fix unusable Emacs when an ELPA repository is down 2016-02-19 22:14:45 -05:00
justbur
aab007d225 evil-jumper: Remove obsolete package
The functionality is now incorporated into the evil core and this
package has been marked as obsolete.
2016-02-16 21:23:07 -05:00
syl20bnr
7b6588d017 Fix typo in spacemacs-force-resume-layouts 2016-02-15 00:05:38 -05:00
Kosta Harlan
d6c29bdb8c Add majapahit-theme
This is a nice theme with light & dark versions.
2016-02-14 23:09:26 -05:00
Fabien Dubosson
21cab12125 Add smart closing parenthesis 2016-02-14 23:09:13 -05:00
bmag
31f532dfe5 install-package: don't set lazy-install pkg is nil
Fix bug: When the list of package names returned by
configuration-layer//get-uninstalled-packages contains a package that
isn't contained in configuration-layer--packages, then
configuration-layer//install-package throws "wrong-argument-type:
eieio-object-p nil" error at startup.
configuration-layer//install-packages catches it and prints it in the
home buffer.
2016-02-14 23:07:22 -05:00
Fabien Dubosson
24f0e8cc4b Restart Spacemacs restoring layouts
Fix #5058
2016-02-14 20:59:05 -05:00
Igor Avdeev
0e416290c4 Fix display of recent bookmarks without filename 2016-02-14 20:57:46 -05:00
Xue Fuqiao
a0d33123e5 Update layers/LAYERS.org
Languages like HTML, LaTeX, and Markdown are markup languages.
2016-02-07 14:28:07 +01:00
Muneeb Shaikh
d3ec9a1791 fix paste micro -> paste transient 2016-02-02 16:52:32 +01:00
syl20bnr
065f45f83f Add default value for transient-state dotspacemacs variables 2016-01-31 23:53:52 -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
c40e49f1a1 transient-state: Add pink to color guide
Pink is for keys that do not exit hydras that run foreign keys.
2016-01-31 23:49:49 -05:00
justbur
afec0f2264 transient-state: Add :additional-docs option
Used to format additional docstrings and store the resulting string in a
variable.
2016-01-31 23:48:19 -05:00
justbur
a55e8dc6fa transient-state: Make title face match mode-line 2016-01-31 23:48:19 -05:00
justbur
c12f6b85c8 transient-state: Add .spacemacs var to hide color guide 2016-01-31 23:48:19 -05:00
justbur
c6b7eaca3d transient-state: Tweak formatting of doc
Make title formatting span length of message window, add space
between color guide and keys, and make italic.
2016-01-31 23:48:19 -05:00
syl20bnr
3b6b55485a core: don´t catch errors if --debug-init 2016-01-31 23:15:29 -05:00
Levin Du
330f852752 core: update doc after auto executing in micro state.
This is useful if :doc is a function to return the state which may be
modified by :execute-binding-on-enter.
2016-01-31 23:04:47 -05:00
Balaji Sivaraman
2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
Alex R
62337a3e3a Ensure that pcache-directory ends in a slash 2016-01-31 23:04:46 -05:00
Robert O'Connor
42735c9f9f core: fix typo 2016-01-31 22:18:32 -05:00
syl20bnr
fd4c2fb546 core-spacemacs-buffer: respect 80 characters per line 2016-01-31 20:31:09 -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
5a061b3813 core: new layer files packages-config.el and packages-funcs.el
Start to isolate the list of packages. Also we want to define packages
function at the top level of an elisp file in order to not prevent
emacs from knowing where the functions are defined.

This commit has a POC made with elfeed and elixir layers.
2016-01-31 00:03:04 -05:00
syl20bnr
5b757eb090 core: remove corelv
Since hydra is now a bootstrap package.
2016-01-26 02:05:32 -05:00
Curtis Mackie
5511bdbd6f Added support for remaining base16 themes that were not listed 2016-01-26 01:21:02 -05:00
Fabien Dubosson
aa39eb3fd0 Add a command for reporting issue to spacemacs 2016-01-26 01:21:02 -05:00
justbur
a19710846e transient state: Add color guide to hints 2016-01-26 01:21:01 -05:00
justbur
35ad5f32ba core: Add defer-until-after-user-config
Add function that can be used to defer execution until after
dotspacemacs/user-config is run. If it has already been run the function
executes immediately.

Initially this is only used for deferring the definitions of
transient-states.
2016-01-26 01:21:01 -05:00
justbur
76cd590667 transient-state: Put code in new core file 2016-01-26 01:21:01 -05:00
justbur
9e097d898c transient-state: Load defs after user-config 2016-01-26 01:21:00 -05:00
justbur
f3e68b95a3 transient-state: Defer declaration of transient states 2016-01-26 01:21:00 -05:00
justbur
bbcac824ef transient-state: Add/remove bindings with variables
spacemacs-STATE-transient-state-remove-bindings is a list of keys whose
associated bindings should be removed for a transient state, when this
variable is defined.

spacemacs-STATE-transient-state-add-bindings is a list of bindings
suitable for a hydra whose associated bindings should be added to a
transient state, when this variable is defined.
2016-01-26 01:21:00 -05:00
justbur
e97af03ff7 Call new micro-state a transient state 2016-01-26 01:21:00 -05:00
justbur
154cfeea19 micro-state: Add :title option 2016-01-26 01:21:00 -05:00
justbur
0f4105d09d core-funcs: Cleaner expansion of create-key-binding-forms 2016-01-26 01:21:00 -05:00
justbur
da645c627e micro-state: Add add-micro-state-bindings
Macro that allows additional bindings to be specified for a micro-state
before that micro-state is declared.
2016-01-26 01:21:00 -05:00
justbur
dbd9725c39 spacemacs(-base): Translate micro-states to use new macro
1. spacemacs: scroll
2. spacemacs-base: paste
3. spacemacs-base: macrostep
4. spacemacs-base: transparency
5. spacemacs-base: scale-font
6. spacemacs-base: wind-manip
7. spacemacs-base: buffer
8. spacemacs: symbol-highlight
9. spacemacs: move-text
10. spacemacs: zoom-frm
11. spacemacs: evil-numbers
2016-01-26 01:20:59 -05:00
justbur
13c41947b1 micro-state: Define wrapper for defhydra
Try to use as many of the old keywords from spacemacs|define-micro-state
as possible in the new macr spacemacs|define-micro-state-2 (the 2 is
just to use for the transition period)
2016-01-26 01:20:59 -05:00
justbur
90df083ad3 spacemacs-base: Add hydra package 2016-01-26 01:20:59 -05:00
Eivind Fonn
ad6efee8a2 Don't accidentally overwrite skip-install 2016-01-26 01:20:59 -05:00
Eivind Fonn
2d29953200 Enhance theme handling
- Restrict default theme code to spaceacs/load-theme
- Don't download package for default
- Explicitly call post-theme-init for default
- Explicitly disable existing themes when loading
2016-01-23 14:40:24 +01:00
Ista Zahn
86dd7926b7 Allow default theme in dotspacemacs-themes 2016-01-23 14:13:25 +01:00
Eivind Fonn
e8a10c3d54 Clean up REPL code 2016-01-22 16:31:37 +01:00
Alejandro Catalina Feliú
fb99f3ff19 Add global access to all available REPLs
Enable a global binding to access a list of available REPLs to run
everywhere. If the requested REPL depends on a major-mode that hasn't
been loaded, it will be loaded along its dependencies.

To make this work, a new `spacemacs/register-repl` function is included.
This function adds a major-mode and its repl function to a global
variable.
2016-01-22 16:01:19 +01:00
Eivind Fonn
82cb1fe780 Enhance spacemacs|diminish
- Overwrite instead of push to front (fix #4679)
- Allow unicode to be nil (fully diminish)
2016-01-21 16:10:24 +01:00
james sangho nah
23525a3d1d Remove non-directories from rollback slot list
Addressing #4586. The bug stops Spacemacs from listing rollback slots if
there exists a file (i.e. non-directory) in the rollback directory.
e.g. .emacs.d/.cache/.rollback/.DS_Store (common in OS X)
2016-01-21 15:55:32 +01:00
syl20bnr
1a5229048c core: new keyword :skip-install 2016-01-17 23:27:30 -05:00
Fredrik Bergroth
061805c7ea Add prev/next file navigation to unimpaired layer 2016-01-17 22:48:12 -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
321d2f028a core: add configuration-layer/remove-layer(s) 2016-01-13 00:06:38 -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
Fabien Dubosson
78b8d939f4 Add spacemacs/describe-last-keys 2016-01-11 22:01:01 -05:00
Fabien Dubosson
dbf6a9de7e Improve describe-system-info output 2016-01-11 22:01:01 -05:00
syl20bnr
046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Chris Barrett
6d7d399cfe Update packages.el template
- Remove extensions template
- Prompt before creating readme (Users creating private layers probably
  don't want to create a readme)
- Template out layer author and email address
- Rename LAYERNAME to LAYER_NAME for readability
- Use fallback attributes if user-full-name is unset
- Fix inconsistent Spacemacs capitalization in template
2016-01-11 19:06:43 -05:00
syl20bnr
8ca9f7a5e5 core: sort alphabetically the list of packages to be updated 2016-01-11 10:59:52 -05:00
person808
59319f9e8b Fix typo in dotfile template. 2016-01-11 02:08:51 -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
justbur
f3ef9cd206 spacemacs-buffer: Add back q binding
It seems to have been lost with the switch to fundamental-mode
2016-01-11 01:13:09 -05:00
syl20bnr
d610a13d60 core: display the list of packages to update 2016-01-11 01:13:09 -05:00
syl20bnr
53d55d3da6 core: offer completion framwork choice in wizard 2016-01-09 14:19:01 -05:00
justbur
900ae8a06d core/config-layer: Conditionally use ivy in create-layer 2016-01-09 13:36:03 -05:00
justbur
bf40dc3b70 ivy: Guard helm-mode call in spacemacs-buffer 2016-01-09 13:36:03 -05:00
justbur
1f01c5dc7b spacemacs-buffer: Use ivy-spacemacs-help when avail. 2016-01-09 13:36:03 -05:00
justbur
32f523e062 spacemacs-helm: New layer
Collect helm configuration from spacemacs and spacemacs-base into one
place. The purpose is to allow choice between this layer and
spacemacs-ivy.
2016-01-09 13:36:03 -05:00
Fabien Dubosson
72a89ab312 Use jump-forward C-i binding only in GUI mode
Background: `C-i` and `TAB` are the same keycode for historic reasons.

With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:

- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
  to use the `C-i` (==`TAB`) keycode.

- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)

The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.

[1] 082bd65ccc/evil-maps.el (evil-maps.el-323)
[2] efaa841ca4/evil-jumper.el (L241)

Fix #4505
Fix #4487
2016-01-09 18:43:48 +01: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
6fc995e196 core: derive spacemacs-mode from fundamental-mode
special-mode does nothing ... special but bring unwanted mapped keys.
2016-01-08 23:34:34 -05:00
justbur
f52eb86b69 spacemacs-buffer: Make map overriding for evil
Prevents keys in this map from being shadowed by evil-motion-state-map

Fix #4471
2016-01-08 23:11:44 -05:00
justbur
1c94c84c09 bind-map: Add evilified state to evil major-mode keys
Fixes problem referred to in #4495
2016-01-08 20:52:53 +01:00
syl20bnr
609b79fd6c core: move handling of --insecure to core-command-line.el 2016-01-06 23:27:09 -05:00
syl20bnr
26e3a71a2c core: fix always set flag debug-on-error 2016-01-06 23:23:01 -05:00
syl20bnr
19f9a4da6f core: remove unnecessary spacemacs//hide-home-buffer 2016-01-06 23:19:55 -05:00
justbur
f39033afdb startup: Fix for #4057
Please check this, but this does the trick for me to fix #4057. The
reason I'm not sure about it is I don't know what the purpose of the
do-after-display-system-init code is. It doesn't seem necessary for me,
and I'm testing this on the GUI version.
2016-01-06 23:19:12 -05:00
syl20bnr
15c7ae5bdf core: hide home buffer if a file is passed on the command line
Note that any non Emacsy command line parameter and non processed
command line parameter (that is unknown from Spacemacs) will hide the
home buffer. This should be good enough.

Fixes #4057
2016-01-06 23:03:23 -05:00
syl20bnr
76d8ff8621 core: allow debug arguments without --debug-init
Add a new core file for processing command line arguments
2016-01-06 22:50:13 -05:00
syl20bnr
1558ca3b09 Fix spacemacs-buffer/goto-buffer being called twice in some cases
When using the GUI the function is called twice, once in spacemacs/init
and once with spacemacs--after-display-system-init-list
2016-01-06 22:14:17 -05:00
syl20bnr
723a7921d7 core: update home buffer links to point to spacemacs.org 2016-01-06 01:21:06 -05:00
Michael Simpson
be0722764f Fix typo in .spacemacs.template comment 2016-01-05 00:41:09 -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
1fc798139b nyancat: Add support for emacs --daemon and GUI client 2016-01-04 23:48:55 -05:00
syl20bnr
18b1b4b411 Explicitly recreate the home buffer for first GUI client 2016-01-04 23:39:35 -05:00
syl20bnr
c913ec89f8 Improve support for GUI client of emacs --daemon
Fix spacemacs|do-after-display-system-init
Delay setup of spaceline separator
Explicitly reload the theme for the first GUI client
2016-01-04 23:18:45 -05:00
syl20bnr
fa39bb1128 Fix spacemacs|do-after-display-system-init
Checking for system-type is not enough accurate, it broke when using
an X server under OS X because system-type is darwin but the
initialized display is x-initialized not ns-initialized.
2016-01-04 01:12:17 -05:00
Travis B. Hartwell
eea3df4877 Properly initialize the display for daemon mode.
Add macro to wrap things that depend on the display being
initialized (and a frame active), such as getting the font.  Advise the
`server-create-window-system-frame` function which is called by
emacsclient when creating a window-system frame.  This is only run the
first time a frame is created, so the advice removes itself.

Fixes: syl20bnr/spacemacs#299 and syl20bnr/spacemacs#1894
(Among others)
2016-01-04 01:06:05 -05:00