67 KiB
- Release 0.104.x (next)
- 0.104.0
- IMPORTANT: Breaking changes
- Other important notes:
- Hot new features:
- New Layers
- Dotfile changes
- Distribution layer changes
- Layer changes
- Agda
- Auto-completion
- C/C++
- Clojure
- CSharp
- Dash
- Elixir
- Emacs lisp
- ERC
- ESS
- Evil-commentary
- Extra-lang
- Eyebrowse
- Fsharp
- Git
- Github
- Gnus
- Go
- Gtags
- Haskell
- Html
- Ipython-notebook
- Java
- Javascript
- Markdown
- Org
- Osx
- Pandoc
- Php
- Puppet
- Python
- Racket
- Ranger
- Ruby
- Ruby-on-rails
- Rust
- Salt
- Scala
- Scheme
- Search-engine
- Shell
- Syntax-checking
- Vinegar
- New conventions
- Core
- Other fixes and improvements
- 0.104.0
- Release 0.103.x
- Release 0.102.x
- Release 0.101.x
- Previous Releases
Release 0.104.x (next)
0.104.0
IMPORTANT: Breaking changes
- The
bookmark
saved file has been moved to the.cache
directory, if you have a bookmark file~/.emacs.d/bookmarks
then you'll have to move it to~/.emacs.d/.cache/bookmarks
Ruby on Rails
framework has now its own layer calledruby-on-rails
, be sure to add this layer to your dotfile if you use RoR.Django
framework has now its own layer calleddjango
, be sure to add this layer to your dotfile if you use it.guide-key
has been replaced bywhich-key
, you may encounter issues if you have someguide-key
custom configuration, remove anyguide-key
configuration and check the options offered bywhich-key
.
Other important notes:
- All layers have been moved to
layers
directory - Category folder prefix has been changed to
+
(was!
) spacemacs
layer has been moved to thelayers
directory in the category+distribution
- All
extensions
directories have been renamed tolocal
.extensions
directories will be deprecated in 0.105.0.
Hot new features:
- Enhanced layer package lists which merge old extension lists and package
lists. Keywords can be associated with packages. The supported keywords
are
:location
,:step
and:excluded
.extensions.el
files and<layer>-excluded-packages
variables are now optional and will be deprecated in the next version 0.105.0. - New
distribution
concept: you can now choose between two distributions:spacemacs
orspacemacs-base
.spacemacs-base
contains only a minimal set of packages whereasspacemacs
is the full Spacemacs experience. Set the distribution withdotspacemacs-distribution
variable. - Add support for
Quelpa
which allows to useMelpa
recipes to install packages directly from source (i.e. one can now install a package directly from a Github repository). - New editing style:
hybrid
. This style is similar to Vim style except that all Emacs key bindings are available in hybrid (insert) state instead of Vim key bindings. Also in this state, the buffers are evilified like in Vim style. - The default theme of Spacemacs is now
spacemacs-dark
. The Spacemacs themes (spacemacs-dark
andspacemacs-light
) become the official themes of Spacemacs (thanks to nashamri) - Add support for dotdirectory
~/.spacemacs.d
which behaves like the Emacs dotdirectory (i.e.~/.spacemacs.d/init.el
is evaluated instead of~/.spacemacs
if the former exists and the latter does not) (thanks to justbur) - Guide-key is replaced by
which-key
which provides an enhanced and better live key bindings browsing experience. (thanks to justbur) - New API to manage the
powerline
mode-line. It is now possible to easily define segments and arrange them (thanks to TheBB) - New web gallery to browse themes in
themes-megapack
, URL: theme gallery (thanks to robmerrell) - New test framework supporting layer specific tests (thanks to TheBB)
- New interactive function
dotspacemacs/test-dotfile
testing the integrity of the.spacemacs
file. This function will detect any unknown layers and bad dotspacemacs variable values (thanks to justbur)
New Layers
- asciidoc (thanks to hijarian)
- chinese (thanks to andyque)
- cscope (thanks to bmag)
- common-lisp (old slime layer renamed) (thanks to kingcons)
- django (split from python layer)
- elm (thanks to usharf)
- idris (thanks to zmthy)
- jabber (thanks to toshism)
- java (thanks to kleewho)
- nim (thanks to Gonzih)
- nixos (thanks to CestDiego)
- ranger (thanks to ralesi)
- sml (thanks to Devagamster)
- spell-checking (split from syntax-checking) (thanks to justbur)
- terraform (thanks to BrianHicks)
- react (thanks to axyz)
- ruby-on-rails (split from ruby layer)
- scheme (thanks to kingcons)
- vinegar (thanks to ralesi)
- unimpaired (thanks to ralesi)
- wakatime (thanks to CestDiego)
- yaml (split from ruby)
Dotfile changes
- New variable
dospacemacs-distribution
allowing to choose the default packages installed by Spacemacs. - New function
dotspacemacs/user-init
. Nowdotspacemacs/init
function is reserved for dotspacemacs variable exclusively. - New value
any
fordotspacemacs-highlight-delimiters
, when set toany
, all the delimiters are highlighted viarainbow-mode
. - New variable
dotspacemacs-helm-resize
. If non nil thenhelm
windows will be automatically resized depending on the number of candidates (thanks to ralesi) - New variable
dotspacemacs-helm-no-header
. If non nil then the helm header is hidden when there is only one source in the helm buffer (thanks to ralesi) - New variable
dotspacemacs-helm-position
which can bebottom
,top
,left
orright
(thanks to ralesi) - Add new
:disabled-for
keyword fordotspacemacs-configuration-layer
which allow to deactivate a layer for a set of layers. For instance(auto-completion :disabled-for org git)
will disable auto completion for both org and git layers. - Rename function
dotspacemacs/config
todotspacemacs/user-config
. The old functiondotspacemacs/config
will be deprecated in 0.105.0.
Distribution layer changes
Spacemacs-base
- Add
copy file
key binding onSPC f c
(thanks to cpaulik) - Add transparency micro-state (thanks to person808)
- Add
SPC i u
key binding to insert unicode symbols with helm (thanks to robbyoconnor) - Add
SPC x l s
andSPC x l u
ti sort and uniquify lines in a buffer (thanks to oppenlander) - In buffer not visiting a file
SPC f s
now asks for a filename (thanks to cpaulik) - Add
SPC f l
to visit a file literally which means that the file will be opened infundamental mode
(thanks to sooheon) - Add support for automatic recompilation of
.el
files on save (thanks to ralesi) - Add
SPC f C d
andSPC f C u
to quickly convert Unix encoding to DOS encoding and vice versa (thanks to ralesi) - Add support for arrow keys in windows micro-state (thanks to mbertheau)
- Fix paste micro-state undo
- Fix
SPC i K
(insert empty line above point) which now works as expected when used from the first line of a buffer (thanks to travisbhartwell) - Fix windows micro-state by using the minibuffer (thanks to person808)
- Fix broken alignment functions on
SPC x a
(thanks to justbur) - Don't jump if only one match in
helm-imenu
(thanks to tuhdo) - Remove
wS
from prefix list inconfig.el
(thanks to justbur) - Properly close frame when running a client from terminal (thanks to drewkett)
- Set
evil-move-beyond-eol
tot
. This variable allows to put the point behind the last character of a line in normal state. So noweval-last-sexp
behaves as expected in elisp and all other languages. - Add chocolate color for the
replace
state (thanks to TheBB) - Make
Y
equivalent toy$
(thanks to person808) - Sync
visual-line-mode
andevil-visual-xxx
functions. NowSPC t L
correctly enablesvisual-mode-line
and change Evil to visual navigation accordingly. UseSPC t l
to disable truncated lines while keeping default Evil behavior. - Reduce autosave interval for evil-jumper (thanks to ralesi)
- Improve evil configuration for cursors and colors (thanks to justbur)
- Fix called function name for
SPC h b
binding. Helm removedhelm-pp-bookmarks
in the latest update and replaced it withhelm-filtered-bookmarks
(thanks to sgepigon) - Add
SPC f L
forhelm-locate
(thanks to ralesi) - Add text object
g
for entire buffer (thanks to ralesi) - helm-spacemacs: load layers only once.
- helm-spacemacs: show description of toggle functions (thanks to person808)
Spacemacs
- New API for the powerline (thanks to TheBB)
- Add package
define-word
onSPC x w d
(thanks to swaroopch) - Set
projectile-indexing-method
toalien
. This settings will use available tooling to speed up the build of the cache, should greatly improve the performance on Windows (provided you have the required tools) - Fix
projectile-generic-command
on Windows usingfind
(thanks to TheBB) - Fix
neotree
bug with window number 0 (thanks to jaypei) - Fix search direction consistency for
auto-highlight-symbol
micro-state (thanks to herbertjones) - Add VCS integration to
neotree
- Set
sp-show-pair-delay
to 0.2 instead of 0. Should fix some slowness in - Set
highlight-parentheses
delay to 0.2 - Enable
highlight-parentheses
whendotspacemacs-highlight-delimiters
is set toall
(thanks to tuhdo) - Hide lighter for
highlight-parentheses
- Better diminished lighters for
highlight-indentation-mode
(thanks to robbyoconnor) - Prevent iedit from adding global key binding (thanks to justbur)
- Temporarily exclude the package
hl-anything
waiting for an overlay bug to be fixed - Correctly enable
powerline
only if it is used (thanks to sooheon) - Make
golden-ratio
work after avy-word-jump (thanks to synic) - Exclude
helm
windows fromgolden-ratio
(thanks to ralesi) - Don't automatically select compilation buffer (thanks to jasminpatry)
- Define explicit functions to inverse comments for
evil-nerd-commenter
(thanks to endrebak) - Use TheBB fork of
evil-indent-textobject
which has working text objects based on the indentations (thanks to TheBB) - Exclude package
evil-terminal-cursor-changer
since it is buggy in some terminals (thanks to TheBB)
Layer changes
Agda
- Move
SPC m o
toSPC m h
sinceSPC m o
is now reserved for users (thanks to TheBB)
Auto-completion
- Add new layer variable
auto-completion-private-snippets-directory
which allows to specify a custom private snippet directory (thanks to justbur) - Improve yasnippet loading robustness (thanks to myrjola)
C/C++
- Fix key bindings for cscope (thanks to bmag)
- Add
disaster
package to disassemble c/c++ code on key bindingSPC m D
(thanks to jb55) - Fix error with
company-mode/more-than-prefix-guesser
(thanks to TheBB)
Clojure
- Add cider error buffer to popwin (thanks to cmccloud)
- Add cider-doc buffer to popwin (thanks to cmccloud)
- Add key bindings for
ein:traceback-mode
(thanks to toshism) - Add
SPC m s x
key binding forcider-refresh
(thanks to sooheon) - Stop using deprecated
cider-jump-to-var
and usecider-find-var
instead (thanks to lukbock) - Add
SPC m T i
to toggle indentation style inclojure-mode
(thanks to lukbock) - Add
SPC m T p
key binding to toggle pretty printing in the REPL (thanks to luxbock) - Add new key bindings to evilified buffer
cider-inspector-mode
(thanks to luxbock) - Add
C-j
andC-k
for browsing history in the REPL (thanks to luxbock) - Add more
clj-refactor
key bindings (thanks to luxbock) - Add more key bindings to
cider-stacktrace-mode
(thanks to luxbock) - Add interactive function
spacemacs/cider-toggle-repl-font-locking
to toggle font-locking in the REPL (thanks to luxbock) - Activate clojure-mode for *.boot files (thanks to usharf)
- Enable
fancify-symbols
forclojurescript-mode
,clojurec-mode
andclojurex-mode
(thanks to Xcix) - Setup indentation rules for common clojure vars (thanks to jcf)
- Evilify
cider-test-report-mode
buffers (thanks to luxbock) - Enable
clj-refactor
key bindings in the REPL (thanks to luxbock) - Enable clojure key bindings in the REPL (thanks to luxbock)
-
Fix bug in
spacemacs//cider-eval-in-repl-no-focus
:- Move to point-max before inserting text
- Only indent the newly inserted form instead of the whole buffer.
(thanks to luxbock)
- Fix key bindings conflict in
cider-debug-mode
(thanks to luxbock) - Rename old function
clfr-rename-file-or-dir
to new functioncljr-rename-file
(thanks to luxbock) - Remove
SPC m d b
cider-debug-defun-at-point
in REPL (It doesn't do anything other than messing up the buffer) (thanks to luxbock) - Gives faster access to display the last error buffer with
SPC m d e
(thanks to luxbock)
CSharp
- Set
omnisharp-auto-complete-want-documentation
tonil
to work-around a bug in standard Omnisharp server built in Release configuration. - Add prefix command documentation (thanks to d12frosted)
Dash
- Add support for
zeal
on Linux and Windows (thanks to CestDiego)
Elixir
- Remove flycheck due to a security issue in the Elixir compiler (thanks to gilbertkennen)
- Add support for popwin for
mix
buffers (thanks to rhalukongor) - Re-enable
magit-gitflow
since it is now compatible with Magit 2.1 (thanks to gilbertkennen)
Emacs lisp
- Make
flychek
aware ofloadpath
(thanks to CestDiego)
ERC
- Add
ERC-SASL
for SASL authentication (thanks to CestDiego) - Fix check for
dbus
availability on OS X (thanks to cmccloud)
ESS
- Change default value of
ess-enable-smart-equals
to nil (thanks to izahn) - Fix
company
back-end declaration (thanks to jcpetkovich)
Evil-commentary
- Add
SPC ;
for comment operator
Extra-lang
- Add
Stan
modeling language (thanks to alexanderrich)
Eyebrowse
- Add
s
forswitch-to-window-config
(thanks to rphillips) - Add
gt
andgT
key bindings to switch between workspaces (thanks to joehillen)
Fsharp
- Allow fsharp-mode to determine build path (thanks to bsermons)
Git
- Make sure that git-commit is initialized so that Emacs can be used as $GITEDITOR (thanks to thrnio)
- Remove some deprecated code (thanks to tko)
- Add documentation about
magit-push-always-verify
variable (thanks to sooheon) - Add
escape
key binding togitmessenger
(thanks to mijoharas) - Add
#f
key binding inmagit-status
formagit-gitflow-popup
(thanks to gilbertkennen) - Use
MELPA
version ofmagit-gh-pulls
and fix its configuration (thanks to cmccloud) - Evilify
magit-hunk-section-map
(thanks to ralesi)
Github
- Properly evilify
gist-lists
buffer (thanks to cmccloud)
Gnus
- Move
SPC m o
toSPC m h
sinceSPC m o
is now reserved for users (thanks to TheBB)
Go
- Use exec-path-from-shell-copy-env to set
GOPATH
(thanks to jenanwise) - Fix multiple paths support in
GOPATH
on Windows (thanks to galaxian) - Move all oracle key bindings under
SPC m o
toSPC m r
sinceSPC m o
is now reserved for users (thanks to TheBB)
Gtags
- Fix eldoc configuration (thanks to thudo)
Haskell
- Make
ghc-mod
optional (thanks to michelk) - Disable line highlighting when shm is enabled (thanks to d12frosted)
Html
- Add for CSS files
SPC m z c
andSPC m z o
to contract and expand CSS blocks (thanks to ralesi) - Add
SPC m g h
(helm-cess-scss) tocss-mode
(thanks to TheBB) - Add support for
jade
files (thanks to robbyoconnor) - Add flycheck for
slim
andhaml
modes (thanks to robbyoconnor) - Add rainbow delimiters for
haml
,jade
andslim
modes (thanks to robbyoconnor) - Add
.eex
extension toweb-mode
(thanks to gilbertkennen) - Add
.ejs
files toweb-mode
(thanks to robbyoconnor) - Add
.twig
files toweb-mode
(thanks to axyz) - Add
.asp
files toweb-mode
(thanks to TheBB) - Add
gj
andgk
key bindings to go to siblings elements in web micro-state (thanks to TheBB) - Enable
smartparens
in CSS like modes (thanks to TheBB) - Fix extra space in declared pair <%= %> (thanks to dsdshcym)
- Fix
r
key bindings in web micro-state (thanks to CestDiego)
Ipython-notebook
- Move
SPC m o
andSPC m O
toSPC m i
andSPC m I
sinceSPC m o
is now reserved for users (thanks to TheBB)
Java
- Diminish
eclim
minor mode lighter (thanks to Devagamster)
Javascript
- Add
json-snatcher
onSPC m h p
(thanks to CestDiego)
Markdown
- Fix backticks and single quotes insertion (thanks to x-ji)
- Fix
smartparens
configuration (thanks to fintelkai) - Move
SPC m o
toSPC m f
sinceSPC m o
is now reserved for users (thanks to TheBB)
Org
- Add table related key bindins on `SPC m t` (thanks to JP-Ellis)
- Add defer loading for
toc-org
. - Add
gnuplot
package to plot data from tables (thanks to JP-Ellis) - Set
toc-org-max-depth
to 10. - Move
SPC m o
toSPC m l
sinceSPC m o
is now reserved for users (thanks to TheBB) - Ensure that
org-directory
exists on load (thanks to ralesi) - Fix
SPC m l
by callingorg-open-at-point
instead ofevil-org-open-links
(thanks to TheBB)
Osx
- Re-factor and expand support for trash can (thanks to usharf)
- Add support for
launchctld
(thanks to usharf) - Add new key binding to toggle fullscreen which should fix the usage of left command key for this command (thanks to sooheon)
- Change obsolete
new-frame
function tomake-frame
(thanks to fintelkai)
Pandoc
- Add
ox-pandoc
package (thanks to jcf)
Php
php-extras
is not correctly installed- Enable flycheck (thanks to rakyi)
Puppet
- Enable
flcheck
support (thanks to tko)
Python
- Apply new conventions for test key bindings
- Fix
anaconda-mode
key bindings for latest version ofanaconda-mode
package (thanks cpaulik) - Use
quit-window
to close documentation popup (thanks to cpaulik) - Enable
evil-matchit
(thanks to robbyoconnor)
Racket
- Enable insert state after
SPC m s B
accordingly to the conventions (thanks to jmiven)
Ranger
- Fix
ranger-up-directory
key binding on-
(thanks to ralesi)
Ruby
- Use
enh-ruby-mode
on interpreter-detected ruby files. This makes ruby files that start with shebang ruby directives useenh-ruby-mode
(thanks to jenanwise) - Add some
ruby-tools
key bindings (thanks to chrismcg) - Enable
evil-matchit
(thanks to robbyoconnor)
Ruby-on-rails
- Activate
projectile-rails
mode for any type of files in a rails project (thanks to liuxiang)
Rust
- Add
racer
package (thanks to cdlm)
Salt
- Add
salt-mode
package (thanks to beardedprojamz)
Scala
- Add binding for
ensime-pop-find-definition-stack
onSPC m g p
(thanks to alexanderkjeldaas) - Remove key binding
SPC m ?
(thanks to Profpatsch)
Scheme
- Add support for Geiser (thanks to kingcons)
Search-engine
- Add Bing (thanks to Devagamster)
- Add Spacemacs Pull Requests
Shell
- Add
eldoc
support in eshell (thanks to ppold) - Add a better prompt via
eshell-prompt-extras
for eshell (thanks to ppold) - Add visual commands to eshell (thanks to ppold)
- Add support for
smart eshell
in eshell via the layer variableshell-enable-smart-eshell
(thanks to ppold) - Add auto-completion support for eshell (thanks to trishume)
- Automatically jump to prompt in insert state in eshell buffers (thanks to trishume)
- Add support for leader in
multi-term
(thanks to martinmr) - Deactivate eshell automatic auto-completion popup for remote path since it can be slow, the popup must be called manually in remote paths (thanks to myrjola)
- Fix
magit-status
alias foreshell
(thanks to myrjola) - Protect the
eshell
prompt from deletion with evil commands. A new layer variableshell-protect-eshell-prompt
allows to opt-out this behavior (thanks to myrjola).
Syntax-checking
- Add
SPC e l
to toggle error list buffer (thanks to bmag) - Add
SPC e v
to verify the flycheck setup (thanks to bmag) - Add
SPC e h
to describe the flycheck checkers (thanks to bmag)
Vinegar
- Show symlink paths (thanks to ralesi)
New conventions
- Add spacing conventions for org files (thanks to person808)
- Move
SPC m T x
conventions for executing tests in debug toSPC m t X
- Add conventions for toggles which are under
SPC t
,SPC T
andSPC C-t
. For major mode specific toggles onlySPC m T
is available. - Add
SPC m g b
to go back to previous location after aSPC m g g
. - Reserve
SPC m o
for users (thanks to TheBB)
Core
- Add new key bindings to evilified buffers:
g
,GG
,C-b
,C-f
,C-d
andC-u
(thanks to sooheon) - Add on and off functions to toggles (thanks to TheBB)
- Add new function
spacemacs/describe-system-info
which put useful information in the clipboard, ready to be pasted in an IRC channel for instance (thanks to swaroopch) - Add new functions
configuration-layer/declare-layer
andconfiguration-layer/declare-layers
which can be used inconfig.el
files of a layer to add required layers. - Add
:eval-after-load
keyword tospacemmacs|evilify-map
macro - Add macro
dotspacemacs|symbol-value
with new special variable valuedisplay-graphic-p
. This variable will evaluate(display-graphic-p)
when called withdotspacemacs|symbol-value
. Use this special value to be able to have unicode symbol in GUI client but not in terminal clients. - Add missing
spacemacs/
function prefix (thanks to person808) - Add choice of distribution on install (thanks to justbur)
- Add distribution name in home buffer
- Add distribution to
spacemacs/describe-system
(thanks to TheBB) - Replace
after-init-hook
with better hookemacs-startup-hook
(thanks to vkz) - Fix
SPC u
not repeating universal-argument (thanks to luxbock) - Fix Spacemacs Home Buffer to jump to bookmarks (thanks to travisbhartwell)
- Fix visual-state evil-yank-binding in evilified modes (thanks to myrjola)
- Fix
ace-link
in spacemacs buffer (thanks to avoine) - Fix an issue with Emacs 25 in
init.el
(not yet officially supported) (thanks to justbur) - Fix
return
binding in terminal in home buffer(thanks to d12frosted) - Fix custom banner path (thanks to d12frosted)
- Fix visual state key bindings in evilified buffers
- Set
gc-cons-threshold
to 100MB and define it ininit.el
- Use
package-alist
to resolve orphans - Prevent auto-evilification of buffers from overwriting
C-g
- Better indentation for
spacemacs|add-toggle
macro (thanks to TheBB) - Remove some dead code for
use-package
(thanks to TheBB) - Remove
tooltip-use-echo-area
usage which is obsolete since Emacs 24.1 (thanks to xfq) - Remove duplicate call to
dotspacemacs/init
(thanks to sooheon) - Remove
y
from evilified state keymap, use a visual selection instead. - Display home buffer links even when no banner are displayed (thanks to sooheon)
- Better centering of text in the home buffer
Other fixes and improvements
- New documentation on layers (thanks to TheBB)
- Suppress byte compiler warnings on startup (thanks to justbur)
- Reactivate prefix command names since they are working correctly with
which-key
(were also working withguide-key
) (thanks to martinmr) - Delete deprecated
!user
contrib directory. - Removed lasts git submodules, Spacemacs is now submodule free!
- Typos and documentation improvements (thanks to agzam, alexanderkjeldaas, andyque, benwooth, d12frosted, Devagamster, gleber, Immortalin, jgertm, JinweiClarkChao, jmiven, JoshTGreenwood, justbur, luxbock, mbertheau, mortonfox, nwolfe, oneeman, person808, rakyi, sotte, robbyoconnor, robmerrell, screamish, sooheon, srid, swaroopch, syohex, travisbhartwell, x-ji, xfq)
Release 0.103.x
0.103.6 (2015/08/30)
Core
- Fix error with
SPC h b
(bookmarks) (thanks to sgepigon)
0.103.5 (2015/08/09)
Layer changes
Osx
- Fix initialization of
reveal-in-osx-finder
(thanks to fintelkai)
Core
- Temporarily switch to HTTP instead of HTTPS to communicate with elpa.gnu.org (thanks to robbyoconnor)
0.103.4 (2015/08/07)
Layer changes
Clojure
- Fix key bindings for new Clojure major modes:
clojurec-mode
,clojurescript-mode
andclojurex-mode
(thanks to benalbrecht)
0.103.3 (2015/08/04)
Layer changes
Osx
- Rename
reveal-in-finder
to its new namereveal-in-osx-finder
(thanks to syohex)
0.103.2 (2015/07/04)
Layer changes
Git
- Fix
magit-repository-directories
variable name (thanks to travisbhartwell) - Fix
magit-blame
key binding (thanks to jenanwise) - Use
magit-log-all
instead ofmagit-log
onSPC g l
(thanks to tuhdo)
Other fixes and improvements
- Typos and documentation improvements (thanks to cscorley, dstcruz, h3dkandi, kccai, MadAnd, person808, Profpatsch, stnly, stormpat, xfq, zachlatta)
0.103.1 (2015/07/02)
Layer changes
Git
- Fix
F
in Vim style inMagit
status buffer, nowF
is correctly bound topull
popup menu - Fix intermittent erroneous
k
key binding inMagit
status buffer.
Core
- Fix mandatory dependency on
evil-escape
- Fix evilification of
evil-escape
starter key
0.103.0 (2015/07/01)
IMPORTANT: Breaking changes
- Spacemacs is now compatible only with
Magit 2.1
and later, be sure to update your packages. auctex
layer has been renamedlatex
, be sure to update your dotfile if you use this layer.erlang/elixir
layer has been split into two layerserlang
andelixir
, be sure to update your dotfile if you use these layers.git
layer has been split into two layers:git
andgithub
so the layer variablegit-enabled-github-support
is deprecated, you have to add the layergithub
in your dotfile.git-gutter
has been replaced bydiff-hl
. This package is in the new layerversion-control
, be sure to add this new layer to your dotfile.- Projectile key bindings changes:
SPC p e
is nowSPC p r
(recent files)SPC p R
is nowSPC p G
(regenerate tags)SPC p r
is nowSPC p R
(replace)
Hot new features
- Add support for Magit 2.1!
- Helm now uses its header to display the input pattern.
- Use Flycheck default configuration to check the current buffer in "real time" (yes this is a hot new features :-))
- New interactive function
spacemacs/switch-to-version
, it will ask for a version number and warn if the current branch is notmaster
. Users ondevelop
branch cannot use this function (it has no effect). - Clicking on the up arrow in the mode-line will now update Spacemacs. A prompt asks for confirmation before updating.
- New "tool assisted" search and replace interface supporting
ag
,pt
, andack
with a new key binding scheme. Check the documentation forsearching with an external tool
.
New Layers
- elixir (split from
erlang-elixir
) - erlang (split from
erlang-elixir
) - github (split from
git
) - ipython-notebook (ein) (thanks to CestDiego)
- latex (renamed from
auctex
) - version-control
Dotfile changes
- New variable
dotspacemacs-auto-save-file-location
which enable or disable auto-saving of modified files. Possible values areoriginal
to auto-save the file in-place,cache
to auto-save the file to another file stored in the cache directory andnil
to disable auto-saving. Default value iscache
.
Layer changes
Spacemacs
- Add text alignment key bindings on
SPC x a
prefix (thanks to justbur and TheBB) - Remove the kill ring from
savehist-additional-variables
to avoid an issue with abnormal high size ofsavehist
file (thanks to tuhdo) - Add documentation files to
helm-spacemacs
(thanks to person808) - Add support for
.org
files inhelm-spacemacs
(thanks to tuhdo) - Add explicit titles for documentation files in
helm-spacemacs
(thanks to tuhdo) - Remove the dependency on
f
library inhelm-spacemacs
(thanks to person808) - Revert
C-o
inholy-mode
since it shadows too many packages key bindings (thanks to tuhdo) - Evilify
helm-ag
andhelm-grep
buffers (obtained by pressingf3
in the helm buffer while searching) (thanks to cpaulik) - Search with
ag
,pt
andack
are done with the same interface based onhelm-ag
- Add search integration in
expand-region
andauto-highlight-symbol
(thanks to justbur) - Update search with
grep
to match the new search interface (thanks to justbur) - Quote input when default text is used in search (thanks to justbur)
smart-search-project
onSPC /
now fallback to searching files in current directory when there is no project (thanks to justbur)- Replace
dired-goto-file
withhelm-find-files
in Dired (thanks to tuhdo) - Add support for .org files to
SPC s l
key binding, it allows to quickly jump to file headers using Helm (thanks to tuhdo) - Re-enable
auto-save
mode (thanks to tuhdo) - Set
:defer 1
inhelm
initialization (which means that helm will be auto-loaded automatically after 1 second of idle time) - Fix
helm-resume
opening window in half of split screen (thanks to sooheon) - Use
helm
header to display the input pattern (thanks to tuhdo) - Fix
open-in-external-app
when the buffer is not visiting a file (thanks to travisbhartwell) - Prevent paste micro-state to be triggered by
C-r
ininsert state
- Projectile key bindings changes:
SPC p e
is nowSPC p r
(recent files)SPC p R
is nowSPC p G
(regenerate tags)SPC p r
is nowSPC p R
(replace) - Remove
comint-delchar-or-maybe-eof
onC-d
, it fixesC-d
scroll down behavior innormal state
, user has to press the stock bindingC-c C-d
to send anEOF
(thanks to kini)
Auto-completion
- Yasnippet: Default
helm-yas-display-key-on-candidate
tot
(thanks to BrianHicks) - Yasnippet: Disable
smartparens
while expanding to fix a bug withhippie-expand
(thanks to tuhdo) - New layer variable
auto-completion-enable-snippets-in-popup
to add snippets directly to auto-completion popup (thanks to person808)
Autohotkey
- Fix
.ahk
file extension declaration (thanks to ralesi)
C/C++
- Add package
gdb-mi
(gdb-many-windows) which enables an IDE like debugger frontend for Emacs (thanks to tuhdo)
Clojure
- Add
SPC e w
to eval last sexp and replace it with the result (thanks to DayoOliyide) - Evilify Cider inspector (thanks to ppold)
Elixir
- List all Elixir key bindings in README
- Update configuration to support new
alchemist
1.0 feature (thanks to tonini) - Enable auto-completion support
Emacs Lisp
- Add new Spacemacs snippets
micro-state
andnew-package
(thanks to CestDiego) - Add (f)ielm-indent-line for
ielm
mode (thanks to BlinkD)
Emoji
- Remove the extension and use the MELPA package
ERC
- Use
erc-yank
onp
in normal state ifgist
package is available (thanks to CestDiego)
Evil-snipe
- Update configuration to support last upstream changes (thanks to hlissner and MadAnd)
Extra-langs
- Enable
QML
mode for.qml
files (thanks to bennofs)
Eyebrowse
- Add support for workspace labels (thanks to rphillips)
Finance
- Evilify
ledger-report-mode
(thanks to darkfeline)
Git
- Replace
git-gutter
bydiff-hl
(thanks to tuhdo) - Remove
gc
prefix command as unused from guide-key (thanks to tko) - Add
magit-diff
key binding onSPC g d
(thanks to kevinushey) - Evilify
magit-diff
buffer - Implement fullscreen for
Magit
without advices (thanks to tarsius) - Fix whitespace toggles for
Magit
(thanks to tarsius) - Remove deprecated
magit-last-seen-setup-instructions
(thanks to tarsius) - Move whitespace toggle in
Magit
toC-S-w
- Add
SPC g L
to display the log for the current file (thanks to tko)
Go
- Add
SPC m g a
to switch between tests and implementation (thanks to jenanwise)
Gtags
- Enable
helm-gtags
forcompilation-mode
andshell-mode
(thanks to tuhdo)
Haskell
- Add
company-cabal
support for auto-completion in.cabal
files (thanks to bjarkevad) - Fix error with
electric-indent-local-mode
in some versions of Emacs (thanks to jeremyjh)
iPython-notebook (ein)
- Add key bindings on major-specific leader (thanks to cpaulik)
- Add
C-RET
andS-RET
key bindings to behave like theein
web interface (thanks to cpaulik) - Bind
SPC f s
to save the notebook (thanks to cpaulik)
LaTeX
- Add support for
RefTeX
(thanks to JP-Ellis) - Add support for
LatexMk
, to enable it set the layer variablelatex-build-command
to"LatexMk"
(thanks to JP-Ellis) - Use
auto-fill-mode
, with an environment-aware auto-fill function, you can enableauto-fill
support by setting the layer variablelatex-enable-auto-fill
tot
. You can also inhibit it in some environments with the variablelatex-nofill-env
(thanks to JP-Ellis) - Remove
build-view
in favour of justbuild
as it seemed to be broken and introduceSPC m v
to view (thanks to JP-Ellis) - General settings should now be easier to override in
dotspacemacs/config
- Fix errors due to layer renaming (thanks to JP-Ellis and autosquid)
Markdown
- Add font-locking for code blocks (thanks to kennethlove)
- Add support for a bunch of languages for code blocks (thanks to dexafree)
Ocaml
- Don't auto-close backticks (thanks to edwintorok)
Org
- Fontify code blocks (thanks to tuhdo)
- Add
toc-org
package (thanks to CestDiego) - Tweak org-pomodoro mode-line integration (Add missing leading space)
- Move
org-clock-save.el
to cache folder (thanks to BlinkD) - Add key binding
SPC m :
fororg-set-tags
(thanks to cpaulik)
Osx
- New variable
osx-use-option-as-meta
allowing to enable or disable the mapping ofoption
key tometa
key. This is especially useful for some European keyboard layouts like Finish or Swedish (thanks to tko) - Add
⌘ +
and⌘ -
key bindings to scale text (thanks to JoshTGreenwood and zimbatm) - Only update
dired-use-ls-dired
ifgls
was found on path (thanks to usharf) - Add reveal in finder on
C-⌘ f
(thanks to usharf) - Add key bindings
⌘ a
(select all)⌘ W
(close frame) and⌘ n
(new frame) (thanks to mveytsman) - Fix
⌘ v
paste behavior (thanks sooheon)
Powershell
- Add
SPC a s p
to start apowershell
buffer (thanks to ralesi) - Add
SPC m r r
forpowershell-regexp-to-regex
(thanks to ralesi) - Add
$(
text object (thanks to ralesi)
Puppet
- Add Puppetfile support (thanks to nwolfe)
Python
- New supported test runner:
pytest
(thanks to cpaulik) - New layer variable
python-test-runner
to choose betweennose
andpytest
- Set
indent-tabs-mode
tot
in REPLs, should fix indent errors (thanks to tuhdo) - Fix a loading bug due to a typo in
latex
layer (thanks to cpaulik)
Racket
- Fix not working
electric-pair-skip
(thanks x-ji)
Ruby
- Fix some annoyance with deep indentations (thanks to trishume)
Rust
- Add support for
flycheck
(thanks to swaroopch) - Add support for auto-completion via
racer
(thanks to JP-Ellis) - Use
compile
instead of the shell forcargo
. This allow Emacs to parse the output, including all the errors (thanks to JP-Ellis)
Scala
- Set classpath directory of
ensime
to.cache/ensime
(thanks to cyrillk)
Slime
- Add a bunch of key bindings (thanks to spigo900)
Syntax-checking
- Now use the
flycheck
default configuration to trigger checks. Checks are now performed live (thanks to tuhdo and thrnio)
Theme
- Add spacemacs-theme! (WIP) (thanks to nashamri)
- Add tao theme (thanks to elais)
Core
- New interactive function
spacemacs/switch-to-version
- Clicking on the up arrow will now update Spacemacs
- Add a link to Vimmers guide in quick help of startup buffer (thanks to person808)
- Enable
use-package-verbose
whendotspacemacs-verbose-loading
is set tot
- Better name for placeholders in layer templates (thanks to kini)
- Beautify change log (thanks to tuhdo)
- Layers are now auto-discovered recursively which allow arbitrary
directory hierarchy. Directory names starting with
!
are categories. (thanks to TheBB) - Fix regression when
dotspacemacs-startup-banner
is set tonil
(thanks to ptb) - Fix home buffer keys in terminal (thanks to tuhdo)
- Fix bookmark list in home buffer (thanks to fandag)
- Add support for
material-light
theme (thanks to cpaulik) - Use SSL to contact elpa repositories when possible (thanks to zimbatm)
- Emacs 25 required the line
(package-initialize)
in theinit.el
file (thanks to justbur) - Add the possibility to call
configuration-layer/update-packages
in batch mode (thanks to travisbhartwell)
Other fixes and improvements
- Conversion of all layer README.md files to .org (thanks to CestDiego and cpaulik)
- Conversion of documentation files to .org (thanks to person808)
- Add a guide for Vimmers in
doc
directory (thanks to person808) - Typos and documentation improvements (thanks to cloudbring, duerrp, dxnn, dvberkel, fotoetienne, JoshTGreenwood, kccai, OliverM, MadAnd, person808, robbyoconnor, royseto, swaroopch, travisbhartwell, tuhdo, xfq)
Release 0.102.x
0.102.2 (2015/06/03)
Layer changes
Org
- Fix bug with
ox-gfm
by moving it to extensions
Core
- Fix detection of new versions by correctly fetch latest changes
0.102.1 (2015/06/01)
Layer changes
Org
- Fix lazy-loading of
ox-gfm
package.
Core
- Catch layer variables syntax errors
0.102.0 (2015/05/31)
IMPORTANT: Breaking changes
- All Emacs Lisp related configuration has been moved to its own layer
called
emacs-lisp
, be sure to add this layer to your dotfile. - All shell related configuration has been move to its own layer called
shell
, be sure to add this layer to your dotfile if you use a shell inside Emacs. - Key binding to reload the dotfile is now
SPC f e R
instead ofC-c C-c
orSPC m c c
. Note thatSPC f e R
can be triggered anywhere (it is not restricted to the doftile anymore). - Key binding to switch buffer is now
SPC b b
instead ofSPC b s
. SPC f f
now useshelm-find-files
instead ofido
, use the new dotfile variabledotspacemacs-use-ido
to get the old behavior back.- Helm
TAB
andC-z
key bindings have been swapped. - By default single space sentence delimiter is defined.
- Layer variable values set with
:variables
keyword need to be quoted like in a regularsetq
expression.
New Layers
- Agda (thanks to ocharles)
- Chrome (thanks to beardedprojamz)
- D (thanks to trishume)
- Deft (thanks to trishume)
- Emacs-lisp
- Emoji
- Eyebrowse
- Games (thanks to nashamri)
- Gnus (thanks to cpaulik)
- Gtags (thanks to tuhdo)
- iBuffer (thanks to alex-glv)
- Pandoc (thanks to cpaulik)
- Prodigy (thanks to CestDiego)
- Purescript (thanks to kofno)
- Rust (thanks to mkaito)
- Salt (thanks to beardedprojamz)
- Search Engine (thanks to CestDiego)
- Semantic (thanks to tuhdo)
- Shell
- Spotify (thanks to BrianHicks)
- Sql (thanks to BrianHicks)
- TypeScript
- Vim-powerline
Dotfile changes
- New variable
dotspacemacs-search-tools
which is a list of search tool executable names. Spacemacs uses the first installed tool of the list with search related key bindings (SPC /
,SPC s ...
). Supported tools are `ag', `pt', `ack' and `grep'." - New variable
dotspacemacs-highlight-delimiters
which selects a scope to highlight delimiters. Possible value isall
,current
ornil
. Default isall
. (thanks to tuhdo) - New variable
dotspacemacs-additional-packages
. Adding packages to this list will install them without needing them to be wrapped in a layer. Ideal for quickly add a package. The package configuration can be put indotspacemas/config
. - New variable
dotspacemacs-use-ido
. If non nil thenido
replaceshelm
for some commands. For now onlyfind-files
(SPC f f) is replaced. - New key binding
SPC f e D
to open anediff
buffer between the user dotfile and the current template. - Disable paste micro-state by default, i.e. set the variable
dotspacemacs-enable-paste-micro-state
tonil
in the dotfile template.
New conventions
- Add conventions for markup languages like
markdown
ororg
(thanks to cpaulik)
Layer changes
Spacemacs
- Auto-indent when pasting use the universal argument to not auto-indent (thanks to tuhdo)
- Fix
global-mode-string
for mode-line (thanks to 3marcusw) - Display
guide-key
buffer at the bottom instead of the right so we get more space. Also fix some issues with other popup interaction. - Use single space sentence delimiter (thanks to roryk)
- Restore maximized frame state with
zoom-frm
(thanks to ralesi) - Improve
golden-ratio
excluded buffers coverage (thanks to tuhdo) - Add missing
evil-window-*
commands togolden-ratio
managed commands (thanks to riclima) - Add CamelCase motion toggle to
subword-mode
(thanks to mkcode) - Add
open-junk-file
package which allows to quickly create a junk file in.cache
directory. Bound toSPC f J
(thanks to tuhdo) - Add
SPC T s
to toggle semantic-stickyfunc (thanks to cpaulik) - Add
SPC b Y
andSPC b P
to copy/paste whole buffer (thanks to swaroopch) - Add
SPC h d b
todescribe-bindings
(thanks to mkcode) - Add toggle to hide/show the mode line on
SPC t m t
(thanks to jupl) - Add
move-text
micro-state - Add
highlight-parentheses
package which can activated by settingdotspacemacs-highlight-delimiters
tocurrent
(thanks to tuhdo) - Add
clean-aindent-mode
package to cleanly delete virtual indentation (thanks to tuhdo) - Move
yasnippet
andhippie-exp
toauto-completion
layer. - Move
multi-term
and shell packages to newshell
layer - Move
flyspell
andhelm-flyspell
tosyntax-checking
layer - Move
SPC b r
toSPC f R
(rename file) -
Move some toggles key bindings which are now:
SPC t s
for syntax checkingSPC t S
for spelling checkingSPC t f
for fill columnSPC t F
for auto-fillSPC t c
for camelcase
- Move
sp-local-pair
to:config
ofsmartparens
so user can override them (thanks to person808) - Remove
SPC b 0
andSPC b $
redundant key bindings (thanks to tuhdo) - Remove all themes from the layer (since now themes are not automatically uninstalled).
- Don't use the minibuffer for
scroll
micro-state - Don't close compilation buffer after success (thanks to TheBB)
- Make
trailing-whitespace
face more subtle (thanks to tuhdo) - Beautify whitespace highlighting (thanks to tuhdo)
- Make inactive window face of mode-line compatible with more themes (thanks to tuhdo)
- Fix the
recentf-exclude
variable, now cache folder is correctly excluded (thanks to rcherrueau) - Fix global toggle for whitespace.
- Fix for new line insertions with
SPC i
(thanks to nashamri) - Fix
spray
cursor issue when quitting. - Tweak
fci-mode
face color, should be better in most themes (thanks to tuhdo) - Improve
smooth-scroll
configuration (thanks to sooheon) - Refactor
spacemacs/init-evil-lisp-state
to useuse-package
(thanks to mveytsman)
Helm
- Switch commands for
Tab
andC-z
in Helm (thanks to darkfeline) - Remove Helm header line to make it clearer (thanks to tuhdo)
- Manually manage
popwin
to improve popup window interactions (thanks to tuhdo) - Enable fuzzy matching in Helm (thanks to ralesi)
- Turn on colors in
helm-swoop
(thanks to danielwuz) - Render README.md file of layers with
Open README
action ofhelm-spacemacs
, use the universal argumentC-u
to open the file without rendering it (thanks to tuhdo) - Add dotfile variables helm source to
helm-spacemac
- Add support for extensions in
helm-spacemacs
- Use
helm-pp-bookmarks
instead ofhelm-bookmarks
(thanks to darkfeline) - Move
C-SPC
onM-SPC
andS-M-SPC
forhelm
andido
micro-states. - Make
helm-find-files
backspace
key behave likeido
(thanks to tuhdo) - Fix aggressive manipulation of
face-remapping-alist
inhelm
andido
- Automatically create directories if needed when renaming a file (thanks to env0der)
- Replace
helm-projectile-vc
(which does not exist) byprojectile-vc
(thanks to swaroopch) - Fix
toggle-maximize-buffer
(thanks to tuhdo)
Evil
- Use non-visual lines for j/k navigation (thanks to mlsteele)
- Enable
evil-execute-in-normal-state
inholy-mode
- Better default face for
evil-search-highlight-persist-highlight-face
(thanks to tuhdo) - Add visual state mapping for
<
and>
to<gv
and>gv
respectively (allow to indent a region several times). - Add
spacemacs/smart-goto-definition
which attempts to callSPC m g g
and falls back toevil-goto-definition
if that fails (thanks to luxbock) - Replace
C-o
withM-o
indired
buffer sinceC-o
is replaced withevil-execute-in-normal-state
(thanks to tuhdo) - Make
evil-smart-*
functions respect the leader key (thanks to person808) - Advice
evil-jump-to-var
withevil-set-jump
(thanks to luxbock) - Temporary hack to speed up
ace-jump-line
(SPC l
) as an evil motion.
Auctex
- Add
RefTeX
package (thanks to rpglover64) - Add
flycheck
support build-view
always recompile TeX (thanks to kvelicka)
Auto-completion
-
New variables:
auto-completion-return-key-behavior
set the action to perform when theRET
key is pressed, the possible values arecomplete
andnil
.auto-completion-tab-key-behavior
set the action to perform when theTAB
key is pressed, the possible values arecomplete
,cycle
andnil
auto-completion-complete-with-key-sequence
is a string of two characters denoting a key sequence that will perform acomplete
action if the sequence has been entered quickly enough. If its value isnil
then the feature is disabled.- Default values are
RET
->complete
,TAB
->cycle
and sequence isnil
- Rename
auto-completion-enable-company-help-tooltip
toauto-completion-enable-help-tooltip
- Add support for
company-statistics
, to activate it set the layer variableauto-completion-enable-sort-by-usage
tot
(thanks to person808) - Add
auto-yasnippet
package onSPC i S
(thanks to tuhdo) - Disable
company-tooltip-flip
(thanks to tuhdo) - Allow a snippet to wrap around a selected region when expanded,
press
C-x C-x
to go to the original mark and runyas-expand
to wrap the selected region in expanded snippet. (thanks to tuhdo) - Allow
hippie-expand
to expand snippets (thanks to tuhdo) - Remove
company-yasnippet
backends useSPC i s
andC-p
- Fix
company
andfci-mode
incompatibility (thanks to tuhdo) - Fix wrong creation location for new snippets with
yas-new-snippet
(thanks to CestDiego) SPC t a
now correctly togglecompany
by default.- Remove unneeded
yasnippet-snippets
submodule (thanks mkcode) - Better lazy-loading of
yasnippet
(thanks to tuhdo)
Autohotkey
- Use MELPA package (thanks to ralesi)
C/C++
- New layer variable
c-c++-enable-clang-support
- New layer variable
c-c++-default-mode-for-headers
(thanks to ceales) - Remove unnecessary
auto-mode-alist
(thanks ceales) - Add
clang-format
support (thanks to gnzlbg)
Chrome
- Add better integration with edit-server package (thanks to CestDiego)
- Added Gmail messages support with
ham
mode (thanks to CestDiego)
Clojure
- Add binding to connect to REPL in Cider on
SPC m s c
(thanks to jcsims) - Add
SPC m t a
to reload test namespace before running all tests (thanks to voxdolo) - Add
SPC m t r
to reload test namespace and re-run failed tests (thanks to voxdolo) - Add
SPC m t t
to reload test namespace and run focused test (thanks to voxdolo)
Colors
- Add
rainbow indentifiers
color profiles forgotham
andmaterial
themes. - Add colorization of keywords and function names for
rainbow indentifiers
. - New variable
colors-theme-identifiers-sat&light
to set default lightness and saturation for a given theme.
Emacs-lisp
- Move
SPC m f
bindings for code formatting toSPC m =
- Add
macrostep
package with a micro-state onSPC m d m
(thanks to person808)
Erc
- Add ERC channels to mode-line (thanks to swaroopch)
- Add
SPC a i i
key binding to switch to active ERC channels (thanks to swaroopch) - Highlight nicks using
erc-hl-nicks
(thanks to CestDiego) - Image inline support using
erc-image
(thanks to CestDiego) - Logging to ~/.emacs.d/.cache/erc-logs (thanks to CestDiego)
ViewLogMode
for viewing logs (thanks to CestDiego)- YouTube videos Thumbnails inline using
erc-yt
(thanks to CestDiego) - Social Graph for ERC messages using
erc-social-graph
(thanks to CestDiego)
ESS
- Fix lazy-loading of packages (thanks to jcpetkovich)
- Update to take care of the merge of
company-ess
iness
(thanks to jcpetkovich)
Extra-langs
- Add
matlab
package (thanks to TheBB)
Git
- Make
git-gutter
key bindings work with or without the fringe (thanks to person808) - Fix
git-gutter
andlinum-mode
integration (thanks to person808) - Fix
s
key binding to stage item in visual state. - Replace
with-eval-after-load
byeval-after-load
(compatible with 24.3) (thanks to person808) - Disable
evil-snipe
inmagit-status-mode
(thanks to person808) - Enable
fci-mode
(fill column) ingit-commit-mode
(thanks to tuhdo) - Add
helm-gitignore
package onSPC g I
(thanks to jupl)
Gtags
- Add
helm-gtags-dwim-other-window
onSPC m g G
(thanks to mijoharas)
Haskell
- ensure
haskell-indentation
is loaded before calling members (thanks to chrisbarrett) - fix misspelled references to keymaps (thanks to chrisbarrett)
- fix function names
identation
instead ofindentation
(thanks to chrisbarrett) - Fix
haskell-indentation
eval-after-load
(thanks to chrisbarrett) - Fix
ghci-ng
key bindings being overridden (thanks to bjarkevad) - Use new package
haskell-snippets
- Use
ghci-ng
for functionhaskell-process-do-type-on-prev-line
(thanks to bjarkevad)
Html
- Improve
web
micro-state key bindings (thanks to CestDiego) emmet
key bindings fixes (thanks to louy2 and mkcode)- Use only
smartparens
inweb-mode
(thanks to louy2 and mkcode) - Add
eco
toweb-mode
auto-mode-alist
(thanks to louy2 and mkcode) - Fix buggy
T
key withemmet
- Add
company-web
package (thanks to CestDiego) - Add a bunch of new pairs to
sp-local-pair
(thanks to CestDiego) - Turn on
rainbow-delimiters
forLESS
andSCSS
(thanks to jupl)
Javascript
- Add
js-doc
package (thanks to geksilla) - Add
web-beautify
package onSPC m =
(thanks to elliotec) - Apply key bindings conventions to some
tern
key bindings.
Lua
- Add support for auto-completion (thanks to mijoharas)
Markdown
- Add a bunch of new key bindings to improve consistency of key bindings for markup languages, see commit (thanks to cpaulik)
- Add markdown render buffer command on
SPC m c r
(thanks to CarlQLange) - Add
SPC m i k
to insert<kbd>...</kbd>
pairs (thanks to CestDiego)
Ocaml
- Add REPL using
utop
(thanks to edwintorok) - Auto-indentation using
ocp-indent
(thanks to edwintorok) - Add support for
company
auto-completion (thanks to edwintorok) - Add support for
flycheck
syntax checking (thanks to edwintorok) - New
merlin
key bindings (thanks to edwintorok)
Org
- Add a bunch of new key bindings to improve consistency of key bindings for markup languages, see commit (thanks to cpaulik)
- Use
org-startup-indented
instead of a hook so users can easily
remove org-indent-mode
(thanks to darkfeline)
- Add support for
org-pomodoro-clock
to mode-line (thanks to swaroopch) - Add
org-present
package (thanks to swaroopch) - Add
SPC m j
forhelm-org-in-buffer-headings
(thanks to swaroopch) - Add
SPC m n
fororg-narrow-to-subtree
(thanks to mattly) - Add
SPC m N
forwiden
(thanks to mattly) - Add
SPC m i k
to insert<kbd>...</kbd>
pairs (thanks to CestDiego) - Add
htmlize
package to enable syntax highlight in export HTML (thanks to tetsusoh) - Fix error with
org-async
(thanks to justbur)
Osx
- Make
Command-s
work with other modes (thanks to linktohack) - Make
dired
usecoreutils gls
if installed (thanks to usharf)
Perforce
- Add a bunch of key bindings see commit (thanks to snandan)
Puppet
- Add
auto-completion
support (thanks to PierreR)
Python
- Add YAPF extension for buffer formatting (thanks to kennethlove)
nose.el
is now compatible withvirtualenv
(thanks to danielwuz)- Add a function to remove unused imports
python-remove-unused-imports
onSPC m c i
(thanks to danielwuz) - Add
pip-requirement
package (thanks to CestDiego) - Enable
company
in Python REPL for code completion (thanks to tuhdo) - Fix wrong extra parenthesis when inserting a breakpoint (thanks to CestDiego)
- Don't enable Vim key bindings in REPL if
holy-mode
is active (thanks to tuhdo) - Fix Python and Semantic integration when no
python
executable can be found on the system (thanks to tuhdo)
Rcirc
- Add
rcirc-track-minor-mode
to thercirc-mode-hooks
(thanks to luxbock)
Ruby
- Fix
ruby-test-mode
initialization - Fix auto-completion (thanks to trishume)
- Fix Rails mappings showing up in non rails projects (thanks to horrorvacui)
- Add
:A
ex-command which switches between implementation and test (thanks to naliwajek) - Remove overloading of function
erm-darken-color
Rust
- Add key bindings for cargo build, run, test (thanks to swaroopch)
Scala
- Add
SPC m d A
to attach to remote debugger (thanks to siegelzero)
Semantic
- Create directory for
semanticdb
if it doesn't exist (thanks to CestDiego)
Shell
- Use
shell-pop
to toggle shell/eshell and terminals (thanks to tuhdo) - Add binding for EOF (^D) in
term
(thanks to darkfeline) - Bind
term-send-tab
only in insert state (thanks to darkfeline) up
anddown
in shell to cycle through previous commands (thanks to ralesi)- Fix for
paste
command inmulti-term
. - Add
SPC p $ t
to runmulti-term
at project root
Slime
- Disable
smartparens
in SLIME REPL (thanks to tuhdo)
Smex
- Fix
smex
prompt whitespace (thanks to TheBB)
Syntax-checking
- New variable
syntax-checking-flycheck-pos-tip
to enable or disable documentation popup (thanks to beardedprojamz)
Themes
- Add
apropospriate-theme
to megapack - Add
jazz-theme
to megapack (thanks to matDobek) - Fix theme-to-package rules for
base16
(thanks to mkaito)
Tmux
- Add support for motion state (thanks to rphillips)
Vim-empty-lines
- Update with last patches (thanks to person808)
- Exclude terminal modes (thanks to tonylotts)
Ycmd
- Move C/C++ related configuration to
c-c++
layer.
Core
- Add support for
use-package
injected hooks (not yet documented) - It is now possible to create a layer directly in a known configuration layer path. A helm buffer will ask for a known path or a new path (thanks to justbur)
- The
:variables
keyword now behaves like regularsetq
. - Add org elpa repository
- Use
archive
instead ofpackage-alist
to detect orphans (fix false orphan positives when the dependencies of a package change) - Improve support for images in Spacemacs banner, it is now possible to use any image format supported by Emacs (thanks to jupl)
- Prefix all category folders in
contrib
with!
(thanks to trishume) - Smarter buffer switching which tries to avoid special buffers, you can
customize
spacemacs-useless-buffers-regexp
to define other buffers to avoid (thanks to person808) - Warn about duplicated layers
- Improvements to home buffer: Quick Help, Content toggles, link faces, better key bindings (thanks to tuhdo)
dotspacemacs/location
now respectdotspacemacs-filepath
value (thanks to coldnew)- Avoid conflict with hydra's
lv.el
(thanks to edwintorok) - Update layer templates to use
setq
instead ofdefvar
(thanks to person808)
Other fixes
- Replace
defvar
withsetq
for variable definition<layer>-packages
,<layer>-pre-extensions
and<layer>-pre-extensions
. - Themes in
dotspacemacs-themes
are not considered orphans anymore - Fix "Unable to check for new version." if
.emacs.d
is a symlink (thanks to louy2) - Fix non unicode number spacing in mode-line
- Typos (thanks to Andrea, atamis, CarlQLange, charl, ctjhoa, Devagamster, dguilak, edwintorok, fhzerorubigd, jackwilsonv, jupl, kini, latkins, MadAnd, mlsteel, mosic, person808, skwuent, srid, swaroopch and zimbatm)
Release 0.101.x
Hot new features
Choose your own editing style
Thanks to the new holy-mode
Spacemacs can now be used by Vim users
or Emacs users by setting the dotspacemacs-editing-style
variable to
'vim
or 'emacs
in the dotfile. In Emacs
style the leader is
available on M-m
. It is possible to dynamically switch between the
two style with SPC P tab
.
Mandatory init function and new Pre and Post init functions
A package is now considered to be used only if there is a corresponding
<layer>/init-<package>
function explicitly defined.
There is now two new functions to initialize a given package:
<layer>/pre-init-<package>
which is called before the init function<layer>/post-init-<package>
which is called after the init function
Even if a pre
or post
function exist for a given package, an init
function is still required to consider the package to be used.
Auto-completion
Spacemacs now officially support auto-completion. The old layer
company-mode
has been removed and auto-complete
has been removed
from the spacemacs layer.
They are now part of a new layer called auto-completion
.
You'll have to this add layer to your dotfile to enable auto-completion.
Syntax checking
Flycheck has been removed from the Spacemacs layer and moved to a new
layer called syntax-checking
.
You'll have to add this layer to your dotfile to enable the fly syntax
checking.
Org
Org packages have been removed from Spacemacs layer and moved to a new
org
layer.
You'll have to add this layer to your dotfile to enable the Org
configuration of Spacemacs.
New shortcuts in startup buffer
Recent files, project and bookmarks can be displayed on the startup
buffer. Check for the new dotfile variable dotspacemacs-startup-lists
.
(thanks to CarlQLange)
New lighter in the mode line
Lighter letters have been updated, now the letter corresponds to the
key binding to toggle the associated mode. For instance auto-completion
is on ⓐ and thus can be toggled with SPC t a
.
Better package update
The package update should now prevent even more errors when upgrading a batch of packages.
Initial Release (2015/04/13)
New layers
- evil-commentary: Alternative to
evil-nerd-commenter
(thanks to person808) - better-defaults: layer providing better defaults for Emacs commands, rather empty for now. (thanks to tuhdo)
- ERC: an IRC client (thanks to swaroopch)
- Racket: a lisp dialect (thanks to trishume)
- xkcd: browse for XKCD in Emacs (thanks to CestDiego)
- shell-scripts: layer containing shell specific modes like
fish-mode
- editorconfig: add support for EditorConfig (thanks to jupl)
New dotfile variables:
dotspacemacs-editing-style
can be eithervim
oremacs
.dotspacemacs-verbose-loading
if non nil the loading prints logs in the*Messages*
buffer. Default value isnil
.dotspacemacs-startup-lists
is a list of symbols to display recent items in the startup buffer, possible values are:recents
,bookmarks
andprojects
(thanks to CarlQLange)
Auto-complete
- Move to
auto-completion
layer
C/C++
- Add key bindings
SPC m g a
andSPC m g A
for open alternate file (thanks to mijoharas)
Clojure
- Add
SPC m e f
eval function at point - Add
cider-eval-sexp-fu
- Fix for
cider-send-function-to-repl
(thanks to nashamri) - Replace
auto-complete
bycompany
for auto-completion - Move
SPC d
commands onSPC h
to meet Spacemacs convetions (thanks to cpaulik) - Open
cider-doc
without asking for symbol, close it withq
(thanks to cpaulik)
Company
- Move to
auto-completion
layer - Refactoring of
company
configuration, it is now lazy-loaded and thecompany-backends
list is now a buffer local variable.company
is not enabled globally anymore. - Set
company-delay
to 0.2 instead of 0 - Ignore
company-quickhelp
for Emacs version < 24.4 - Add support for
company
in various languages (thanks to trishume)
Emacs Lisp
- Add
eval-sexp-fu
(thanks to tuhdo) - Enable eldoc in eval-expression and IELM (thanks to tuhdo)
- New key bindings
SPC m e b
,SPC m e c
andSPC m e r
to evaluate the buffer, the current form starting byset
ordef
and the region respectively (thanks to ralesi)
Ess
- Fix loading of
ess-R-object-popup
andess-R-data-view
(thanks to jcpetkovich)
Extra-Lang layer
- Add
Nim
language (thanks to trishume)
Flycheck
- Move to
syntax-checking
layer - Add
flycheck-pos-tip
(thanks to tuhdo) - Enable flycheck for
lua
files (thanks rphillips)
Git
- Add
gitconfig-mode
andgit-commit-mode
(thanks to ralesi) - Add
gitattributes-mode
andgitignore-mode
(thanks to r4ts0n) - Add key bindings in rebase mode
- Add
git-link
package (thanks to CestDiego) - Enable Magit authentication on Windows (thanks to tuhdo)
- Loads
magit-gh-pulls
only after requesting it (thanks to cpaulik)
Go
- Add
run-package-tests
command onSPC m t p
(thanks to robmerrell) - Fix path to
go-oracle
(thanks to Pursuit92)
Haskell
- Move
SPC m t
andSPC m i
underSPC m h
- Remove
hi2
(it is now integrated inhaskell-mode
) - Disable
eletric-indent-mode
- Fix
flycheck-haskell
autoload (thanks to jcpetkovich) - Fix
flycheck
loading - Move
SPC m t
toSPC m h t
according to Spacemacs conventions (thanks to jeremyjh) - Add C–
cmm-mode
(thanks to bgamari)
Helm
- Add
helm-colors
key binding onSPC C l
(thanks to tuhdo) - Make
helm-ff-doted-directory
consistent (thanks to tuhdo) - Disable popwin-mode when a Helm session is active (thanks to tuhdo)
- Fix lazy-loading of helm for describe commands
- Add support for
pt
the platinum searcher (thanks to ralesi) - Add support for
helm-ag-edit
- Add function
spacemacs/helm-projectile-search-dwim
which select the first available external search tool (pt, ag, ack or grep) (thanks to ralesi) - Enable
helm-descbinds
globally (thanks to tuhdo) - Add key bindings for useful Helm commands:
helm-info-at-point
,helm-man-woman
,helm-locate-library
andhelm-minibuffer-history
(thanks to tuhdo) - Add key bindings for searching the web using
helm-suggest
(thanks to cpaulik)
Holy-mode
- New package providing Emacs edition style to Spacemacs
IRC
- rcirc: Create rcirc logging directory during init (thanks to jcpetkovich)
- New ERC layer (thanks to swaroopch)
- Add ERC keybindings (thans to cpaulik)
- Move startup key bindings to prefix
SPC a i
Markdown
- Associate
.mkd
withmarkdown-mode
(thanks to bgamari)
Org
- Move to
org
layer - Bind evil-leader in org-agenda-map (thanks to luxbock)
- Add
org-pomodoro
onSPC m p
(thanks to swaroopch) - Add key bindings for
org-clock-cancel
onSPC m q
, andorg-set-effort
onSPC m f
(thanks to swaroopch) - Fix diminish of
org-indent
Perspective
- Rebind
spacemacs/persp-switch-project
toSPC p p
(thanks to CestDiego)
Projectile
- Move projectile switch project from
SPC p S
toSPC p p
Python
- Add helm-pydoc on
SPC m h d
(thanks to danielwuz) - Fix
pylookup
configuration
Racket
- Add key bindings for REPL interaction
Ruby
- Lazy-load
projectile-rails
- Remove mode-line lighter for
robe
Scala
- Do not enable ensime in non-file buffers (thanks to chrisbarrett)
SLIME
- Use slime for indentation (thanks to tuhdo)
- Add extension for SBCL (thanks to tuhdo)
- Allow to create a common lisp scratch buffer with slime-scratch (thanks to tuhdo)
- Enable fuzzy completion with score (thanks to tuhdo)
- Don't enable SLIME in Emacs Lisp (thanks to tuhdo)
Smartparens
- Enable smartparens in eval-expression (thanks to tuhdo)
Themes
- Fix
themes-megapack
layer where themes could not be browsed in Helm. - Add
material
theme (thanks to cpaulik) - Add
darktooth
theme (thanks to person808) - Add
gotham
theme (thanks to person808)
ycmd
- Set global config only if not already set (thanks naseer)
Web
- Add
sass-mode
(thanks to ryanartecona) - Ensure that less gets loaded (thanks to mijoharas)
Various Improvements and Changes
- New
evil
state calledevilified
which is used in evilified buffers. - Remove the following packages from Spacemacs layer:
dired+
,fancy-narrow
,string-edit
,visual-regexp-steroids
andwdired
- Rename
*-declarep
functions to*-usedp
functions - Display block selection info in the mode line (thanks to emmanueltouzery)
- Bind
K
in normal state toSPC m h h
if it exists (thanks to person808) - Add key binding for balancing windows on
SPC w =
(thanks to kini) - Add key binding to indent region on
SPC j =
(thanks to tuhdo) - Add key binding
SPC w SPC
forace-window
(thanks to ralesi) - Add key binding
SPC b h
to open the startup buffer (thanks to ralesi) - Add key binding
SPC t ~
to toggle Vim tildes - Add adaptive wrap which appropriately indents wrapped lines (thanks to person808)
-
Add mouse support to line number column (thanks to ralesi)
- single click selects line
- double click selects text block
- drag across lines selects all lines dragged across
- Add
highlight-numbers
(thanks to tuhdo) - Add
highlight-indentation
onSPC t h i
andSPC t h c
(thanks to cpaulik) - Add ace-link package to spacemacs layer (thanks to danielwuz)
- Add
indent-guide
onSPC t i
(thanks to ralesi) - Add link to cpaulik tutorial to use the Spacemacs icons in Ubuntu Unity
- Add C-w and brackets [] to guide-key-sequence (thanks to ralesi)
- Add
info+
to improve Info reading experience (thanks to tuhdo) - Add default layers to dotfile template:
auto-completion
,better-defaults
,git
,markdown
,org
andsyntax-checking
(thanks to CarlQLange) - Move some toggles on
SPC T
: fringe, menu bar, tool bar, frame maximize, frame fullscreen, frame transparency - Restore rectangle-mark-mode key binding (thanks to tuhdo)
- Make <escape> quit the isearch-mode like vim (thanks to dsdshcym)
- Enable goto-address-prog-mode which makes URL in code comments clickable (thanks to tuhdo)
- Disable aggressive indent for ediff buffers (thanks chrisbarrett)
- Prevent cursor from moving into minibuffer prompt (thanks to tuhdo)
- Remove tildes in Spacemacs buffer and read-only buffers like Info and help (thanks to tuhdo)
- Ask user editing style when creating .spacemacs file (thanks to tuhdo)
- Fix for persistent-server if server never got started (thanks to ralesi)
- Fix nyan cat starting rainbow on a light background
- Fix some double loading of some packages
- Fix double loading of
extensions.el
files - Fix question for preferred coding systems on Microsoft Windows
- Properly enable saveplace (thanks to tuhdo)
- Don't bind
C-d
inido-completion-map
toido-delete-file-at-head
(thanks to segv) - Don't refer to ~/.emacs.d/ directly at various places (thanks to jcpetkovich)
- Don't want paste-micro-state to pop up when pasting in ex command prompt (thanks to ralesi)
- Don't cycle when press TAB in eshell (thanks to tuhdo)
- Don't insert extra quote in dotspacemacs-mode (thanks to tuhdo)
- Adapt some micro-states to the micro-state macro (thanks to ralesi)
- Improve smooth scrolling configuration (reduce some point jump) (thanks to tuhdo)
- Improve
doge
banner grammar (thanks to mathpunk) - New
HOTOWs.md
file in/doc
- Add
Buy A Drink
badge to README.md - Typo and documentation updates (thanks to danielwuz, swaroopch, CestDiego, IvanMalison, agevelt, nwolfe)
Hot Fixes
Startup Buffer
- Don't display the release notes in the startup buffer when Emacs is restarted after a fresh install
- Startup buffer: fix widget activation in
holy-mode
(thanks to tuhdo) - Startup buffer: Don't fontify the startup buffer when
rainbow-identifiers
Auto-completion
- Fix error when toggling auto-completion in some buffers
Haskell
- Add new
haskell-snippets
package (fixes error with requiredhaskell-yas
) - Fix missing quote in
haskell-indentation
Org
- Org layer: exclude ox-gfm since it seems problematic for some users. package is used
Ruby
- Fix auto-completion activation.
Themes
- Fix conflict between official Spacemacs solarized theme and
color-theme-solarized
declared inthemes-megapack
layer. - Add rules for all base16 themes (thanks to mkaito)
Various Fixes
- revert back
ag
as the default search tool instead ofpt
,pt
can conflict withpt
command line tool from TCL parser tools.
Previous Releases
- See Github release page