Commit graph

1208 commits

Author SHA1 Message Date
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 703f78c2b8 Cleanup pass on file spacemacs-base/funcs.el
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
  core/core-funcs.el
- Remove unused functions

Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
2016-10-09 13:14:41 -04:00
syl20bnr 7ff631a1d9 Change j/k to J/K to navigate home buffer
Update the quick help and sort the key bindings a bit.
2016-10-09 13:14:41 -04:00
syl20bnr 36f861aaff Set default value of dotspacemacs-startup-lists to nil 2016-10-09 12:25:56 -04:00
Tobias Gläßer 65b076e4d9 Use j/k in spacemacs buffer for widget motions
Currently j/k were only navigating between lines, but hitting RET
wouldn't work on a recent file and the like, when the cursor wasn't
directly over the filename. Changing j/k to widget navigation, ensures
that the cursor is always on something clickable. This change should
make the home buffer feel more at home for evil mode users.
2016-10-08 19:42:27 +02:00
ynilu 3b6c0e3b31
Correct the format of recipe when check for update 2016-10-03 20:53:33 +03:00
syl20bnr e6357a5ea3 Add missing 0.200 release notes for home buffer 2016-10-03 02:16:42 -04:00
syl20bnr fcfae43ddc Add newsletter 01 2016-10-03 00:23:15 -04:00
syl20bnr 03c1b5c466 core: Add an alias for dotspacemacs-enable-paste-micro-state 2016-10-03 00:23:15 -04:00
deb0ch 7860804fff adjust or center startup lists in home buffer 2016-09-22 10:19:39 +02:00
Eivind Fonn 26df4a7799 Fix initial-buffer-choice in daemon mode 2016-09-15 12:07:51 +02:00
Eivind Fonn e02c012ba1 Additional home buffer fixes 2016-09-14 20:53:30 +02:00
Steven Allen 7e903da247 Never use negative widths when formatting the spacemacs buffer caption.
Fixes: #7114
2016-09-14 19:44:01 +02:00
deb0ch fd9ac4afce refactor spacemacs-buffer/goto-buffer: fix logic flaw, center in terminal
fix buffer not re-created when buffer does not exist and last-width did
not change.

allow for home buffer centering in terminals.
2016-09-14 11:41:40 +02:00
d12frosted 8578b40404
properly resolve local package archive urls 2016-09-13 16:44:41 +03:00
Paul Young 9031348617
Fix a typo in the version switching message 2016-09-13 13:21:52 +03:00
syl20bnr 03f9f9f700 core: contain side effects when loading packages for SPC h SPC
Fixes some edge cases like SPC f e R performed after SPC h SPC which
could wrongly install or uninstall packages.

Side effects is contained using the variable
configuration-layer--package-properties-read-onlyp, if non nil then
properties value of a package cannot be overwritten.
2016-09-05 20:54:07 -04:00
syl20bnr 34971edc32 core: fix make-package multiple calls side effects
Calling multiple times configuration-layer/make-package appends the
same layers to :owners, :pre-layers and :post-layers slot.

Use object-add-to-list instead of push.

Add some tests and mock some warning messages.
2016-09-05 15:01:35 -04:00
syl20bnr 7a9f031e2b core: Split configuration-layer/make-packages-from-layers
Split the function in two functions:
- configuration-layer/make-packages-from-layers
- configuration-layer/make-packages-from-dotfile
2016-09-05 12:40:44 -04:00
syl20bnr f7668181d6 core: refactor make-package and make-packages
Rename configuration-layers/make-packages to
       configuration-layers/make-packages-from-layers

Move all package initialization logic to configuration-layers/make-package
instead of having it split between make-packages and make-package.
2016-09-05 11:54:29 -04:00
syl20bnr 9066d073b2 Fix (void-variable spacemacs-jump-handlers-....)
Move the variable definitions to config.el and eval-after-load the
key binding on SPC m g g.
2016-09-04 22:31:47 -04:00
syl20bnr 43a445b1df Remove wrongly pushed change in core 2016-09-04 12:29:52 -04:00
syl20bnr c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00
Aaron Jensen bc5eb62e53 core: Add resize hook later in startup
Fixes hang while resizing on startup with initial-frame-alist.

