* Release 0.104.x (next) ** 0.104.0 *** IMPORTANT: Breaking changes - =Ruby on Rails= framework has now its own layer called =ruby-on-rails=, be sure to add this layer to your dotfile if you use RoR. - =Django= framework has now its own layer called =django=, be sure to add this layer to your dotfile if you use it. *** New Layers - django (split from python layer) - idris (thanks to zmthy) - java (thanks to kleewho) - sml (thanks to Devagamster) - ruby-on-rails (split from ruby layer) *** Layer changes **** Javascript - Add =json-snatcher= on ~SPC m h p~ (thanks to CestDiego) * Release 0.103.x (2015/07/01) ** 0.103.1 *** Layer changes - Fix ~F~ in Vim style in =Magit= status buffer, now ~F~ is correctly bound to =pull= popup menu - Fix intermittent erroneous ~k~ key binding in =Magit= status buffer. *** Core - Fix mandatory dependency on =evil-escape= - Fix evilification of =evil-escape= starter key ** 0.103.0 *** IMPORTANT: Breaking changes - Spacemacs is now compatible only with =Magit 2.1= and later, be sure to update your packages. - =auctex= layer has been renamed =latex=, be sure to update your dotfile if you use this layer. - =erlang/elixir= layer has been split into two layers =erlang= and =elixir=, be sure to update your dotfile if you use these layers. - =git= layer has been split into two layers: =git= and =github= so the layer variable =git-enabled-github-support= is deprecated, you have to add the layer =github= in your dotfile. - =git-gutter= has been replaced by =diff-hl=. This package is in the new layer =version-control=, be sure to add this new layer to your dotfile. - Projectile key bindings changes: ~SPC p e~ is now ~SPC p r~ (recent files) ~SPC p R~ is now ~SPC p G~ (regenerate tags) ~SPC p r~ is now ~SPC 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 not =master=. Users on =develop= 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=, and =ack= with a new key binding scheme. Check the documentation for =searching 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 are =original= to auto-save the file in-place, =cache= to auto-save the file to another file stored in the cache directory and =nil= to disable auto-saving. Default value is =cache=. *** 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 of =savehist= file (thanks to tuhdo) - Add documentation files to =helm-spacemacs= (thanks to person808) - Add support for =.org= files in =helm-spacemacs= (thanks to tuhdo) - Add explicit titles for documentation files in =helm-spacemacs= (thanks to tuhdo) - Remove the dependency on =f= library in =helm-spacemacs= (thanks to person808) - Revert ~C-o~ in =holy-mode= since it shadows too many packages key bindings (thanks to tuhdo) - Evilify =helm-ag= and =helm-grep= buffers (obtained by pressing ~f3~ in the helm buffer while searching) (thanks to cpaulik) - Search with =ag=, =pt= and =ack= are done with the same interface based on =helm-ag= - Add search integration in =expand-region= and =auto-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= on ~SPC /~ now fallback to searching files in current directory when there is no project (thanks to justbur) - Replace =dired-goto-file= with =helm-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= in =helm= 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~ in =insert state= - Projectile key bindings changes: ~SPC p e~ is now ~SPC p r~ (recent files) ~SPC p R~ is now ~SPC p G~ (regenerate tags) ~SPC p r~ is now ~SPC p R~ (replace) - Remove =comint-delchar-or-maybe-eof= on ~C-d~, it fixes ~C-d~ scroll down behavior in =normal state=, user has to press the stock binding ~C-c C-d~ to send an =EOF= (thanks to kini) **** Auto-completion - Yasnippet: Default =helm-yas-display-key-on-candidate= to =t= (thanks to BrianHicks) - Yasnippet: Disable =smartparens= while expanding to fix a bug with =hippie-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= and =new-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= on ~p~ in normal state if =gist= 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= by =diff-hl= (thanks to tuhdo) - Remove =gc= prefix command as unused from guide-key (thanks to tko) - Add =magit-diff= key binding on ~SPC 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= to ~C-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= for =compilation-mode= and =shell-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~ and ~S-RET~ key bindings to behave like the =ein= 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 variable =latex-build-command= to ="LatexMk"= (thanks to JP-Ellis) - Use =auto-fill-mode=, with an environment-aware auto-fill function, you can enable =auto-fill= support by setting the layer variable =latex-enable-auto-fill= to =t=. You can also inhibit it in some environments with the variable =latex-nofill-env= (thanks to JP-Ellis) - Remove =build-view= in favour of just =build= as it seemed to be broken and introduce ~SPC 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 :~ for =org-set-tags= (thanks to cpaulik) **** Osx - New variable =osx-use-option-as-meta= allowing to enable or disable the mapping of =option= key to =meta= 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= if =gls= 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 a =powershell= buffer (thanks to ralesi) - Add ~SPC m r r~ for =powershell-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 between =nose= and =pytest= - Set =indent-tabs-mode= to =t= 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 for =cargo=. 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= when =dotspacemacs-verbose-loading= is set to =t= - 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 to =nil= (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 the =init.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 of =C-c C-c= or ~SPC m c c~. Note that ~SPC 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 of ~SPC b s~. - ~SPC f f~ now uses =helm-find-files= instead of =ido=, use the new dotfile variable =dotspacemacs-use-ido= to get the old behavior back. - Helm ~TAB~ and ~C-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 regular =setq= 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 is =all=, =current= or =nil=. Default is =all=. (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 in =dotspacemas/config=. - New variable =dotspacemacs-use-ido=. If non nil then =ido= replaces =helm= for some commands. For now only =find-files= (SPC f f) is replaced. - New key binding ~SPC f e D~ to open an =ediff= 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= to =nil= in the dotfile template. *** New conventions - Add conventions for markup languages like =markdown= or =org= (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 to =golden-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 to ~SPC f J~ (thanks to tuhdo) - Add ~SPC T s~ to toggle semantic-stickyfunc (thanks to cpaulik) - Add ~SPC b Y~ and ~SPC b P~ to copy/paste whole buffer (thanks to swaroopch) - Add ~SPC h d b~ to =describe-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 setting =dotspacemacs-highlight-delimiters= to =current= (thanks to tuhdo) - Add =clean-aindent-mode= package to cleanly delete virtual indentation (thanks to tuhdo) - Move =yasnippet= and =hippie-exp= to =auto-completion= layer. - Move =multi-term= and shell packages to new =shell= layer - Move =flyspell= and =helm-flyspell= to =syntax-checking= layer - Move ~SPC b r~ to ~SPC f R~ (rename file) - Move some toggles key bindings which are now: - ~SPC t s~ for syntax checking - ~SPC t S~ for spelling checking - ~SPC t f~ for fill column - ~SPC t F~ for auto-fill - ~SPC t c~ for camelcase - Move =sp-local-pair= to =:config= of =smartparens= so user can override them (thanks to person808) - Remove ~SPC b 0~ and ~SPC 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 use =use-package= (thanks to mveytsman) ***** Helm - Switch commands for ~Tab~ and ~C-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 of =helm-spacemacs=, use the universal argument ~C-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 of =helm-bookmarks= (thanks to darkfeline) - Move ~C-SPC~ on ~M-SPC~ and ~S-M-SPC~ for =helm= and =ido= micro-states. - Make =helm-find-files= =backspace= key behave like =ido= (thanks to tuhdo) - Fix aggressive manipulation of =face-remapping-alist= in =helm= and =ido= - Automatically create directories if needed when renaming a file (thanks to env0der) - Replace =helm-projectile-vc= (which does not exist) by =projectile-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= in =holy-mode= - Better default face for =evil-search-highlight-persist-highlight-face= (thanks to tuhdo) - Add visual state mapping for =<= and =>= to =gv= respectively (allow to indent a region several times). - Add =spacemacs/smart-goto-definition= which attempts to call ~SPC m g g~ and falls back to =evil-goto-definition= if that fails (thanks to luxbock) - Replace ~C-o~ with ~M-o~ in =dired= buffer since ~C-o~ is replaced with =evil-execute-in-normal-state= (thanks to tuhdo) - Make =evil-smart-*= functions respect the leader key (thanks to person808) - Advice =evil-jump-to-var= with =evil-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 the ~RET~ key is pressed, the possible values are =complete= and =nil=. - =auto-completion-tab-key-behavior= set the action to perform when the ~TAB~ key is pressed, the possible values are =complete=, =cycle= and =nil= - =auto-completion-complete-with-key-sequence= is a string of two characters denoting a key sequence that will perform a =complete= action if the sequence has been entered quickly enough. If its value is =nil= then the feature is disabled. - Default values are ~RET~ -> =complete=, ~TAB~ -> =cycle= and sequence is =nil= - Rename =auto-completion-enable-company-help-tooltip= to =auto-completion-enable-help-tooltip= - Add support for =company-statistics=, to activate it set the layer variable =auto-completion-enable-sort-by-usage= to =t= (thanks to person808) - Add =auto-yasnippet= package on ~SPC 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 run =yas-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 use ~SPC i s~ and ~C-p~ - Fix =company= and =fci-mode= incompatibility (thanks to tuhdo) - Fix wrong creation location for new snippets with =yas-new-snippet= (thanks to CestDiego) - ~SPC t a~ now correctly toggle =company= 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 for =gotham= and =material= 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 to ~SPC m =~ - Add =macrostep= package with a micro-state on ~SPC 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= in =ess= (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= and =linum-mode= integration (thanks to person808) - Fix =s= key binding to stage item in visual state. - Replace =with-eval-after-load= by =eval-after-load= (compatible with 24.3) (thanks to person808) - Disable =evil-snipe= in =magit-status-mode= (thanks to person808) - Enable =fci-mode= (fill column) in =git-commit-mode= (thanks to tuhdo) - Add =helm-gitignore= package on ~SPC g I~ (thanks to jupl) **** Gtags - Add =helm-gtags-dwim-other-window= on ~SPC 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 of =indentation= (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 function =haskell-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= in =web-mode= (thanks to louy2 and mkcode) - Add =eco= to =web-mode= =auto-mode-alist= (thanks to louy2 and mkcode) - Fix buggy =T= key with =emmet= - Add =company-web= package (thanks to CestDiego) - Add a bunch of new pairs to =sp-local-pair= (thanks to CestDiego) - Turn on =rainbow-delimiters= for =LESS= and =SCSS= (thanks to jupl) **** Javascript - Add =js-doc= package (thanks to geksilla) - Add =web-beautify= package on ~SPC 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 [[https://github.com/syl20bnr/spacemacs/commit/7b6678efd6cece5bbb3419579590b843943f9e13][commit]] (thanks to cpaulik) - Add markdown render buffer command on ~SPC m c r~ (thanks to CarlQLange) - Add ~SPC m i k~ to insert =...= 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 [[https://github.com/syl20bnr/spacemacs/commit/7b6678efd6cece5bbb3419579590b843943f9e13][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~ for =helm-org-in-buffer-headings= (thanks to swaroopch) - Add ~SPC m n~ for =org-narrow-to-subtree= (thanks to mattly) - Add ~SPC m N~ for =widen= (thanks to mattly) - Add ~SPC m i k~ to insert =...= 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= use =coreutils gls= if installed (thanks to usharf) **** Perforce - Add a bunch of key bindings see [[https://github.com/syl20bnr/spacemacs/commit/6793eda4a90ee3a6c19c433b8676d5d9d8c3de76][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 with =virtualenv= (thanks to danielwuz) - Add a function to remove unused imports =python-remove-unused-imports= on ~SPC 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 the =rcirc-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= and =down= in shell to cycle through previous commands (thanks to ralesi) - Fix for =paste= command in =multi-term=. - Add ~SPC p $ t~ to run =multi-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 regular =setq=. - Add org elpa repository - Use =archive= instead of =package-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 respect =dotspacemacs-filepath= value (thanks to coldnew) - Avoid conflict with hydra's =lv.el= (thanks to edwintorok) - Update layer templates to use =setq= instead of =defvar= (thanks to person808) *** Other fixes - Replace =defvar= with =setq= for variable definition =-packages=, =-pre-extensions= and =-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 =/init-= function explicitly defined. There is now two new functions to initialize a given package: - =/pre-init-= which is called before the init function - =/post-init-= 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 either =vim= or =emacs=. - =dotspacemacs-verbose-loading= if non nil the loading prints logs in the =*Messages*= buffer. Default value is =nil=. - =dotspacemacs-startup-lists= is a list of symbols to display recent items in the startup buffer, possible values are: =recents=, =bookmarks= and =projects= (thanks to CarlQLange) *** Auto-complete - Move to =auto-completion= layer *** C/C++ - Add key bindings ~SPC m g a~ and ~SPC 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= by =company= for auto-completion - Move ~SPC d~ commands on ~SPC h~ to meet Spacemacs convetions (thanks to cpaulik) - Open =cider-doc= without asking for symbol, close it with =q= (thanks to cpaulik) *** Company - Move to =auto-completion= layer - Refactoring of =company= configuration, it is now lazy-loaded and the =company-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~ and ~SPC m e r~ to evaluate the buffer, the current form starting by =set= or =def= and the region respectively (thanks to ralesi) *** Ess - Fix loading of =ess-R-object-popup= and =ess-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= and =git-commit-mode= (thanks to ralesi) - Add =gitattributes-mode= and =gitignore-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 on ~SPC m t p~ (thanks to robmerrell) - Fix path to =go-oracle= (thanks to Pursuit92) *** Haskell - Move ~SPC m t~ and ~SPC m i~ under ~SPC m h~ - Remove =hi2= (it is now integrated in =haskell-mode=) - Disable =eletric-indent-mode= - Fix =flycheck-haskell= autoload (thanks to jcpetkovich) - Fix =flycheck= loading - Move ~SPC m t~ to ~SPC m h t~ according to Spacemacs conventions (thanks to jeremyjh) - Add C-- =cmm-mode= (thanks to bgamari) *** Helm - Add =helm-colors= key binding on ~SPC 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= and =helm-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= with =markdown-mode= (thanks to bgamari) *** Org - Move to =org= layer - Bind evil-leader in org-agenda-map (thanks to luxbock) - Add =org-pomodoro= on ~SPC m p~ (thanks to swaroopch) - Add key bindings for =org-clock-cancel= on ~SPC m q~, and =org-set-effort= on ~SPC m f~ (thanks to swaroopch) - Fix diminish of =org-indent= *** Perspective - Rebind =spacemacs/persp-switch-project= to ~SPC p p~ (thanks to CestDiego) *** Projectile - Move projectile switch project from ~SPC p S~ to ~SPC 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 called =evilified= which is used in _evilified_ buffers. - Remove the following packages from Spacemacs layer: =dired+=, =fancy-narrow=, =string-edit=, =visual-regexp-steroids= and =wdired= - Rename =*-declarep= functions to =*-usedp= functions - Display block selection info in the mode line (thanks to emmanueltouzery) - Bind =K= in normal state to ~SPC 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~ for =ace-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= on ~SPC t h i~ and ~SPC t h c~ (thanks to cpaulik) - Add ace-link package to spacemacs layer (thanks to danielwuz) - Add =indent-guide= on ~SPC 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= and =syntax-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 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~ in =ido-completion-map= to =ido-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 required =haskell-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 in =themes-megapack= layer. - Add rules for all base16 themes (thanks to mkaito) *** Various Fixes - revert back =ag= as the default search tool instead of =pt=, =pt= can conflict with =pt= command line tool from TCL parser tools. * Previous Releases - See Github release page