Commit graph

1379 commits

Author SHA1 Message Date
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
JAremko
014b0e1b44 fix deploy.. again 2017-08-19 16:28:35 +03:00
JAremko
06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03:00
syl20bnr
2bd08116aa core: fix update of packages
t parameter is not needed anymore since the passed list distant-packages is
already filtered to contain only used packages.

Fixes #9420
2017-08-13 13:21:54 -04:00
syl20bnr
06d7ddbeea core rename argument to NO-CONFIRMATION
instead of `always-upate`.
2017-08-12 20:48:35 -04:00
syl20bnr
6afa753848 core: remove variable configuration-layer--used-distant-packages
- remove variable configuration-layer--used-distant-packages
- rename function configuration-layer//get-distant-packages to
  configuration-layer//filter-distant-packages to better reflect what it does
- Add argument PREDICATE to configuration-layer//filter-distant-packages
- New cfgl-package methods: cfgl-package-used-p and cfgl-package-distant-p
- Add unit tests
2017-08-12 20:48:35 -04:00
bmag
0fb17fa9fa dsm-vars: fix docstrings and comments, better consistency
Add `(default X)` comment to almost all dotspacemacs variables in
dotspacemacs/init function in the template. Exempted are variables with long
default values. (e.g. dotspacemacs-themes)

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

Fix some minor grammar and spelling mistakes.
2017-08-09 16:12:51 +03:00
JAremko
98ff30f4bf Fix CI with nested "Features:" list 2017-08-06 08:16:13 +03:00
JAremko
c9b668ed30 QF current export with relocate files 2017-08-03 10:23:53 +03:00
JAremko
d8addb1674 Improve README.org template 2017-08-02 20:42:12 +03:00
JAremko
f5e58bfb37 Shorten messages 2017-08-02 20:41:57 +03:00
JAremko
2ef230369a Convert new exporter into standalone tool 2017-08-02 09:16:23 +03:00
d12frosted
d5ae3a6a1f
use url-hexify-string to encode issue report body
Fixes #9301
2017-07-31 14:58:57 +03:00
duianto
38bf5fd9f2
Update spacemacs template, paste ts docstring
"micro-state" was the previous name for "transient-state".
Reword the sentence and quote the kill-ring variable.
Duplicate the docstring to the dotspacemacs-enable-paste-transient-state
variables docstring in core-dotspacemacs.el.
2017-07-25 21:51:26 +03:00
JAremko
fc00cfa882 core-documentation-edn refactoring 2017-07-25 01:56:29 +03:00
JAremko
b7955d66d4 Assume "no" for lazy installation in the --batch mode 2017-07-25 01:56:13 +03:00
JAremko
72659c59ab Initial impl of export to intermediate doc formats 2017-07-25 01:56:03 +03:00
JAremko
106f98497e Update README.org template
Replace some local Org links with GitHub ones
2017-07-23 01:22:20 +03:00
nashamri
c2fe26dd83 Latest spacemacs-theme updates 2017-07-17 20:18:32 +01:00
Sebastian Nagel
5bca990d8f Fix the base16-solarflare mapping in core-themes-support.el 2017-07-06 08:48:39 +02:00
Eivind Fonn
f4b53d2a4f Rename :depends to :requires 2017-07-03 09:54:53 +02:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Eivind Fonn
2ee6c2c977 Fix: Better checking of used packages 2017-07-02 09:41:38 -04:00
Eivind Fonn
db4adde089 Fix: Check owner of dependent packages 2017-07-02 09:41:38 -04:00
Eivind Fonn
69b5f83d5a Fix: Check dependencies for owned packages too
Fixes #9134
2017-07-02 09:41:38 -04:00
syl20bnr
3419247ee8 core: remove unused functions
configuration-layer/load-or-install-protected-package
configuration-layer/load-or-install-package
2017-07-01 18:06:47 -04:00
syl20bnr
dfad77dc47 core: update some doc strings
Rename arguments PKG to PKG-SPECS for consistency with make-layer function.
2017-07-01 17:48:31 -04:00
syl20bnr
cc0d8cafb2 core: rename configuration-layer/sync to configuration-layer/load
Replace the optional argument `no-install` by a global variable named
`spacemacs-sync-packages`.
Rename the hooks to reflect the renaming of the function.
Rename the flag `--no-sync` to the more explicit `--no-package-sync`
2017-07-01 10:54:37 -04:00
ZarsBranchkin
1e340f62f3 add --skip-sync startup flag
This adds a new startup flag `--skip-sync`. It will force spacemacs to skip
package synchonization. This can be useful in cases when you're working under
poor or restrictive network.

