Commit graph

1306 commits

Author SHA1 Message Date
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
Kepi 7e266f4f3c Improve support for fancy frame title 2017-04-28 23:16:22 -04:00
Uri Sharf cb30ec1df8 Add support for fancy frame title
Acked-by: Uri Sharf <uri.sharf@gmail.com>
2017-04-28 23:13:25 -04:00
JAremko ca1d3c141a Add spacefmt test to CI 2017-04-20 22:42:21 -04:00
JAremko fed4a44189 do not annotate HLines with :PROPERTIES: 2017-04-19 23:00:00 -04:00
JAremko 8f982e945c Fix CI 2017-04-19 23:00:00 -04:00
JAremko 798561befa make spacemacs/publish-doc less verbose 2017-04-19 23:00:00 -04:00
nikolaiam 4c6968c297 Fix notation inconsistencies in .spacemacs.template
Replace all instances of <Something x y> with `Something x y', add to missing
2017-04-17 23:17:35 -04:00
Robert (Robby) O'Connor 9660a90022 grammar fix
This was introduced in a85634c. The grammar wasn't correct here -- so this fixes it.
2017-04-17 19:49:16 -04:00
syl20bnr 462f74e7fa doc: Rename copied file CONTRIBUTE.org to CONTRIBUTING.org
Instead we can fix the bad link directly in index.html of the website repo.
2017-04-17 18:05:35 -04:00
smile13241324 c3c2970a50 Fix broken links to missing README files in layers list to fix #8291
Some of the layers do not supply a README.org file which caused
invalid links in the layer list. To avoid this I have changed
spacemacs//generate-layers-from-path to only add links to layers
with a valid README.org file.

I have also removed an invalid check to exclude the non existing directory
"distribution" from the layers list. I think that originally the folder
"distributions" should have been excluded but this is not longer
a feasible action as there is at least one layer with a valid README.org
file in there today. So now we add links to all layers providing a
README.org file independent of their category.
2017-04-17 17:58:02 -04:00
smile13241324 092f98f51c Fix broken link to CONTRIBUTE.org in documentation to fix #8290
In 2015 a file CONTRIBUTE.org was existing in the /doc folder.
In addition a CONTRIBUTING.md file was existing in the project root folder.
This was merged into a CONTRIBUTING.org file, which is still located in the project root.
However the documentation publishing system was still looking only in the doc folder.
In addition the external documentation is still referring to the old CONTRIBUTE.html which is not longer existing.

I have now included a new function called prior to publishing
which is copying the documents from the projects root into the doc folder.
As a side effect it renames the CONTRIBUTING.org to the old CONTRIBUTE.org
to support the external documentation.
2017-04-17 17:54:42 -04:00
syl20bnr f7599c4665 core: Fix spacemacs/diminish-undo and add documentation about it 2017-04-13 00:17:24 -04:00
hodge 099bd00bb9 add a interactive function spacemacs/diminish-undo 2017-04-12 23:51:51 -04:00
JAremko 3f84a535f2 Improve spacefmt
- Add new test cases and fixes
- Asks for arguments
- cleanup code
2017-04-11 23:38:45 -04:00
syl20bnr 2d0c3ae92c Rename dotspacemacs-zone-when-idle-for to dotspacemacs-zone-out-when-idle
Set key binding to SPC T Z
Improve the configuration a bit by selecting only the most interesting pgm
2017-04-09 23:55:00 -04:00
JAremko 96be9c9aeb zonefy 2017-04-09 23:26:14 -04:00
Yi Liu c97983b090 Fix spelling 2017-04-09 22:59:06 -04:00
Alexander Iljin 7e3c4a3ac3 Fix some typos in the dotfile template comments 2017-04-09 18:16:57 -04:00
syl20bnr 12eacab665 Fix typo in release note 2017-04-06 23:12:47 -04:00
syl20bnr 2d8d3046c6 Bump version to 0.200.9 and add release note 2017-04-06 23:10:42 -04:00
syl20bnr f79a1693ec Update release info 2017-04-02 01:57:30 -04:00
Robert O'Connor e9ff9f09c6 Remove trailing whitespace from all files 2017-03-26 13:06:43 -04:00
deb0ch 8226f0070f do not filter for alternating buffers 2017-03-24 22:29:52 +03:00
Steven Allen 6b08224ad7 Always return t from use-package pre/post hooks.
Hooks that don't do this will prevent any further configuration of the package.

Docs: 53bf803f1d/use-package.el (L125)
Context: https://github.com/syl20bnr/spacemacs/pull/8543/files#r106792261
2017-03-24 14:26:56 +03:00
syl20bnr 0a338d03ed core: jump-handers, :async can now take a predicate function
Allow to check wether a precondition is met before actually executing an async
jump handler.
2017-03-19 12:40:36 -04:00
bmag e624e8f0fa Update spacemacs-theme
Updated to commit:
80f40d21ff
2017-03-13 21:13:37 +02:00
bmag a1c02ba323 dsm-line-numbers: support parent modes, fix mode restriction
Specifying parent modes (e.g. prog-mode) in :enabled-for-modes and
:disabled-for-modes keys in dotspacemacs-line-numbers catches derived
modes (e.g. c-mode) as well.

Fix bug where an empty :disabled-for-modes and a non-empty :enabled-for-modes
enabled line numbers everywhere, instead of only in modes specified in
:enabled-for-modes. (see https://github.com/syl20bnr/spacemacs/issues/8482)

Add auxiliary function spacemacs/derived-mode-p, similar to derived-mode-p but
takes a major-mode as an argument instead of using the current major-mode.
2017-03-13 21:04:00 +02:00
syl20bnr 6212795523 core: allow users to set custom-file variable
In this case Spacemacs won't write custom variables to the
dotspacemacs/emacs-custom-settings variable.

Move setq and add-advice to spacemacs/initialize-custom-file which is now
called in spacemacs/init function just after dotspacemacs/user-init function.
2017-03-12 12:10:21 -04:00
syl20bnr af6727c617 core: fix indentation rules for declare-prefix functions 2017-02-12 23:44:52 -05:00
syl20bnr c5fd3dac04 core: fix theme application
Force theme do be disabled when applying them at the end of loading.
Fix computation of theme package directory when theme is a symbol.

Fixes #8319
2017-02-11 17:23:14 -05:00
syl20bnr 252547aa81 core: add support for :location keyword in dotspacemacs-themes
New functions:
- configuration-layer/get-location-directory which return the location on disk
given a location
- spacemacs//get-theme-directory which returns the location on disk of the
theme

Add note in documentation to warn about the directory name when :location local
is used, the directory name is the package name not the theme name.
2017-02-05 23:47:17 -05:00
syl20bnr be7ba7f920 core: filter out private vars in dotspacemacs/get-variable-string-list 2017-02-05 20:28:10 -05:00
syl20bnr ddfb996b20 line number: broke enable-p condition into functions
Also remove the docstring about SPC h SPC as it is already implied for the other
options in the dotfile.

Note that this commit modifies one condition, namely disabled mode condition.
It removes the first test:

    (not (spacemacs/mplist-get dotspacemacs-line-numbers :enabled-for-modes))

as it is not necessary since we have a `or` in the enable-p condition. Disabled
modes will be checked only if the current major mode is not explicitly enabled
(as intented).
2017-02-05 13:10:30 -05:00
deb0ch a28e17c4d3 line numbers: finer configuration of line numbers activation 2017-02-05 12:47:19 -05:00
syl20bnr a85634cd5a core: display message in mode-line while uninstalling packages 2017-02-03 11:40:19 -05:00
syl20bnr 5b9d368a5f core: fix loading of some themes
Fix loading of some themes like sanityinc-tomorrow-night
2017-02-02 18:28:51 -05:00
syl20bnr 747bd7c6fb core: fix broken theme application in terminal
Fixes #8252
2017-02-01 23:26:22 -05:00
syl20bnr 415b29b140 core: dotspacemacs-themes entries now accept package properties
It is now possible to use package properties like :location in
dotspacemacs-themes.

Added hooks ran at the beginning and end of configuration-layer/sync:
- configuration-layer-pre-sync-hook
- configuration-layer-post-sync-hook

configuration-layer-pre-sync-hook is used to hook the new function
spacemacs//add-theme-packages-to-additional-packages. This new function updates
dotspacemacs--additional-theme-packages variables.

Update documentation to mention the new feature.
2017-02-01 22:59:03 -05:00
deb0ch a23761c383 minor elisp convention fix 2017-01-31 17:54:19 +01:00
syl20bnr b3c8ebc816 core: improve theme application
Add all theme packages defined in dotspacemacs-themes to the variable
dotspacemacs-additional-packages and delay the application of user theme at the
end of startup (only when user theme cannot be applied at the very beginning
of Emacs startup).

This has nice properties:
- we leverage the layer system to handle the theme packages installation and
  cleanup.
- theme packages are automatically owned by the dotfile preventing them from
being garbage collected.
- the protected package mechanism is now obsolete since themes were the last
packages using it. This mechanism may be removed in a near future.

Thanks to TheBB for the initial idea.
2017-01-25 23:37:57 -05:00
syl20bnr 05c8ac8ba7 core: don't reset mode-line when displaying text in spacemacs home buffer 2017-01-25 23:37:57 -05:00
syl20bnr 90fe6074eb core: add some feedback test in mode-line during startup
A message is displayed while indexing layers and installing packages.
2017-01-25 23:37:57 -05:00
d12frosted 5be07e90d2 temporarily fix value of configuration-layer--elpa-archives 2017-01-25 10:38:59 +02:00
syl20bnr 9ac779a2e4 core: import spacemacs-theme into libs
Distribute spacemacs-theme with Spacemacs so we don't need to download the
package of the theme at startup. It was delaying the display of the home buffer.

Now Spacemacs fallback to spacemacs-dark theme if the user theme cannot be
applied. Spacemacs then tries to install and reapply the user theme. If
successful, at the subsequent startups the user theme is applied right away
instead of spacemacs-dark. If the installation failed then we display a warning
informing the user and suggesting some actions.

There is now no package left to be installed manually at the start of Spacemacs.
2017-01-25 00:30:31 -05:00
syl20bnr dcfa00488e Minor comment change 2017-01-25 00:28:15 -05:00
syl20bnr 66d359f364 core: fix startup graphical glitch
Since Emacs 25.1 I got screen flickering when packages are installed on
startup.
Shuffling the UI elements removal seems to fix it on my system using X.

It may have the opposite effect on other users setup.
2017-01-25 00:24:02 -05:00
syl20bnr 973f6fe5ae core: import ido-vertical-mode into core/libs
It provides more intuitive way to display the wizard.
2017-01-23 23:52:57 -05:00
syl20bnr 1afa0f8faa core: import quelpa and package-build into core/libs
Remove the need to fetch these libs from the internet.
2017-01-23 23:52:57 -05:00
syl20bnr 1a9c5ea8ad core: force installation of org-contrib-plus instead of org
Thanks to the power provided by Lisp, hack package-install to patch on the
fly org and org dependencies installations in order to install org-plus-contrib
instead.
2017-01-22 23:23:39 -05:00
syl20bnr 65fea08de3 core: add support for local elpa repositories
It is now possible to add local elpa repositories to private variable
configuration-layer--elpa-archives for instance:

(defvar configuration-layer--elpa-archives
  '(("spacelpa" . "~/.emacs.d/.cache/spacelpa/"))
  "List of ELPA archives required by Spacemacs.")

New functions:
- configuration-layer//package-archive-absolute-pathp
- configuration-layer//package-archive-local-pathp
2017-01-22 17:55:59 -05:00
syl20bnr 1846984bd0 core: add support for interpreter-mode-alist to layer lazy installation
Update python lazy declaration as an example.
Still need to update the auto-layer.el file for other modes.
2017-01-22 13:41:04 -05:00
syl20bnr 220bbabd36 core: fix computation of package installation lazyness
Fix computation of package installation lazyness when the variable
dotspacemacs-enable-lazy-installation is set to all.

Improve methods on cfgl-layer class to be able to return a list of packages with
or without their properties.

Update tests to reflect the changes.
2017-01-22 13:37:12 -05:00
syl20bnr 7dde962ec8 core: Improve configuration-layer/create-elpa-repository
Fetch the archives before creating the elpa repository.
2017-01-22 00:40:02 -05:00
syl20bnr 984a3f956b core: fix delayed warning display in emacs 25.5
Discard the warnings produced when packages are byte-compiled which fix the
popup of the *Compile-Log* window at the end of the installation.
If emacs has been launch with argument `--debug-init` we don't discard the
warnings.
2017-01-22 00:37:10 -05:00
syl20bnr 6dac7d8ce9 core: correctly index packages installed by spacemacs core
Function configuration-layer/load-or-install-package now correctly add the
installed packages to indexed-package hash map.
Those packages are put under the special layer `system`.
2017-01-22 00:34:08 -05:00
syl20bnr 9909a95ad3 core: add ~ character to detect local package archives 2017-01-22 00:32:34 -05:00
syl20bnr 333f762b36 core: name startup-hook function and move spacemacs-buffer//startup-hook 2017-01-22 00:31:30 -05:00
syl20bnr c6bf7f7664 core: new functions to synchronize distant ELPA packages with local repo
New functions:
configuration-layer//download-elpa-file
configuration-layer//sync-elpa-packages-files
2017-01-18 00:24:14 -05:00
syl20bnr 273e1e94d6 core: add function to create spacelpa archive-contents
This is the first stone toward Spacemacs own ELPA repository.
New function configuration-layer/create-spacelpa-repository which creates the
archive-contents file for the Spacelpa repository containing all the ELPA
packages supported by Spacemacs (and only them).
2017-01-17 00:24:32 -05:00
syl20bnr afb2efcf56 core: minor functions renaming in core-configuration-layer.el
configuration-layer//get-packages-dependencies --> configuration-layer//get-packages-upstream-dependencies-from-alist
 configuration-layer//get-implicit-packages --> configuration-layer//get-implicit-packages-from-alist
2017-01-17 00:23:04 -05:00
syl20bnr cf5dac00ad core: move and rename spacemacs//get-package-directory
Move it to core-configuration-layer.el
Rename it to configuration-layer/get-elpa-package-install-directory
2017-01-17 00:20:59 -05:00
syl20bnr 14e690d82c core: add parameter to configuration-layer/make-all-packages
New parameter `skip-layer-discovery', if non-nil then rediscovery of layers
is skipped (used essentialy for the tests).
2017-01-15 23:14:20 -05:00
syl20bnr 2875ed4b0c Speedup SPC h SPC for both helm and ivy
The layer files were loaded twice because the global variable controlling
the loading of layer files was not explicity set at the layer discovery phase.
2017-01-15 22:19:56 -05:00
syl20bnr 3162f0e19b core: factorize code in configuration-layer/make-all-packages 2017-01-15 22:19:56 -05:00
syl20bnr c66f13b7cb core: fix preparation-function signature in publish-doc and exclude dockerfiles
Also respect 80 chars per lines a various places
2017-01-12 23:19:53 -05:00
syl20bnr 105a0a1ad8 Fix variable is void: system-info in spacemacs/report-issue
Fixes #8028
2017-01-12 22:19:39 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
d12frosted e87a251138
align list of supported themes 2017-01-04 22:12:14 +02:00
Jeffrey Enns 0a418c6286
Add missing base16 themes 2017-01-04 22:10:56 +02:00
syl20bnr 74fdbb6795 Refactor and simplify company backends declaration
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).

All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.

This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)

The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).

The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.

The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
2017-01-02 00:39:04 -05:00
Adel Qalieh 8e7fe6e1f2
Add keybinding for spacemacs/alternate-window
spacemacs/alternate-window was suggested to switch between the last selected
window, or the window-analog of SPC TAB (spacemacs/alternate-buffer). This is
part of a larger family of functions, such as spacemacs/jump-to-last-layout on
SPC l TAB and eyebrowse-last-window-config on SPC l w TAB.

Resolves #7845
2016-12-27 09:50:10 +02:00
syl20bnr f5957eb877 core: cleanup layers discovery
Some directories were added twice.
Make it more explicit in the code which directories we look into and filter out
directories that don't exist. Emit a warning if an unknown directory is
provided.
2016-12-25 15:14:20 -05:00
Bez Hermoso 5323dd60b8 Added new base16 themes 2016-12-24 21:00:30 +02:00