Commit graph

1346 commits

Author SHA1 Message Date
syl20bnr 6f7b57650b core: backport battery fix for macOS 2018-01-12 22:37:04 -05:00
syl20bnr a131c89909 core: add support for mode-line themes
New layer variable `dotspacemacs-mode-line-themes`:

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

See DOCUMENTATION.org changes for more info.

This commit adds support for `spaceline-all-the-icons` package.
2018-01-11 23:53:44 -05:00
syl20bnr 4ecd015fe8 core: process all post-init function after all the init functions
With this commit, the new loading order for package configuration is:
- pre-init functions for all packages
- init function of all packages
- post-init functions for all packages
2018-01-11 23:52:18 -05:00
syl20bnr 80a10f79db core: fix alphabetical order of package configuration loading
It was reversed in commit e9fb5285f4
2018-01-11 10:43:44 -05:00
syl20bnr e9fb5285f4 core: execute all pre-init function before init and post-init
Fixes loading order issues when declaring use-package hooks.

Fixes #9979
2018-01-10 23:33:15 -05:00
syl20bnr 6438d986ab core: update quelpa library 2018-01-10 10:38:33 -05:00
Igor Avdeev 709782bdc1 Fix handling of windows paths of package archives
- the configuration-layer//resolve-package-archives function was adding
  extra `http://` for windows paths
2018-01-10 00:13:01 -05:00
Miciah Masters ea6c2657b8 core: Fix unescaped character literals
Escape left and right bracket character literals to avoid the following
warning:

    Loading ‘core-dotspacemacs’: unescaped character literals `?[', `?]' detected!
2018-01-08 01:49:28 -05:00
Miciah Masters 2245b73db7 core: Fix lambda quoted with '
Delete the quote preceding the lambda in spacemacs|add-toggle to avoid
the following warning:

    .emacs.d/core/core-toggle.el: (lambda (x) ...) quoted with ' rather than with #'

While #' would be more correct than ', there is no need to quote the
lambda at all.
2018-01-08 01:48:51 -05:00
syl20bnr 46c5dfa4a7 cl-loop instead of loop 2018-01-06 21:38:13 -05:00
duianto b3ddc962ec Fix 3 typos 2018-01-06 11:25:23 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr 6b865deebf core: add support for major mode specific toggles
Modify macro spacemacs|add-toggle to create additional sets of functions for
each supported modes when the toggle is major mode specific.

A toggle is major mode specific when it is bound to keys using the keyword
:evil-leader-for-mode

Updare documentation to add a section on toggles in the Spacemacs concepts.
2018-01-04 01:40:52 -05:00
nashamri f50626c353 Latest updates of spacemacs-theme 2017-12-23 17:28:31 +02:00
syl20bnr 2ed3946d7b emacs-lisp: improve nameless configuration
- Change nameless prefix to > instead of default :
- Change toggle to SPC m >
- Set nameless separator to nil in order to make it work with any type or separator
- Add diminish unicode ⧁
- Define some default global aliases for Spacemacs source code
- Rename layer variable emacs-lisp-nameless-mode to emacs-lisp-hide-namespace-prefix
- Make variable nameless-current-name safe as a local variable for string values
- Set nameless prefix for core-configuration-layer.el
2017-12-17 23:30:24 -05:00
JAremko b4b7d63e41 Fix typo 2017-12-03 18:13:36 +02:00
JAremko 87a2145b4a New export (first working version) 2017-12-03 17:54:55 +02:00
duianto 26c6623148 Remove stray characters from output-dir argument
The output-dir argument seems to have gotten some stray characters.
2017-12-01 18:44:28 +02:00
nashamri d42ec614f2 spacemacs-theme support for treemacs mode 2017-12-01 18:39:12 +02:00
JAremko 489d70c0f0 work on the new html export 2017-11-19 06:28:46 +02:00
syl20bnr 36c15b79f6 core: move versions to new file core/core-versions.el
As we need to have version files available in tests without loading the whole
init.el file.
2017-11-12 10:04:12 -05:00
syl20bnr f290565098 core: new dotfile variable dotspacemacs-use-spacelpa
If non-nil then Spacelpa repository is the primary source to install
a locked version of packages. If nil then Spacemacs will install the lastest
version of packages from MELPA. (default nil)