Thanks, @zaript, for this idea!
2017-07-01 09:54:21 -04:00
JAremko
907306a117 optimize space-doc-mode 2017-06-25 00:14:29 +03:00
JAremko
48ef00e094 set pretty-docs nil by default 2017-06-23 22:29:55 +03:00
JAremko
c024c746b7 fix export 2017-06-23 22:29:41 +03:00
JAremko
ff333c3c3e Add pretty docs option to .spacemacs 2017-06-23 22:29:31 +03:00
Eivind Fonn
fcf186faff Fix cfgl-layer docstring (concat not evaluated) 2017-06-23 09:27:05 +02:00
JAremko
cd3aa05fab Improve issue reporting 2017-06-22 12:02:28 +02:00
Eivind Fonn
08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
Aaron Jensen
26aa1c13c8 Remove spurious quote
Fixes parinfer's parsing of .spacemacs
2017-06-21 00:45:16 -07:00
ZarsBranchkin
4353535a98 Fix disabled scrollbar remains 2017-06-21 09:37:05 +02:00
Eivind Fonn
ef12c6073a theming: robustness
Disable all applied themes in all cases, when a theme is applied
2017-06-18 12:38:01 +02:00
Eivind Fonn
c3d344cb8c Allow “default” theme to load properly 2017-06-16 09:30:32 +02:00
nashamri
8d88a2ba1f Little update to spacemacs-theme 2017-06-15 13:24:31 +02:00
duianto
6a84fb3c0e Replace obsolete which-key functions
Problem:
Two which-key functions doc-strings, state that they are obsolete:

(which-key-declare-prefixes KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-key-based-replacements’ instead.

(which-key-declare-prefixes-for-mode MODE KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-major-mode-key-based-replacements’ instead.

Solution:
Replace the obsolete functions.

Searching with `SPC /` through the .emacs.d folder, didn't find any other
occurrences of these functions.
2017-06-15 13:22:13 +02:00
Dela Anthonio
484a99dad0 core: Add support for more doom themes
This commit address #9084.
2017-06-14 10:49:45 +02:00
Codruț Constantin Gușoi
8754575550 Fixes insert point for lazy loaded layers
A recent change in the `.spacemacs.template` made it so that the
`dotspacemacs-configuration-layers` variable name can be found inside a
comment right before the expression that sets it's value. This makes the
lazy insertion fail to detect the proper place to add lazy loaded
layers.

This fix solves the immediate problem but maybe a better solution can
be found.
2017-06-08 21:03:45 +02:00
Eivind Fonn
e61e915555 Revise .spacemacs docstrings
This is an attempt to tighten up the language of the docstrings for
initialization and configuration functions. I realize that's pretty
subjective, so please only use what makes sense. Below is a break-
down to avoid seeming _too_ arbitrary.

Rationale
---------
Headings: We know they're functions, so we don't need to say
'X function'. 'Layer configuration' is called that in the other
functions.

Instructions: Say what I should do.

Other: `dotspacemacs/init' -- 'very beginning' is the more common
English idiom.

If I sound strident, it's just 'cause I'm trying to be terse.
This is all opinion so YMMV. I hope it helps.
2017-06-07 12:58:06 +02:00
Benno Fünfstück
abcad3bab0 themes: use package-activate to support dependencies 2017-05-30 10:05:22 +02:00
Eivind Fonn
9c9bdf749a Don’t look in .spacemacs.d/layers if it doesn’t exist 2017-05-29 11:52:31 +02:00
JAremko
e425d50292 don't reroot non-org files
We don't have all Spacemacs files at spacemacs.org so we
shouldn't change links to such files to relative ones.
2017-05-28 04:09:29 +03:00
JAremko
26eb3ff1df Rework spacemacs//reroot-link (now it makes links relative) 2017-05-28 02:35:13 +03:00
bmag
6fd0d2573b New dotvariable: auto-generate layout names
If dotspacemacs-auto-generate-layout-names is non-nil, and the user
tries to open a layout in a position that doesn't yet have a layout,
then create a new layout with an automatically generated name.
2017-05-25 13:40:28 +02:00
Eivind Fonn
0d5fb6da28 Inhibit recentf when inserting startupify lists 2017-05-25 13:35:36 +02:00
Eivind Fonn
03a8f6733f Check toggle condition in status function 2017-05-24 13:05:17 +02:00
Eivind Fonn
7a6a2d0abb More robust dotspacemacs/add-layer
- Don’t greedily search until last paren, just the first one
- Better call on newlines
2017-05-24 12:47:21 +02:00
Ben Gamari
1320f8e8fa Resolve symlinks when warning about duplicate layers
This allows the user to, for instance, include the spacemacs tree as a
git submodule of their configuration repository without seeing
superfluous warnings.
2017-05-24 12:26:25 +02:00
MadAnd
5eeaed75d9 transient-state: Improve handling of additional bindings
Add two new functions: `spacemacs/transient-state-register-add-bindings`
and `spacemacs/transient-state-register-remove-bindings` to prevent layer
authors and end users from dealing with the underlying variables' subtleties.
2017-05-23 16:03:03 +02:00
JAremko
4e83167f88 fix TOC with same headings 2017-05-22 18:32:47 +03:00
JAremko
d16bf3adad update toc-org in spacefmt 2017-05-22 18:32:47 +03:00
Fuqiao Xue
00db1e3d4b Mention the change of dotspacemacs-check-for-update in the documentation
Its default value was changed to nil in 9d72b12245.
2017-05-18 18:22:24 +02:00
syl20bnr
107f70ddf4 replace uninstall with delete also in dotfile template 2017-05-14 22:10:43 -04:00
Leo Joseph Buchignani III
cb8de28b8f replaced "uninstall" with "delete"
to avoid conflation of loading/ignoring with downloading/deleting.
2017-05-14 22:09:02 -04:00
MadAnd
9f3e656c8f Add support for building multi-file local packages with Quelpa
At the moment a Quelpa recipe like `(recipe :fetcher local)` is being translated
to something like
`(recipe :fetcher file :path "my-layer/local/my-pkg/my-pkg.el")`. So we can
build simple single-file local packages.

This commit changes it to translate to the package directory instead of exact lisp
file, so we can build multi-file local packages. Thus, the above example will be
translated to `(recipe :fetcher file :path "my-layer/local/my-pkg")`.

Also, add the relevant info to LAYERS.org.
2017-05-14 13:39:02 -04:00
JAremko
86f4278d4c core: inline permalinks in documentation 2017-05-14 12:49:23 -04:00
JAremko
94205a3e81 Fix css links and various org links 2017-04-29 10:45:52 -04:00
nashamri
f1701ed490 Add permalinks to the doc headings 2017-04-29 10:44:27 -04:00
syl20bnr
8db21403d7 Fix support for fancy frame title 2017-04-28 23:39:41 -04:00
JAremko
9b922957ef spacefmt better logging 2017-04-28 23:29:43 -04:00
JAremko
edc24ef750 MV CONTRIBUTING & COMMUNITY to the root after pub 2017-04-28 23:29:43 -04:00
JAremko
84715966ad Fixes syl20bnr/develop.spacemacs.org#10 2017-04-28 23:25:02 -04:00