Fixes #6986
2016-09-03 12:07:07 +02: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
Andrew Schwartzmeyer 6a08e2f65e Fix get-package-directory regex
Previous change in 5d6e9ab789 dropped the
"/" marker to match at beginning of string. Since directory-files
matches a regex, use "\\`" to indicate match at beginning of string.
2016-09-02 21:44:43 +02:00
Eivind Fonn 3a28393a23 Implement :enabled-for layer keyword 2016-08-31 22:15:13 -04:00
Eivind Fonn a90414cc1b Add additional linebreak in home buffer 2016-08-31 18:48:27 +02:00
deb0ch 55accac7e5 center startup summary in spacemacs buffer 2016-08-31 18:44:15 +02:00
deb0ch 7dfa038107 redisplay startup info summary when re-centering and refreshing spacemacs buffer 2016-08-31 18:42:19 +02:00
Eivind Fonn df255da69a Fix: only choose random banner once 2016-08-31 18:33:48 +02:00
ralesi a7d4674202 Auto center spacemacs-buffer on window resize. 2016-08-31 18:29:12 +02:00
Tej Chajed 4e7d80b50a
core: Use lowercase in bug report submit binding
"C-C C-C" is confusing since the Emacs convention is to use lowercase
letters in keybindings.
2016-08-30 14:26:43 -04:00
Kaleb Elwert d202ead5fa Add new base16 color schemes 2016-08-30 16:05:59 +02:00
syl20bnr 41f70e979c Add todo to remove delayed layer hack in future version 2016-08-25 22:51:32 -04:00
Eivind Fonn 734c87fb24 Don’t break asynchronous jumpers (fix #6898) 2016-08-24 13:11:57 +02:00
Kaleb Elwert 131e0faef9 Update base16 themes to match new list 2016-08-24 11:34:30 +02:00
Eivind Fonn b47d0661c2 Update base16-tomorrow-dark name (fix #6903) 2016-08-24 09:59:22 +02:00
Eivind Fonn 928983da47 Refactor jump to definition
This commit defines:

- spacemacs-default-jump-handlers: a list of functions that can jump to
  definition in ALL modes.

- spacemacs-jump-handlers-MODE: a list of functions that can jump to
  definition in MODE.

- spacemacs-jump-handlers: a buffer-local list of functions that can
  jump to definition. This is made up of the values of the two previous
  variables whenever a given major mode is activated.

- spacemacs/jump-to-definition: a function that tries each function in
  spacemacs-jump-handlers in order, and stops when one of them takes us
  somewhere new.

- spacemacs|define-jump-handlers: a macro that
  * defines spacemacs-jump-handlers-MODE, possibly filled with initial
    functions
  * defines a function that is added to the hook of the given MODE
  * binds “SPC m g g” of that MODE to spacemacs/jump-to-definition

This is an attempt to harmonize all the different approaches to jumping.
Specifically,

- Existing intelligent jump packages that work for only a single mode
  should go to the beginning of spacemacs-jump-handlers-MODE. E.g.
  anaconda for python, ensime for scala, etc.

- Packages like gtags that work for several modes (but potentially not
  all) and which is dumber than the intelligent jumpers should go the
  the END of spacemacs-jump-handlers-MODE.

- Packages like dumb-jump that work for all modes should go to
  spacemacs-default-jump-handlers.

In all cases the order of the jump handlers in each list should be from
most to least intelligent.

Fixes #6619
2016-08-22 15:08:25 +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 564cbc40ed core: better behavior for dotspacemacs-download-packages
See end of this message for important breaking changes.

Previous behavior was to configure any installed package which caused
a lot of bad side effects and could make spacemacs unusable. This
behavior made little sense and does not fit with spacemacs.

This commit fixes this behavior by separating installed packages from
configured packages. In short dostspacemacs-download-packages variable
now only affect package installation. Packages are now configured if and
only if they are effectively *used* (i.e. listed in variable
dotspacemacs-configuration-layers or dotspacemacs-additional-packages).

IMPORTANT CHANGE: functions `configuration-layer/declare-used-layer` and
`configuration-layer/declare-used-layers` have been removed. These
functions have been introduced in develop branch only so the impact
should be minimal.
2016-08-19 21:04:33 -03:00
syl20bnr 64d3eb953e Standardize docstring for dotspacemacs-helm-use-fuzzy 2016-08-18 22:51:10 -03:00
syl20bnr a14bfb9d6d core: fix 'all value for dotspacemacs-download-packages 2016-08-18 22:48:34 -03:00
Nir Friedman ed1f782bdf Add option for helm fuzzy matching
Change-Id: If3f59e53fa954c230938876184852d1a34f3e7d3
2016-08-17 20:53:45 +02:00
ivanbrennan 622cd38532 use spacemacs-core-directory const
As long as we've defined a spacemacs-core-directory, we might as well use it where
possible.
2016-08-17 19:59:25 +02:00
ivanbrennan 5d6e9ab789 optimize spacemacs//get-package-directory
Saving a pkg-match regex to a temporary variable lets us avoid recomputing it on each
iteration. I didn't benchmark the performance impact, but unless there's a downside to
using `let*` vs `let`, it seems like a no-brainer.

Passing pkg-match to `directory-files` reduces the returned files to those that match the
regex rolling our own reduction.
2016-08-17 19:57:47 +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
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