The default value will be true when we bust all the major bugs.
2017-11-12 09:33:58 -05:00
syl20bnr a363f85d33 core: for elpa dir, replace branch name by a variable set in .lock
New variable configuration-layer-elpa-subdirectory set in .lock file.
Now users creating a branch based on develop or master won't reinstall
all the packages in a new elpa directory.
2017-11-01 23:23:34 -04:00
syl20bnr 8a5771559e core: change scope of elpa stable variables
make them public when they are used outside of core-configuration-layer.el
make them private when they are used only on this file.
2017-11-01 23:23:34 -04:00
syl20bnr e7cd788d06 Update Change Log for 0.200.10 2017-11-01 22:12:57 -04:00
syl20bnr 0ea72bcde7 core: fix computation of elpa directory
Use const input for function configuration-layer/elpa-directory
New const variables used as input:
- configuration-layer--elpa-root-directory
- configuration-layer--rollback-root-directory

Fix computation of elpa directory by using expand-file-name.

Fixes #9805
2017-10-31 00:35:18 -04:00
syl20bnr d15772fadc core: add support for GnuPG signed Spacelpa archives
New dotfile variable dotspacemacs-verify-spacelpa-archives
Default value is nil for now, users wanting to help testing this feature can
set it to t and delete the directory ~/.emacs.d/.cache/stable-elpa and restart
Emacs to download the Spacelpa archive and verify it.

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

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

Example of signature files can be found here:
https://github.com/syl20bnr/spacelpa/releases/tag/v0.300
2017-10-30 00:57:48 -04:00
syl20bnr bd6226d9fb core: add e key bindings in Quick Help home screen 2017-10-29 22:10:44 -04:00
syl20bnr 41dcccc22b core: add spacemacs-buffer/error like spacemacs-buffer/warning
New function spacemacs-buffer/error that gather all the errors and then display
them in the startup buffer under a new list entry `Errors:`.
Add shortcut `e` to go to errors list entry.
New private function configuration-layer//error to wrap spacemacs-buffer/error
and increment the startup error count that is displayed in a red mode-line when
startup process finishes.
2017-10-29 22:01:39 -04:00
syl20bnr 247b63dac1 core: add (please wait) msg when downloading spacelpa 2017-10-29 21:47:08 -04:00
syl20bnr e63febeafd core: add optional parameter to spacemacs/set-mode-line
redisplay: it non nil then force refresh of the display
2017-10-29 21:43:43 -04:00
syl20bnr 2a11da4ad7 core: add check for gzip executable on Windows to install spacelpa 2017-10-29 21:39:35 -04:00
syl20bnr cc73871cb4 core: Fix issue with custom settings and lazy loading
Fixes #9736
2017-10-29 10:39:48 -04:00
syl20bnr 65d5e42b8e core: add support for stable ELPA repository hosted on GitHub
Use the official spacelpa ELPA repository.
address: https://github.com/syl20bnr/spacelpa

ELPA repository configuration is now in a file called .lock at the root of the
git repository. Its goal is to setup the ELPA repositories for a given branch
and it should not be modified! The philosophy of Spacemacs is to never fork the
git repository and this lock file has been put in the repo on purpose.

Only the master branch will have a .lock file that points to spacelpa, the
develop branch won't use the stable ELPA repository and will continue to behave
like it always did.

BUT for testing purpose and until the first major version of Spacemacs that uses
the stable ELPA repo is released I push a .lock file to develop branch that
points to spacelpa.

I understand that some people can be annoyed by this so the variable
configuration-layer--elpa-archives can be overriden by putting a setq in your
dotfile in the user-init function like this:

  (setq configuration-layer--elpa-archives
        '(("melpa"    . "melpa.org/packages/")
          ("org"      . "orgmode.org/elpa/")
          ("gnu"      . "elpa.gnu.org/packages/")))
2017-10-29 01:20:25 -04:00
syl20bnr 3d10ad6742 core: change default value of dotspacemacs-elpa-subdirectory
Set it to emacs-version as it is the saner defaults here. When updating the
version of emacs, packages should be byte-recompiled. Thus this is safer to
isolate each package by emacs-version.
2017-10-29 00:27:00 -04:00
duianto e2a45e0c39 Fix switch to home buffer moves prev buffers cursor
Switching to the Spacemacs home buffer `SPC b h`, moves the previous buffers
cursor to the top.
2017-10-21 16:32:00 +03:00
bmag 615ed388a5 cycle themes: handle backward argument better and cleanup
Change meaningful values of BACKWARD argument to just nil and non-nil.

Get rid of spacemacs--cycle-themes, it was unnecessary.

Create a defvar for spacemacs--cur-theme.
2017-10-21 15:33:12 +03:00
nashamri 466d6e9b2e Update with the latest changes of spacemacs-theme 2017-10-21 14:45:45 +03:00
JAremko 5b636bcfc9 Update export script 2017-10-18 06:30:43 +03:00
AdrieanKhisbe 9eab3bb6aa Enable backward theme cycling and add dedicated transient-state
Original Commit List
- update cycle-spacemacs-theme function to work backward with universal arg
- add a transient-state hydra to cycle through the modes
- move the transient-state definition in the +distribution spacemacs-base
- refactor using hydra syntax for expression as command
- modified cycle-theme to handle negative command argument
- add keybing for helm-themes in the transient-state
2017-10-15 11:29:21 -04:00
Dean Todevski 4a5ecb2a17 Add support for gruvbox theme variants
Adds support for setting the following gruvbox theme variants
as dotspacemacs-theme:

  - gruvbox-dark-soft

  - gruvbox-dark-medium

  - gruvbox-dark-hard

  - gruvbox-light-soft

  - gruvbox-light-medium

  - gruvbox-light-hard
2017-10-15 11:08:01 -04:00
syl20bnr 41e91a9dcf core: move all dotspacemacs-helm-* variables to layer variables
Add support for backward compatibility via a macro instrad of defvaralias as the
latter was not sufficient to support all the use-cases.
2017-10-08 10:29:34 -04:00
syl20bnr 5ed671b2d5 core: remove wizard question about completion engine.
The default value is now at the distribution level. The user must put the ivy
layer explicitly in the dotfile.

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

I'm afraid that we add too much wizard questions as the helm/ivy case will
happen more and more in the future. Neotree and Treemacs are the first layers
to follow the Helm and Ivy pattern. I don't want to add a fourth question to
the wizard which makes it heavy and is not as useful for new users.
2017-10-08 10:29:26 -04:00
syl20bnr 67aaf51631 Move neotree to its own layer in new +filtree folder
Add neotree layer to default spacemacs distribution.
2017-10-08 07:51:43 -04:00
syl20bnr dc58801c7d core: refactor shadow mechanism
Shadowing is now control by layer property ':can-shadow' only.
can-shadow is a commutative relation, if layer1 can shadow layer2 then layer2
can shadow layer1.
the shadow operator is a binary operator accepting two layer names, it is not
commutative and the order of the operands is determined by the order of the
layers in the dotfile (like the ownership stealing mechanism).

If ':can-shadow' is set explicity to nil in the dotfile then the layer won't
shadow any layer.
For instance to install both ivy and helm layer:

   (setq dotspacemacs-configuration-layers
   '(
     ivy
     (helm :can-shadow nil)
     )

note that due to the commutative relation the above example can also be
written (in this case, ':can-shadow' should be read ':can-be-shawdowed'):

   (setq dotspacemacs-configuration-layers
   '(
     (ivy :can-shadow nil)
     helm
     )
2017-09-25 23:07:22 -04:00
syl20bnr 95699ee61c core: add layer shadowing system
Layers can now declare in their layers.el file that they shadow one or more
layers using the following functions:

- configuration-layer/shadow-layers
- configuration-layer/shadow-layer

Those function are commutative so:
    (configuration-layer/shadow-layer 'layer1 'layer2)
is the same as
    (configuration-layer/shadow-layer 'layer2 'layer1)
and means that
layer1 shadows layer2
and
layer2 shadows layer1

The typical use-case is helm and ivy layers. Helm shadows the ivy layer and
Ivy shadows the helm layer.

Shadowing is sensitive to the order of declaration of layers in the dotfile,
for instance:

    (setq dotspacemacs-configuration-layers '(
      helm
      ivy
     ))

means that ivy shadows helm so helm layer is effectively ignored,
whereas

    (setq dotspacemacs-configuration-layers '(
      ivy
      helm
     ))

means that helm shadows ivy so ivy layer is effectively ignored.

This mechanism can be turned off using the :can-shadow keyword:

    (setq dotspacemacs-configuration-layers '(
      ivy
      (helm :can-shadow nil)
     ))

means that both ivy and helm layers will be installed (not recommended in this
case)

Note that the `:can-shadow` mechanism will be fully implemented in a next
commit.
2017-09-21 23:56:09 -04:00
JAremko f0bc44738d Add new Docker files for CI
[tools&CI] Add arg -Q to Emacs calls where it is appropriate
2017-08-31 19:12:45 +03:00
syl20bnr 82220fce3a Remove old wording "contribution layer" 2017-08-28 11:33:55 -04:00
Alex Coventry 937a7c3f0c Fix reference to cfgl-package-distant-p 2017-08-27 22:12:58 -04:00
JAremko e1d9249500 CI: fix race in dirs creation 2017-08-19 16:28:45 +03:00