documentation formatting: Sun May 26 20:58:52 UTC 2019
This commit is contained in:
parent
d68c6311d6
commit
c7c348a676
116
CHANGELOG.org
116
CHANGELOG.org
|
@ -684,7 +684,7 @@
|
||||||
- Throw an error instead of a warning if emacs version is too old
|
- Throw an error instead of a warning if emacs version is too old
|
||||||
(thanks to deb0ch)
|
(thanks to deb0ch)
|
||||||
- Refactor =rotate-windows= (thanks to bmag)
|
- Refactor =rotate-windows= (thanks to bmag)
|
||||||
- Don’t toggle maximized window at startup if already maximized
|
- Don't toggle maximized window at startup if already maximized
|
||||||
(thanks to TheBB)
|
(thanks to TheBB)
|
||||||
- Set default value of =dotspacemacs-enable-paste-transient-state= to nil to
|
- Set default value of =dotspacemacs-enable-paste-transient-state= to nil to
|
||||||
reflect its value in the doftile template (tanks to toupeira)
|
reflect its value in the doftile template (tanks to toupeira)
|
||||||
|
@ -771,7 +771,7 @@
|
||||||
|
|
||||||
**** Elixir
|
**** Elixir
|
||||||
- Add support for =credo= (denin)
|
- Add support for =credo= (denin)
|
||||||
- Prevent from inserting too many “end”s in Elixir (thanks to michalmuskala)
|
- Prevent from inserting too many "end"s in Elixir (thanks to michalmuskala)
|
||||||
|
|
||||||
**** Emacs Lisp
|
**** Emacs Lisp
|
||||||
- Fix cursor position for =eval-last-sexp=.
|
- Fix cursor position for =eval-last-sexp=.
|
||||||
|
@ -913,11 +913,11 @@
|
||||||
|
|
||||||
** 0.200.7 (2017/01/02)
|
** 0.200.7 (2017/01/02)
|
||||||
*** Fixes
|
*** Fixes
|
||||||
- More robust fix for error helm :config: ‘fuzzy-match’ not supported in async sources
|
- More robust fix for error helm :config: 'fuzzy-match' not supported in async sources
|
||||||
|
|
||||||
** 0.200.6 (2017/01/01)
|
** 0.200.6 (2017/01/01)
|
||||||
*** Fixes
|
*** Fixes
|
||||||
- Fix error helm :config: ‘fuzzy-match’ not supported in async sources
|
- Fix error helm :config: 'fuzzy-match' not supported in async sources
|
||||||
|
|
||||||
** 0.200.5 (2016/11/03)
|
** 0.200.5 (2016/11/03)
|
||||||
*** Fixes
|
*** Fixes
|
||||||
|
@ -1026,7 +1026,7 @@
|
||||||
=org-enable-bootstrap-support= to =t= (thanks to kalhauge)
|
=org-enable-bootstrap-support= to =t= (thanks to kalhauge)
|
||||||
|
|
||||||
**** Nim
|
**** Nim
|
||||||
- Add support =nimsuggest= for better completion using Nim’s IDE tool
|
- Add support =nimsuggest= for better completion using Nim's IDE tool
|
||||||
(thanks to tuhdo)
|
(thanks to tuhdo)
|
||||||
- Add support for =eldoc= via =nimsuggest= (thanks to tuhdo)
|
- Add support for =eldoc= via =nimsuggest= (thanks to tuhdo)
|
||||||
- New key bindings for code navigation:
|
- New key bindings for code navigation:
|
||||||
|
@ -1046,7 +1046,7 @@
|
||||||
- Use =semantic= for =imenu= only when =semantic-mode= is enabled
|
- Use =semantic= for =imenu= only when =semantic-mode= is enabled
|
||||||
(thanks to bmag)
|
(thanks to bmag)
|
||||||
- Improve =spacemacs/python-execute-file= on ~SPC m c c~ to pre-fill
|
- Improve =spacemacs/python-execute-file= on ~SPC m c c~ to pre-fill
|
||||||
“python <filename>” as the compile command when using the universal prefix
|
"python <filename>" as the compile command when using the universal prefix
|
||||||
argument ~SPC u SPC m c c~ (thanks to bmag)
|
argument ~SPC u SPC m c c~ (thanks to bmag)
|
||||||
|
|
||||||
**** Ruby
|
**** Ruby
|
||||||
|
@ -1145,7 +1145,7 @@
|
||||||
list, see the =vim-empty-lines= layer for example.
|
list, see the =vim-empty-lines= layer for example.
|
||||||
- Key binding ~SPC :~ acting as =M-x= as been replaced by ~SPC SPC~.
|
- Key binding ~SPC :~ acting as =M-x= as been replaced by ~SPC SPC~.
|
||||||
If you want to revert to the old ~SPC :~ key binding set the new
|
If you want to revert to the old ~SPC :~ key binding set the new
|
||||||
variable =dotspacemacs-emacs-command-key= to “:”.
|
variable =dotspacemacs-emacs-command-key= to ":".
|
||||||
- Key binding ~SPC f e h~ is now ~SPC h SPC~
|
- Key binding ~SPC f e h~ is now ~SPC h SPC~
|
||||||
- Key bindings to delete things are now more consistent and use the ~d~ key.
|
- Key bindings to delete things are now more consistent and use the ~d~ key.
|
||||||
We moved ~SPC w c~ and ~SPC w C~ to ~SPC w d~ and ~SPC w D~.
|
We moved ~SPC w c~ and ~SPC w C~ to ~SPC w d~ and ~SPC w D~.
|
||||||
|
@ -1203,7 +1203,7 @@
|
||||||
micro states (thanks to justbur)
|
micro states (thanks to justbur)
|
||||||
- New =jump to definition= abstraction to handle multiple jump backends like
|
- New =jump to definition= abstraction to handle multiple jump backends like
|
||||||
tags, dumb-jump etc... (thanks to TheBB)
|
tags, dumb-jump etc... (thanks to TheBB)
|
||||||
- Global access to all available REPLs with ~SPC a '~ and `SPC m ’~ (thanks to
|
- Global access to all available REPLs with ~SPC a '~ and `SPC m '~ (thanks to
|
||||||
AlejandroCatalina and TheBB)
|
AlejandroCatalina and TheBB)
|
||||||
- New debugging tools:
|
- New debugging tools:
|
||||||
- press ~SPC q d~ to restart Emacs in debug mode with command line parameter
|
- press ~SPC q d~ to restart Emacs in debug mode with command line parameter
|
||||||
|
@ -1300,7 +1300,7 @@
|
||||||
Possible values are =used-only=, =used-but-keep-unused= and =all=.
|
Possible values are =used-only=, =used-but-keep-unused= and =all=.
|
||||||
- =used-only= installs only explicitly used packages and uninstall any
|
- =used-only= installs only explicitly used packages and uninstall any
|
||||||
unused packages as well as their unused dependencies.
|
unused packages as well as their unused dependencies.
|
||||||
- =used-but-keep-unused= installs only the used packages but won’t uninstall
|
- =used-but-keep-unused= installs only the used packages but won't uninstall
|
||||||
them if they become unused.
|
them if they become unused.
|
||||||
- =all= installs *all* packages supported by Spacemacs and never uninstall
|
- =all= installs *all* packages supported by Spacemacs and never uninstall
|
||||||
them.
|
them.
|
||||||
|
@ -1526,7 +1526,7 @@
|
||||||
- Disable tilde fringe in shell/comint modes (thanks to russell)
|
- Disable tilde fringe in shell/comint modes (thanks to russell)
|
||||||
- Disable tilde fringe in =messages= and =which-key= buffers (thanks to sooheon)
|
- Disable tilde fringe in =messages= and =which-key= buffers (thanks to sooheon)
|
||||||
- Disable smartparens highlighting (thanks to TheBB)
|
- Disable smartparens highlighting (thanks to TheBB)
|
||||||
- Diminish =visual-mode= to “ Ⓛ” or “ L” to match key binding
|
- Diminish =visual-mode= to " Ⓛ" or " L" to match key binding
|
||||||
(thanks to xiaohanyu)
|
(thanks to xiaohanyu)
|
||||||
- Diminish =evil-mc= when there is no cursor.
|
- Diminish =evil-mc= when there is no cursor.
|
||||||
- Move =org= base configuration from the =org= layer to the =spacemacs=
|
- Move =org= base configuration from the =org= layer to the =spacemacs=
|
||||||
|
@ -1585,7 +1585,7 @@
|
||||||
(thanks to ralesi)
|
(thanks to ralesi)
|
||||||
|
|
||||||
**** Better defaults
|
**** Better defaults
|
||||||
- Add “smart move end of line” behaviour and add two layer variables
|
- Add "smart move end of line" behaviour and add two layer variables
|
||||||
allow for tweaking C-a and C-e behaviours:
|
allow for tweaking C-a and C-e behaviours:
|
||||||
- =better-defaults-move-to-beginning-of-code-first=
|
- =better-defaults-move-to-beginning-of-code-first=
|
||||||
- =better-defaults-move-to-end-of-code-first=
|
- =better-defaults-move-to-end-of-code-first=
|
||||||
|
@ -1808,7 +1808,7 @@
|
||||||
- Enable =emmet-mode= in sass and scss modes (thanks to utkarshkukreti)
|
- Enable =emmet-mode= in sass and scss modes (thanks to utkarshkukreti)
|
||||||
- Make =pug= files use =jade-mode= since Jade is now called Pug
|
- Make =pug= files use =jade-mode= since Jade is now called Pug
|
||||||
(thanks to robbyoconnor)
|
(thanks to robbyoconnor)
|
||||||
- Fix =emmet= expansion if =yasnippet= isn’t turned on (thanks to TheBB)
|
- Fix =emmet= expansion if =yasnippet= isn't turned on (thanks to TheBB)
|
||||||
|
|
||||||
**** Idris
|
**** Idris
|
||||||
- New key binding ~SPC m l~ for extracting lemma (thanks to bixuanzju)
|
- New key binding ~SPC m l~ for extracting lemma (thanks to bixuanzju)
|
||||||
|
@ -1831,7 +1831,7 @@
|
||||||
|
|
||||||
**** Jabber
|
**** Jabber
|
||||||
- Add support for evilified key bindings (thanks to mssun)
|
- Add support for evilified key bindings (thanks to mssun)
|
||||||
- Don’t overwrite mini-buffer when active (thanks to toshism)
|
- Don't overwrite mini-buffer when active (thanks to toshism)
|
||||||
|
|
||||||
**** Java
|
**** Java
|
||||||
- Add support for =eclimd= with new key bindings:
|
- Add support for =eclimd= with new key bindings:
|
||||||
|
@ -1862,7 +1862,7 @@
|
||||||
- New layer variable =markdown-live-preview-engine=, Possibe values are =eww=
|
- New layer variable =markdown-live-preview-engine=, Possibe values are =eww=
|
||||||
(built-in browser) or =vmd= (installed with =npm=)
|
(built-in browser) or =vmd= (installed with =npm=)
|
||||||
- Add package =vmd-mode= (thanks to bixuanzju)
|
- Add package =vmd-mode= (thanks to bixuanzju)
|
||||||
- New key binding ~SPC m c P~ to live preview in Emacs’s built-in browser
|
- New key binding ~SPC m c P~ to live preview in Emacs's built-in browser
|
||||||
(thanks to lunaryorn)
|
(thanks to lunaryorn)
|
||||||
|
|
||||||
**** mu4e
|
**** mu4e
|
||||||
|
@ -1876,7 +1876,7 @@
|
||||||
(thanks to myrjola)
|
(thanks to myrjola)
|
||||||
- Enable =org-mu4e= (thanks to choppsv1)
|
- Enable =org-mu4e= (thanks to choppsv1)
|
||||||
- Use =helm--completing-read-default= (thanks to jeizsm)
|
- Use =helm--completing-read-default= (thanks to jeizsm)
|
||||||
- Improve set account by “to” field (thanks to sorpaas)
|
- Improve set account by "to" field (thanks to sorpaas)
|
||||||
|
|
||||||
**** OCaml
|
**** OCaml
|
||||||
- New key binding ~SPC m = ~ to indent buffer with =ocp-indent= (thanks to NJBS)
|
- New key binding ~SPC m = ~ to indent buffer with =ocp-indent= (thanks to NJBS)
|
||||||
|
@ -2001,13 +2001,13 @@
|
||||||
- Enable lazy loading of =py-yapf=.
|
- Enable lazy loading of =py-yapf=.
|
||||||
- Only disable =semantic-idle-summary= if =anaconda-mode= is used
|
- Only disable =semantic-idle-summary= if =anaconda-mode= is used
|
||||||
(thanks to cpaulik)
|
(thanks to cpaulik)
|
||||||
- Set =comment-inline-offset= to 2 for =python-mode= Since python’s PEP8
|
- Set =comment-inline-offset= to 2 for =python-mode= Since python's PEP8
|
||||||
recommends two spaces for inline spaces (thanks to xiaohanyu)
|
recommends two spaces for inline spaces (thanks to xiaohanyu)
|
||||||
- Set breakpoints correctly when =pyenv= is used (thanks to cpaulik)
|
- Set breakpoints correctly when =pyenv= is used (thanks to cpaulik)
|
||||||
|
|
||||||
**** React
|
**** React
|
||||||
- Add support for =smartparens= (thanks to axyz)
|
- Add support for =smartparens= (thanks to axyz)
|
||||||
- Add “^import React” to =magic-mode-alist= (thanks to axyz)
|
- Add "^import React" to =magic-mode-alist= (thanks to axyz)
|
||||||
- Add =javascript-standard= as a =flycheck= checker (thanks to shahinism)
|
- Add =javascript-standard= as a =flycheck= checker (thanks to shahinism)
|
||||||
- Use node_modules version of eslint or global if not available (thanks axyz)
|
- Use node_modules version of eslint or global if not available (thanks axyz)
|
||||||
|
|
||||||
|
@ -2107,7 +2107,7 @@
|
||||||
- New key binding ~SPC e L~ to open the errors buffer and switch to it.
|
- New key binding ~SPC e L~ to open the errors buffer and switch to it.
|
||||||
- Improve =flycheck= loading process (thanks to TheBB)
|
- Improve =flycheck= loading process (thanks to TheBB)
|
||||||
- Enable lazy loading of =flycheck=.
|
- Enable lazy loading of =flycheck=.
|
||||||
- Don’t switch to =error-list= window if already on it (thanks to bmag)
|
- Don't switch to =error-list= window if already on it (thanks to bmag)
|
||||||
- Fix bug where errors are not filtered correctly when setting
|
- Fix bug where errors are not filtered correctly when setting
|
||||||
=flycheck-navigation-minimum-level= (thanks to maxigit)
|
=flycheck-navigation-minimum-level= (thanks to maxigit)
|
||||||
|
|
||||||
|
@ -2123,7 +2123,7 @@
|
||||||
(thanks to JAremko)
|
(thanks to JAremko)
|
||||||
- Add typescript format and make tide formatter the default (thanks to JAremko)
|
- Add typescript format and make tide formatter the default (thanks to JAremko)
|
||||||
- Add support for =evil-shift-width= (thanks to TheBB)
|
- Add support for =evil-shift-width= (thanks to TheBB)
|
||||||
- Allow =tsfmt= to use the local project’s configuration (thanks to overminder)
|
- Allow =tsfmt= to use the local project's configuration (thanks to overminder)
|
||||||
- Swap ~C-j~ and ~C-k~ in tide reference mode (thanks to zilongshanren)
|
- Swap ~C-j~ and ~C-k~ in tide reference mode (thanks to zilongshanren)
|
||||||
|
|
||||||
**** Version-control
|
**** Version-control
|
||||||
|
@ -2190,8 +2190,8 @@
|
||||||
- New keywords for =spacemacs|add-toggle= macro:
|
- New keywords for =spacemacs|add-toggle= macro:
|
||||||
- =:prefix= a symbol that is bound to the raw prefix argument
|
- =:prefix= a symbol that is bound to the raw prefix argument
|
||||||
(as in =(interactive "P")= forms).
|
(as in =(interactive "P")= forms).
|
||||||
- =:on-message= an expression overriding the default “on” toggle
|
- =:on-message= an expression overriding the default "on" toggle
|
||||||
message (useful to document a toggle’s argument)
|
message (useful to document a toggle's argument)
|
||||||
- =:mode= a minor mode, when provided, =:on=, =:off= and =:status= are
|
- =:mode= a minor mode, when provided, =:on=, =:off= and =:status= are
|
||||||
automatically defined to support the minor mode.
|
automatically defined to support the minor mode.
|
||||||
|
|
||||||
|
@ -2433,7 +2433,7 @@
|
||||||
- Add support for =rust= code blocks (thanks to panicbit)
|
- Add support for =rust= code blocks (thanks to panicbit)
|
||||||
|
|
||||||
**** Org
|
**** Org
|
||||||
- Fix custom Spacemacs layout when =org-agenda-files= isn’t a list.
|
- Fix custom Spacemacs layout when =org-agenda-files= isn't a list.
|
||||||
The org-agenda-files variable can be the name of a directory or a file.
|
The org-agenda-files variable can be the name of a directory or a file.
|
||||||
(thanks to jmiven)
|
(thanks to jmiven)
|
||||||
|
|
||||||
|
@ -2477,8 +2477,8 @@ Improve loading robustness:
|
||||||
- Fix display of recent bookmarks without filename (thanks to lislon)
|
- Fix display of recent bookmarks without filename (thanks to lislon)
|
||||||
- Fix =toggle-maximize-buffer= (thanks to justbur)
|
- Fix =toggle-maximize-buffer= (thanks to justbur)
|
||||||
- Remove files from rollback slot list (thanks to microamp)
|
- Remove files from rollback slot list (thanks to microamp)
|
||||||
- Don’t catch errors while loading if =--debug-init= is provided.
|
- Don't catch errors while loading if =--debug-init= is provided.
|
||||||
- Don’t change scratch major mode if buffer exists (thanks to TheBB)
|
- Don't change scratch major mode if buffer exists (thanks to TheBB)
|
||||||
- Restore windows layout when quitting =ediff= (thanks to fbergroth)
|
- Restore windows layout when quitting =ediff= (thanks to fbergroth)
|
||||||
- Ensure that =pcache-directory= ends in a slash (thanks to rpglover64)
|
- Ensure that =pcache-directory= ends in a slash (thanks to rpglover64)
|
||||||
- Ensure new Spacemacs layouts only shows home buffer (thanks to bmag)
|
- Ensure new Spacemacs layouts only shows home buffer (thanks to bmag)
|
||||||
|
@ -2503,7 +2503,7 @@ Improve loading robustness:
|
||||||
- Better choice of =company= front-ends (thanks to fbergroth)
|
- Better choice of =company= front-ends (thanks to fbergroth)
|
||||||
|
|
||||||
**** C-C++
|
**** C-C++
|
||||||
- Get =clang= args even if =flycheck= isn’t installed (thanks to TheBB)
|
- Get =clang= args even if =flycheck= isn't installed (thanks to TheBB)
|
||||||
|
|
||||||
**** Clojure
|
**** Clojure
|
||||||
- Fix renamed =cider-test-run-tests= function (thanks to AlejandroCatalina)
|
- Fix renamed =cider-test-run-tests= function (thanks to AlejandroCatalina)
|
||||||
|
@ -2575,7 +2575,7 @@ Improve loading robustness:
|
||||||
** 0.105.9 (2016/01/17)
|
** 0.105.9 (2016/01/17)
|
||||||
*** Improvements
|
*** Improvements
|
||||||
- Fix error on Microsoft Windows 10 OS regarding missing =printf= command
|
- Fix error on Microsoft Windows 10 OS regarding missing =printf= command
|
||||||
(don’t call =exec-path-from-shell= function on Microsoft Windows)
|
(don't call =exec-path-from-shell= function on Microsoft Windows)
|
||||||
(thanks to syohex)
|
(thanks to syohex)
|
||||||
- New key bindings ~C-e~ and ~C-y~ in evilified buffers to scroll lines
|
- New key bindings ~C-e~ and ~C-y~ in evilified buffers to scroll lines
|
||||||
(thanks to CestDiego)
|
(thanks to CestDiego)
|
||||||
|
@ -2671,7 +2671,7 @@ Improve loading robustness:
|
||||||
**** Auto-completion
|
**** Auto-completion
|
||||||
- Add =~/.spacemacs.d/snippets= directory to the snippet sources of
|
- Add =~/.spacemacs.d/snippets= directory to the snippet sources of
|
||||||
yasnippet.
|
yasnippet.
|
||||||
- Don’t enter =evil-insert-state= after =aya-expand= when =holy-mode= if active
|
- Don't enter =evil-insert-state= after =aya-expand= when =holy-mode= if active
|
||||||
(thanks to abaw)
|
(thanks to abaw)
|
||||||
|
|
||||||
** 0.105.4 (2016/01/07)
|
** 0.105.4 (2016/01/07)
|
||||||
|
@ -3080,8 +3080,8 @@ Improve loading robustness:
|
||||||
(thanks to sectorzero)
|
(thanks to sectorzero)
|
||||||
- New key bindings for testing:
|
- New key bindings for testing:
|
||||||
- ~SPC m t P~ to run =go test= for the current package and all packages under it |
|
- ~SPC m t P~ to run =go test= for the current package and all packages under it |
|
||||||
- ~SPC m t t~ to run =go test= for the function you’re currently in
|
- ~SPC m t t~ to run =go test= for the function you're currently in
|
||||||
and ~SPC m t s~ to run =go test= for the suite you’re currently in
|
and ~SPC m t s~ to run =go test= for the suite you're currently in
|
||||||
|
|
||||||
(thanks to bogdanteleaga)
|
(thanks to bogdanteleaga)
|
||||||
- Import =GO15VENDOREXPERIMENT= from environment variables
|
- Import =GO15VENDOREXPERIMENT= from environment variables
|
||||||
|
@ -3277,7 +3277,7 @@ Improve loading robustness:
|
||||||
- New layer variable =scala-auto-insert-asterisk-in-comments= to automatically
|
- New layer variable =scala-auto-insert-asterisk-in-comments= to automatically
|
||||||
insert asterisk in multi-line comments (thanks to lunaryorn)
|
insert asterisk in multi-line comments (thanks to lunaryorn)
|
||||||
- New key binding ~SPC m b b~ for =sbt-command= (thanks to lunaryorn)
|
- New key binding ~SPC m b b~ for =sbt-command= (thanks to lunaryorn)
|
||||||
- Enable Ensime’s =expand-region= integration (thanks to lunaryorn)
|
- Enable Ensime's =expand-region= integration (thanks to lunaryorn)
|
||||||
- Only disable =flycheck= Scala syntax checker in Ensime (thanks to lunaryorn)
|
- Only disable =flycheck= Scala syntax checker in Ensime (thanks to lunaryorn)
|
||||||
- Fix test key bindings (thanks lunaryorn)
|
- Fix test key bindings (thanks lunaryorn)
|
||||||
- Fix automatic trigger of completion when hitting ~.~ (thanks to d1egoaz))
|
- Fix automatic trigger of completion when hitting ~.~ (thanks to d1egoaz))
|
||||||
|
@ -3328,7 +3328,7 @@ Improve loading robustness:
|
||||||
- New key bindings ~SPC e s~ and ~SPC e S~ to select =flycheck= checker
|
- New key bindings ~SPC e s~ and ~SPC e S~ to select =flycheck= checker
|
||||||
executable (thanks to nashamri)
|
executable (thanks to nashamri)
|
||||||
- Fix escaping in buffer name regexp (thanks to lunaryorn)
|
- Fix escaping in buffer name regexp (thanks to lunaryorn)
|
||||||
- Remove flycheck fringe’s bullet underlines (thanks to StreakyCobra)
|
- Remove flycheck fringe's bullet underlines (thanks to StreakyCobra)
|
||||||
|
|
||||||
**** Themes-megapack
|
**** Themes-megapack
|
||||||
- Add =jbeans= theme (thanks to synic)
|
- Add =jbeans= theme (thanks to synic)
|
||||||
|
@ -3460,7 +3460,7 @@ Improve loading robustness:
|
||||||
|
|
||||||
*** Layers changes
|
*** Layers changes
|
||||||
**** Eyebrowse
|
**** Eyebrowse
|
||||||
- Eyebrowse doesn’t have a lighter anymore (thanks to myrjola)
|
- Eyebrowse doesn't have a lighter anymore (thanks to myrjola)
|
||||||
|
|
||||||
**** Haskell
|
**** Haskell
|
||||||
- Replace obsolete function =haskell-process-load-or-reload= (thanks to
|
- Replace obsolete function =haskell-process-load-or-reload= (thanks to
|
||||||
|
@ -3554,7 +3554,7 @@ Improve loading robustness:
|
||||||
is the same as ~RET~. =describe-key= command is also available on ~C-S-h~.
|
is the same as ~RET~. =describe-key= command is also available on ~C-S-h~.
|
||||||
- ~Y~ has been remapped to ~y$~
|
- ~Y~ has been remapped to ~y$~
|
||||||
- The =bookmark= saved file has been moved to the =.cache= directory, if
|
- 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
|
you have a bookmark file =~/.emacs.d/bookmarks= then you'll have to move it
|
||||||
to =~/.emacs.d/.cache/bookmarks=
|
to =~/.emacs.d/.cache/bookmarks=
|
||||||
- =Ruby on Rails= framework has now its own layer called =ruby-on-rails=,
|
- =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.
|
be sure to add this layer to your dotfile if you use RoR.
|
||||||
|
@ -3693,7 +3693,7 @@ Improve loading robustness:
|
||||||
travisbhartwell)
|
travisbhartwell)
|
||||||
- Fix windows micro-state by using the minibuffer (thanks to person808)
|
- Fix windows micro-state by using the minibuffer (thanks to person808)
|
||||||
- Fix broken alignment functions on ~SPC x a~ (thanks to justbur)
|
- Fix broken alignment functions on ~SPC x a~ (thanks to justbur)
|
||||||
- Don’t jump if only one match in =helm-imenu= (thanks to tuhdo)
|
- Don't jump if only one match in =helm-imenu= (thanks to tuhdo)
|
||||||
- Remove =wS= from prefix list in =config.el= (thanks to justbur)
|
- Remove =wS= from prefix list in =config.el= (thanks to justbur)
|
||||||
- Properly close frame when running a client from terminal (thanks to drewkett)
|
- Properly close frame when running a client from terminal (thanks to drewkett)
|
||||||
- Add chocolate color for the =replace= state (thanks to TheBB)
|
- Add chocolate color for the =replace= state (thanks to TheBB)
|
||||||
|
@ -3723,7 +3723,7 @@ Improve loading robustness:
|
||||||
- Fix search direction consistency for =auto-highlight-symbol= micro-state
|
- Fix search direction consistency for =auto-highlight-symbol= micro-state
|
||||||
(thanks to herbertjones)
|
(thanks to herbertjones)
|
||||||
- Add VCS integration to =neotree=
|
- Add VCS integration to =neotree=
|
||||||
- Focus current file when opening Neotree in project’s root with ~SPC p t~
|
- Focus current file when opening Neotree in project's root with ~SPC p t~
|
||||||
(thanks to StreakyCobra)
|
(thanks to StreakyCobra)
|
||||||
- Set =sp-show-pair-delay= to 0.2 instead of 0. Should fix some slowness in
|
- Set =sp-show-pair-delay= to 0.2 instead of 0. Should fix some slowness in
|
||||||
- Set =highlight-parentheses= delay to 0.2
|
- Set =highlight-parentheses= delay to 0.2
|
||||||
|
@ -3738,7 +3738,7 @@ Improve loading robustness:
|
||||||
- Correctly enable =powerline= only if it is used (thanks to sooheon)
|
- Correctly enable =powerline= only if it is used (thanks to sooheon)
|
||||||
- Make =golden-ratio= work after avy-word-jump (thanks to synic)
|
- Make =golden-ratio= work after avy-word-jump (thanks to synic)
|
||||||
- Exclude =helm= windows from =golden-ratio= (thanks to ralesi)
|
- Exclude =helm= windows from =golden-ratio= (thanks to ralesi)
|
||||||
- Don’t automatically select *compilation* buffer (thanks to jasminpatry)
|
- Don't automatically select *compilation* buffer (thanks to jasminpatry)
|
||||||
- Define explicit functions to inverse comments for =evil-nerd-commenter=
|
- Define explicit functions to inverse comments for =evil-nerd-commenter=
|
||||||
(thanks to endrebak)
|
(thanks to endrebak)
|
||||||
- Use TheBB fork of =evil-indent-textobject= which has working text objects
|
- Use TheBB fork of =evil-indent-textobject= which has working text objects
|
||||||
|
@ -3767,7 +3767,7 @@ Improve loading robustness:
|
||||||
- Fix error with =company-mode/more-than-prefix-guesser= (thanks to TheBB)
|
- Fix error with =company-mode/more-than-prefix-guesser= (thanks to TheBB)
|
||||||
|
|
||||||
**** Chinese
|
**** Chinese
|
||||||
- Remove “symbol” from list of changed charsets, this prevents minor mode
|
- Remove "symbol" from list of changed charsets, this prevents minor mode
|
||||||
lighters from being displayed in the Chinese font (thanks to louy2)
|
lighters from being displayed in the Chinese font (thanks to louy2)
|
||||||
|
|
||||||
**** Clojure
|
**** Clojure
|
||||||
|
@ -3803,7 +3803,7 @@ Improve loading robustness:
|
||||||
- Fix key bindings conflict in =cider-debug-mode= (thanks to luxbock)
|
- Fix key bindings conflict in =cider-debug-mode= (thanks to luxbock)
|
||||||
- Rename old function =clfr-rename-file-or-dir= to new function
|
- Rename old function =clfr-rename-file-or-dir= to new function
|
||||||
=cljr-rename-file= (thanks to luxbock)
|
=cljr-rename-file= (thanks to luxbock)
|
||||||
- Remove ~SPC m d b~ =cider-debug-defun-at-point= in REPL (It doesn’t do
|
- 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)
|
anything other than messing up the buffer) (thanks to luxbock)
|
||||||
- Gives faster access to display the last error buffer with ~SPC m d e~
|
- Gives faster access to display the last error buffer with ~SPC m d e~
|
||||||
(thanks to luxbock)
|
(thanks to luxbock)
|
||||||
|
@ -4183,13 +4183,13 @@ Improve loading robustness:
|
||||||
- Add support for Magit 2.1!
|
- Add support for Magit 2.1!
|
||||||
- Helm now uses its header to display the input pattern.
|
- Helm now uses its header to display the input pattern.
|
||||||
- Use Flycheck default configuration to check the current buffer in
|
- Use Flycheck default configuration to check the current buffer in
|
||||||
“real time” (yes this is a hot new features :-))
|
"real time" (yes this is a hot new features :-))
|
||||||
- New interactive function =spacemacs/switch-to-version=, it will ask
|
- New interactive function =spacemacs/switch-to-version=, it will ask
|
||||||
for a version number and warn if the current branch is not =master=.
|
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).
|
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.
|
- Clicking on the up arrow in the mode-line will now update Spacemacs.
|
||||||
A prompt asks for confirmation before updating.
|
A prompt asks for confirmation before updating.
|
||||||
- New “tool assisted” search and replace interface supporting =ag=, =pt=,
|
- New "tool assisted" search and replace interface supporting =ag=, =pt=,
|
||||||
and =ack= with a new key binding scheme. Check the documentation for
|
and =ack= with a new key binding scheme. Check the documentation for
|
||||||
=searching with an external tool=.
|
=searching with an external tool=.
|
||||||
|
|
||||||
|
@ -4350,7 +4350,7 @@ Improve loading robustness:
|
||||||
- Add support for a bunch of languages for code blocks (thanks to dexafree)
|
- Add support for a bunch of languages for code blocks (thanks to dexafree)
|
||||||
|
|
||||||
**** Ocaml
|
**** Ocaml
|
||||||
- Don’t auto-close backticks (thanks to edwintorok)
|
- Don't auto-close backticks (thanks to edwintorok)
|
||||||
|
|
||||||
**** Org
|
**** Org
|
||||||
- Fontify code blocks (thanks to tuhdo)
|
- Fontify code blocks (thanks to tuhdo)
|
||||||
|
@ -4568,8 +4568,8 @@ Improve loading robustness:
|
||||||
- Remove ~SPC b 0~ and ~SPC b $~ redundant key bindings (thanks to tuhdo)
|
- Remove ~SPC b 0~ and ~SPC b $~ redundant key bindings (thanks to tuhdo)
|
||||||
- Remove all themes from the layer (since now themes are not
|
- Remove all themes from the layer (since now themes are not
|
||||||
automatically uninstalled).
|
automatically uninstalled).
|
||||||
- Don’t use the minibuffer for =scroll= micro-state
|
- Don't use the minibuffer for =scroll= micro-state
|
||||||
- Don’t close compilation buffer after success (thanks to TheBB)
|
- Don't close compilation buffer after success (thanks to TheBB)
|
||||||
- Make =trailing-whitespace= face more subtle (thanks to tuhdo)
|
- Make =trailing-whitespace= face more subtle (thanks to tuhdo)
|
||||||
- Beautify whitespace highlighting (thanks to tuhdo)
|
- Beautify whitespace highlighting (thanks to tuhdo)
|
||||||
- Make inactive window face of mode-line compatible with more themes
|
- Make inactive window face of mode-line compatible with more themes
|
||||||
|
@ -4803,7 +4803,7 @@ Improve loading robustness:
|
||||||
- Enable =company= in Python REPL for code completion (thanks to tuhdo)
|
- Enable =company= in Python REPL for code completion (thanks to tuhdo)
|
||||||
- Fix wrong extra parenthesis when inserting a breakpoint
|
- Fix wrong extra parenthesis when inserting a breakpoint
|
||||||
(thanks to CestDiego)
|
(thanks to CestDiego)
|
||||||
- Don’t enable Vim key bindings in REPL if =holy-mode= is active (thanks to
|
- Don't enable Vim key bindings in REPL if =holy-mode= is active (thanks to
|
||||||
tuhdo)
|
tuhdo)
|
||||||
- Fix Python and Semantic integration when no =python= executable can be
|
- Fix Python and Semantic integration when no =python= executable can be
|
||||||
found on the system (thanks to tuhdo)
|
found on the system (thanks to tuhdo)
|
||||||
|
@ -4827,7 +4827,7 @@ Improve loading robustness:
|
||||||
- Add ~SPC m d A~ to attach to remote debugger (thanks to siegelzero)
|
- Add ~SPC m d A~ to attach to remote debugger (thanks to siegelzero)
|
||||||
|
|
||||||
**** Semantic
|
**** Semantic
|
||||||
- Create directory for =semanticdb= if it doesn’t exist (thanks to CestDiego)
|
- Create directory for =semanticdb= if it doesn't exist (thanks to CestDiego)
|
||||||
|
|
||||||
**** Shell
|
**** Shell
|
||||||
- Use =shell-pop= to toggle shell/eshell and terminals (thanks to tuhdo)
|
- Use =shell-pop= to toggle shell/eshell and terminals (thanks to tuhdo)
|
||||||
|
@ -4883,7 +4883,7 @@ Improve loading robustness:
|
||||||
link faces, better key bindings (thanks to tuhdo)
|
link faces, better key bindings (thanks to tuhdo)
|
||||||
- =dotspacemacs/location= now respect =dotspacemacs-filepath= value
|
- =dotspacemacs/location= now respect =dotspacemacs-filepath= value
|
||||||
(thanks to coldnew)
|
(thanks to coldnew)
|
||||||
- Avoid conflict with hydra’s =lv.el= (thanks to edwintorok)
|
- Avoid conflict with hydra's =lv.el= (thanks to edwintorok)
|
||||||
- Update layer templates to use =setq= instead of =defvar= (thanks to
|
- Update layer templates to use =setq= instead of =defvar= (thanks to
|
||||||
person808)
|
person808)
|
||||||
|
|
||||||
|
@ -4891,7 +4891,7 @@ Improve loading robustness:
|
||||||
- Replace =defvar= with =setq= for variable definition =<layer>-packages=,
|
- Replace =defvar= with =setq= for variable definition =<layer>-packages=,
|
||||||
=<layer>-pre-extensions= and =<layer>-pre-extensions=.
|
=<layer>-pre-extensions= and =<layer>-pre-extensions=.
|
||||||
- Themes in =dotspacemacs-themes= are not considered orphans anymore
|
- Themes in =dotspacemacs-themes= are not considered orphans anymore
|
||||||
- Fix “Unable to check for new version.” if =.emacs.d= is a symlink
|
- Fix "Unable to check for new version." if =.emacs.d= is a symlink
|
||||||
(thanks to louy2)
|
(thanks to louy2)
|
||||||
- Fix non unicode number spacing in mode-line
|
- Fix non unicode number spacing in mode-line
|
||||||
- Typos (thanks to Andrea, atamis, CarlQLange, charl, ctjhoa, Devagamster,
|
- Typos (thanks to Andrea, atamis, CarlQLange, charl, ctjhoa, Devagamster,
|
||||||
|
@ -4921,18 +4921,18 @@ Spacemacs now officially support auto-completion. The old layer
|
||||||
=company-mode= has been removed and =auto-complete= has been removed
|
=company-mode= has been removed and =auto-complete= has been removed
|
||||||
from the spacemacs layer.
|
from the spacemacs layer.
|
||||||
They are now part of a new layer called =auto-completion=.
|
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.
|
You'll have to this add layer to your dotfile to enable auto-completion.
|
||||||
|
|
||||||
*** Syntax checking
|
*** Syntax checking
|
||||||
Flycheck has been removed from the Spacemacs layer and moved to a new
|
Flycheck has been removed from the Spacemacs layer and moved to a new
|
||||||
layer called =syntax-checking=.
|
layer called =syntax-checking=.
|
||||||
You’ll have to add this layer to your dotfile to enable the fly syntax
|
You'll have to add this layer to your dotfile to enable the fly syntax
|
||||||
checking.
|
checking.
|
||||||
|
|
||||||
*** Org
|
*** Org
|
||||||
Org packages have been removed from Spacemacs layer and moved to a new
|
Org packages have been removed from Spacemacs layer and moved to a new
|
||||||
=org= layer.
|
=org= layer.
|
||||||
You’ll have to add this layer to your dotfile to enable the Org
|
You'll have to add this layer to your dotfile to enable the Org
|
||||||
configuration of Spacemacs.
|
configuration of Spacemacs.
|
||||||
|
|
||||||
*** New shortcuts in startup buffer
|
*** New shortcuts in startup buffer
|
||||||
|
@ -5101,7 +5101,7 @@ a batch of packages.
|
||||||
- Allow to create a common lisp scratch buffer with slime-scratch
|
- Allow to create a common lisp scratch buffer with slime-scratch
|
||||||
(thanks to tuhdo)
|
(thanks to tuhdo)
|
||||||
- Enable fuzzy completion with score (thanks to tuhdo)
|
- Enable fuzzy completion with score (thanks to tuhdo)
|
||||||
- Don’t enable SLIME in Emacs Lisp (thanks to tuhdo)
|
- Don't enable SLIME in Emacs Lisp (thanks to tuhdo)
|
||||||
|
|
||||||
*** Smartparens
|
*** Smartparens
|
||||||
- Enable smartparens in eval-expression (thanks to tuhdo)
|
- Enable smartparens in eval-expression (thanks to tuhdo)
|
||||||
|
@ -5168,14 +5168,14 @@ a batch of packages.
|
||||||
- Fix double loading of =extensions.el= files
|
- Fix double loading of =extensions.el= files
|
||||||
- Fix question for preferred coding systems on Microsoft Windows
|
- Fix question for preferred coding systems on Microsoft Windows
|
||||||
- Properly enable saveplace (thanks to tuhdo)
|
- Properly enable saveplace (thanks to tuhdo)
|
||||||
- Don’t bind ~C-d~ in =ido-completion-map= to =ido-delete-file-at-head=
|
- Don't bind ~C-d~ in =ido-completion-map= to =ido-delete-file-at-head=
|
||||||
(thanks to segv)
|
(thanks to segv)
|
||||||
- Don’t refer to ~/.emacs.d/ directly at various places
|
- Don't refer to ~/.emacs.d/ directly at various places
|
||||||
(thanks to jcpetkovich)
|
(thanks to jcpetkovich)
|
||||||
- Don’t want paste-micro-state to pop up when pasting in ex command
|
- Don't want paste-micro-state to pop up when pasting in ex command
|
||||||
prompt (thanks to ralesi)
|
prompt (thanks to ralesi)
|
||||||
- Don’t cycle when press TAB in eshell (thanks to tuhdo)
|
- Don't cycle when press TAB in eshell (thanks to tuhdo)
|
||||||
- Don’t insert extra quote in dotspacemacs-mode (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)
|
- Adapt some micro-states to the micro-state macro (thanks to ralesi)
|
||||||
- Improve smooth scrolling configuration (reduce some point jump)
|
- Improve smooth scrolling configuration (reduce some point jump)
|
||||||
(thanks to tuhdo)
|
(thanks to tuhdo)
|
||||||
|
@ -5187,10 +5187,10 @@ a batch of packages.
|
||||||
|
|
||||||
** Hot Fixes
|
** Hot Fixes
|
||||||
*** Startup Buffer
|
*** Startup Buffer
|
||||||
- Don’t display the release notes in the startup buffer when Emacs is restarted
|
- Don't display the release notes in the startup buffer when Emacs is restarted
|
||||||
after a fresh install
|
after a fresh install
|
||||||
- Startup buffer: fix widget activation in =holy-mode= (thanks to tuhdo)
|
- Startup buffer: fix widget activation in =holy-mode= (thanks to tuhdo)
|
||||||
- Startup buffer: Don’t fontify the startup buffer when =rainbow-identifiers=
|
- Startup buffer: Don't fontify the startup buffer when =rainbow-identifiers=
|
||||||
|
|
||||||
*** Auto-completion
|
*** Auto-completion
|
||||||
- Fix error when toggling auto-completion in some buffers
|
- Fix error when toggling auto-completion in some buffers
|
||||||
|
|
|
@ -45,7 +45,7 @@ We want the community to be judged based on its moderation actions instead of
|
||||||
telling people how to behave. The golden rules of the community are to have good
|
telling people how to behave. The golden rules of the community are to have good
|
||||||
intentions and stay focused on the project, for anything else that requires
|
intentions and stay focused on the project, for anything else that requires
|
||||||
moderation any future user or contributor can refer to this section to know
|
moderation any future user or contributor can refer to this section to know
|
||||||
about our past moderation actions. So readers won’t find any example or
|
about our past moderation actions. So readers won't find any example or
|
||||||
definition of what collaborators judge offending or outrageous, instead they
|
definition of what collaborators judge offending or outrageous, instead they
|
||||||
will find at the end of this section a log of all major moderation actions taken
|
will find at the end of this section a log of all major moderation actions taken
|
||||||
by the collaborators since the beginning of the project which started officially
|
by the collaborators since the beginning of the project which started officially
|
||||||
|
@ -89,7 +89,7 @@ These guidelines apply to all collaborators of the project, namely @syl20bnr,
|
||||||
EDIT: [@moderator] action (reason: xxx)
|
EDIT: [@moderator] action (reason: xxx)
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
- The reason is added only when needed (for instance we won’t add a reason for
|
- The reason is added only when needed (for instance we won't add a reason for
|
||||||
formatting edits)
|
formatting edits)
|
||||||
|
|
||||||
** Interpretation
|
** Interpretation
|
||||||
|
@ -121,4 +121,4 @@ moderation actions have been taken:
|
||||||
| Date | Moderator | Action | Issue | Reason |
|
| Date | Moderator | Action | Issue | Reason |
|
||||||
|------------+-----------+--------+-------+-----------------------------------------------------------------|
|
|------------+-----------+--------+-------+-----------------------------------------------------------------|
|
||||||
| 2016/01/27 | syl20bnr | lock | #3484 | comments judged to be offending towards the Spacemacs community |
|
| 2016/01/27 | syl20bnr | lock | #3484 | comments judged to be offending towards the Spacemacs community |
|
||||||
| 2016/01/27 | syl20bnr | unlock | #3484 | let’s make it happen, i.e. this document |
|
| 2016/01/27 | syl20bnr | unlock | #3484 | let's make it happen, i.e. this document |
|
||||||
|
|
|
@ -41,7 +41,7 @@ Thanks! :heart: :heart: :heart:
|
||||||
If you want to ask an usage question, be sure to look first into some places as
|
If you want to ask an usage question, be sure to look first into some places as
|
||||||
it may hold the answer:
|
it may hold the answer:
|
||||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/FAQ.org][The FAQ]]. Some of the most frequently asked questions are answered there.
|
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/FAQ.org][The FAQ]]. Some of the most frequently asked questions are answered there.
|
||||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][The documentation]]. It’s the general documentation of Spacemacs.
|
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][The documentation]]. It's the general documentation of Spacemacs.
|
||||||
- You may also read the =README.org= of the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/LAYERS.org][relevant layer(s)]].
|
- You may also read the =README.org= of the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/LAYERS.org][relevant layer(s)]].
|
||||||
|
|
||||||
If your question is not answered there, then please come into our [[https://gitter.im/syl20bnr/spacemacs][gitter chat]] to
|
If your question is not answered there, then please come into our [[https://gitter.im/syl20bnr/spacemacs][gitter chat]] to
|
||||||
|
@ -99,7 +99,7 @@ Submit your contribution against the =develop= branch. You should not use
|
||||||
your =master= branch to modify Spacemacs, this branch is considered to be
|
your =master= branch to modify Spacemacs, this branch is considered to be
|
||||||
read-only.
|
read-only.
|
||||||
|
|
||||||
You may want to [[https://github.com/syl20bnr/spacemacs/wiki/Beginner%27s-Guide-to-Contributing-a-Pull-Request-to-Spacemacs][read our beginner’s guide for Pull Requests]].
|
You may want to [[https://github.com/syl20bnr/spacemacs/wiki/Beginner%27s-Guide-to-Contributing-a-Pull-Request-to-Spacemacs][read our beginner's guide for Pull Requests]].
|
||||||
|
|
||||||
/PR = Pull Request/
|
/PR = Pull Request/
|
||||||
|
|
||||||
|
@ -122,9 +122,9 @@ Those PRs are usually /cherry-picked/.
|
||||||
Those PRs are /merged/ and explicitly /not fast-forwarded/.
|
Those PRs are /merged/ and explicitly /not fast-forwarded/.
|
||||||
|
|
||||||
*** Commit messages
|
*** Commit messages
|
||||||
Write commit messages according to adapted [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html][Tim Pope’s guidelines]]:
|
Write commit messages according to adapted [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html][Tim Pope's guidelines]]:
|
||||||
- Use present tense and write in the imperative: “Fix bug”, not “fixed bug” or
|
- Use present tense and write in the imperative: "Fix bug", not "fixed bug" or
|
||||||
“fixes bug”.
|
"fixes bug".
|
||||||
- Start with a capitalized, short (72 characters or less) summary, followed by a
|
- Start with a capitalized, short (72 characters or less) summary, followed by a
|
||||||
blank line.
|
blank line.
|
||||||
- If necessary, add one or more paragraphs with details, wrapped at 72
|
- If necessary, add one or more paragraphs with details, wrapped at 72
|
||||||
|
@ -192,7 +192,7 @@ The file header for =elisp= files should look like the following template:
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
You should replace =FILENAME= by the name of the file (e.g. =packages.el=)
|
You should replace =FILENAME= by the name of the file (e.g. =packages.el=)
|
||||||
and =NAME= by the name of the layer you are creating, don’t forget to replace
|
and =NAME= by the name of the layer you are creating, don't forget to replace
|
||||||
=YOUR_NAME= and =YOUR_EMAIL= also. Some files already have a template inside
|
=YOUR_NAME= and =YOUR_EMAIL= also. Some files already have a template inside
|
||||||
=core/templates/=, so look in there first.
|
=core/templates/=, so look in there first.
|
||||||
Note that if you use =configuration-layer/create-layer=, spacemacs will prepare
|
Note that if you use =configuration-layer/create-layer=, spacemacs will prepare
|
||||||
|
@ -214,8 +214,8 @@ Every README.org file of a layer should contain =#+TAGS:= line:
|
||||||
...
|
...
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
Individual tags are separated with “|” char.
|
Individual tags are separated with "|" char.
|
||||||
Example above contains 2 tags: “layer” and “web service”
|
Example above contains 2 tags: "layer" and "web service"
|
||||||
Tags are listed in =<spacemacs_root>/.ci/spacedoc-cfg.edn=
|
Tags are listed in =<spacemacs_root>/.ci/spacedoc-cfg.edn=
|
||||||
|
|
||||||
#+BEGIN_SRC clojure
|
#+BEGIN_SRC clojure
|
||||||
|
@ -230,8 +230,8 @@ Tags are listed in =<spacemacs_root>/.ci/spacedoc-cfg.edn=
|
||||||
Labels are used to name headlines in =LAYERS.org= file and
|
Labels are used to name headlines in =LAYERS.org= file and
|
||||||
=:spacetools.spacedoc.config/layers-org-query= defines its structure by
|
=:spacetools.spacedoc.config/layers-org-query= defines its structure by
|
||||||
chaining tags into a tree where every leaf turns into a list of
|
chaining tags into a tree where every leaf turns into a list of
|
||||||
descriptions pulled out of README.org files that match leaf’s path in the tree.
|
descriptions pulled out of README.org files that match leaf's path in the tree.
|
||||||
“layer” is implicit root tag of the tree and every description can be displayed
|
"layer" is implicit root tag of the tree and every description can be displayed
|
||||||
only once.
|
only once.
|
||||||
|
|
||||||
*** Contributor to an existing layer
|
*** Contributor to an existing layer
|
||||||
|
@ -244,15 +244,15 @@ Key bindings are an important part of spacemacs.
|
||||||
First if you want to have some personal key bindings, you can freely bind them
|
First if you want to have some personal key bindings, you can freely bind them
|
||||||
inside the ~SPC o~ and ~SPC m o~ prefixes which are reserved for the user. This
|
inside the ~SPC o~ and ~SPC m o~ prefixes which are reserved for the user. This
|
||||||
can be done from the =dotspacemacs/user-config= function of your =.spacemacs=
|
can be done from the =dotspacemacs/user-config= function of your =.spacemacs=
|
||||||
file and don’t require any contribution to Spacemacs.
|
file and don't require any contribution to Spacemacs.
|
||||||
|
|
||||||
If you think it worth contributing a new key bindings then be sure to read
|
If you think it worth contributing a new key bindings then be sure to read
|
||||||
the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/CONVENTIONS.org][CONVENTIONS.org]] file to find the best key bindings, then create a
|
the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/CONVENTIONS.org][CONVENTIONS.org]] file to find the best key bindings, then create a
|
||||||
PR with your changes.
|
PR with your changes.
|
||||||
|
|
||||||
*ALWAYS* document your new key bindings or key bindings changes inside the
|
*ALWAYS* document your new key bindings or key bindings changes inside the
|
||||||
relevant documentation file. It should be the layer’s =README.org= file for
|
relevant documentation file. It should be the layer's =README.org= file for
|
||||||
layer’s key bindings, or =DOCUMENTATION.org= for general Spacemacs key
|
layer's key bindings, or =DOCUMENTATION.org= for general Spacemacs key
|
||||||
bindings.
|
bindings.
|
||||||
|
|
||||||
** Contributing a banner
|
** Contributing a banner
|
||||||
|
|
|
@ -158,7 +158,7 @@ In the mingw shell run:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Update your dotfile
|
*** Update your dotfile
|
||||||
In the function =dotspacemacs/init= add the following variables if you don’t
|
In the function =dotspacemacs/init= add the following variables if you don't
|
||||||
have them already and initialize them:
|
have them already and initialize them:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -191,9 +191,9 @@ have them already and initialize them:
|
||||||
|
|
||||||
A new user dotfile function has been added which is called before doing the
|
A new user dotfile function has been added which is called before doing the
|
||||||
dump. The function name is =dotspacemacs/user-load=. You can require additional
|
dump. The function name is =dotspacemacs/user-load=. You can require additional
|
||||||
libraries before the dump so they won’t need to be lazy loaded.
|
libraries before the dump so they won't need to be lazy loaded.
|
||||||
|
|
||||||
Add this to your dotfile if you don’t have it already.
|
Add this to your dotfile if you don't have it already.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun dotspacemacs/user-load ()
|
(defun dotspacemacs/user-load ()
|
||||||
|
|
|
@ -43,7 +43,7 @@ modifier keys are:
|
||||||
~SPC~ = ~Space~, used as the leader key in Vim editing style.
|
~SPC~ = ~Space~, used as the leader key in Vim editing style.
|
||||||
~RET~ = ~Return~ (also known as ~Enter~)
|
~RET~ = ~Return~ (also known as ~Enter~)
|
||||||
~C-~ = ~Ctrl~
|
~C-~ = ~Ctrl~
|
||||||
~M-~ (for “meta”) = ~Alt~
|
~M-~ (for "meta") = ~Alt~
|
||||||
~S-~ = ~Shift~
|
~S-~ = ~Shift~
|
||||||
|
|
||||||
The modifier keys can be used either in a sequence or as key chords by pressing
|
The modifier keys can be used either in a sequence or as key chords by pressing
|
||||||
|
@ -51,11 +51,11 @@ two keys at the same time. ~SPC 1~ is notation for a key sequence and means
|
||||||
pressing ~Space~ first and pressing ~1~ after it. Key chords are notated by
|
pressing ~Space~ first and pressing ~1~ after it. Key chords are notated by
|
||||||
writing a ~-~ between the keys. Thus ~C-c~ means pressing ~Ctrl~ and the letter
|
writing a ~-~ between the keys. Thus ~C-c~ means pressing ~Ctrl~ and the letter
|
||||||
~c~ simultaneously. Key chords and sequences can also be combined: ~C-c a~ means
|
~c~ simultaneously. Key chords and sequences can also be combined: ~C-c a~ means
|
||||||
“First press ~Ctrl~ and ~c~ simultaneously, then press ~a~”. ~C-c C-a~ means
|
"First press ~Ctrl~ and ~c~ simultaneously, then press ~a~”. ~C-c C-a~ means
|
||||||
“First press ~Ctrl~ and ~c~ simultaneously, then press ~Ctrl~ and ~a~
|
"First press ~Ctrl~ and ~c~ simultaneously, then press ~Ctrl~ and ~a~
|
||||||
simultaneously”.
|
simultaneously".
|
||||||
|
|
||||||
This document assumes you chose the “Vim” editing style and notates accordingly.
|
This document assumes you chose the "Vim" editing style and notates accordingly.
|
||||||
If you chose the Emacs editing style, just substitute ~SPC~ with ~M-m~ in all
|
If you chose the Emacs editing style, just substitute ~SPC~ with ~M-m~ in all
|
||||||
the commands that begin with ~SPC~.
|
the commands that begin with ~SPC~.
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ first, in practice it can be learned quickly and once learned is unparallelled
|
||||||
in speed and ergonomy. Our earlier example of deleting a certain line of text (a
|
in speed and ergonomy. Our earlier example of deleting a certain line of text (a
|
||||||
very common edit task) can be achieved in Spacemacs by simply navigating to the
|
very common edit task) can be achieved in Spacemacs by simply navigating to the
|
||||||
line in question with the keys ~j~ and ~k~ (navigation keys) and pressing ~d~
|
line in question with the keys ~j~ and ~k~ (navigation keys) and pressing ~d~
|
||||||
(for “delete”) two times!
|
(for "delete") two times!
|
||||||
|
|
||||||
You might have noticed that this was achieved entirely without moving your
|
You might have noticed that this was achieved entirely without moving your
|
||||||
fingers from your home row (the row where your fingers lie in rest when
|
fingers from your home row (the row where your fingers lie in rest when
|
||||||
|
@ -103,7 +103,7 @@ modal editing.
|
||||||
|
|
||||||
** Using the spacebar to launch commands
|
** Using the spacebar to launch commands
|
||||||
Now that you are familiar with writing and editing text it is time to put the
|
Now that you are familiar with writing and editing text it is time to put the
|
||||||
“Space” into Spacemacs. Because the spacebar is the most accessible key on the
|
"Space" into Spacemacs. Because the spacebar is the most accessible key on the
|
||||||
keyboard and is pressed by the strongest fingers (the thumbs), it is a natural
|
keyboard and is pressed by the strongest fingers (the thumbs), it is a natural
|
||||||
choice for launching commands. You can think of it as the start menu of
|
choice for launching commands. You can think of it as the start menu of
|
||||||
Spacemacs.
|
Spacemacs.
|
||||||
|
@ -112,36 +112,36 @@ A short instant after the spacebar is pressed a menu pops up. This interactive
|
||||||
menu shows you what submenus and commands can be accessed by subsequent
|
menu shows you what submenus and commands can be accessed by subsequent
|
||||||
keypresses. Browsing around this menu is a great way of finding new features in
|
keypresses. Browsing around this menu is a great way of finding new features in
|
||||||
Spacemacs, so keep on eye on the different options! ~ESC~ usually breaks the
|
Spacemacs, so keep on eye on the different options! ~ESC~ usually breaks the
|
||||||
combination you don’t want to use.
|
combination you don't want to use.
|
||||||
|
|
||||||
** Buffers, windows and frames
|
** Buffers, windows and frames
|
||||||
Because Emacs (the extension of which Spacemacs is) was developed in the ’80s
|
Because Emacs (the extension of which Spacemacs is) was developed in the '80s
|
||||||
before the advent of modern graphical user interfaces, Emacs has
|
before the advent of modern graphical user interfaces, Emacs has
|
||||||
a different name of what we normally call “windows”: in Emacs these are
|
a different name of what we normally call "windows": in Emacs these are
|
||||||
called “frames”. A frame is what pops up when you launch Spacemacs from your
|
called "frames". A frame is what pops up when you launch Spacemacs from your
|
||||||
desktop shortcut. A frame contains windows and buffers.
|
desktop shortcut. A frame contains windows and buffers.
|
||||||
|
|
||||||
Windows are the visual spaces a frame is divided into. The default
|
Windows are the visual spaces a frame is divided into. The default
|
||||||
is one, but windows can be split to allow editing multiple files in one frame.
|
is one, but windows can be split to allow editing multiple files in one frame.
|
||||||
Let’s try this. Press ~SPC~ to bring up the menu. You can see different letters
|
Let's try this. Press ~SPC~ to bring up the menu. You can see different letters
|
||||||
having different submenus associated with them, usually with a mnemonic for
|
having different submenus associated with them, usually with a mnemonic for
|
||||||
easier recall. The letter w is assigned for “windows”: press it. A new menu
|
easier recall. The letter w is assigned for "windows": press it. A new menu
|
||||||
opens with further options. Write the character / to split the currently active
|
opens with further options. Write the character / to split the currently active
|
||||||
window vertically into two.
|
window vertically into two.
|
||||||
|
|
||||||
Now you should see two windows of this tutorial, and the one on the left should
|
Now you should see two windows of this tutorial, and the one on the left should
|
||||||
be active, as can be seen from the modeline in the bottom or by moving the
|
be active, as can be seen from the modeline in the bottom or by moving the
|
||||||
cursor around using the navigation keys. This isn’t very useful, as we
|
cursor around using the navigation keys. This isn't very useful, as we
|
||||||
would probably want to see a different file on the right.
|
would probably want to see a different file on the right.
|
||||||
|
|
||||||
First, activate the window on the right with ~SPC 2~. Now that the window on the
|
First, activate the window on the right with ~SPC 2~. Now that the window on the
|
||||||
right is active, we can open a different buffer for a different file. We’ll use
|
right is active, we can open a different buffer for a different file. We'll use
|
||||||
the scratch buffer, which can be used like a notepad. Be warned, unlike other
|
the scratch buffer, which can be used like a notepad. Be warned, unlike other
|
||||||
buffers it doesn’t prompt you whether you want to save the changes you’ve made
|
buffers it doesn't prompt you whether you want to save the changes you've made
|
||||||
when quitting the program! Press ~SPC b~ to open the buffers menu and then
|
when quitting the program! Press ~SPC b~ to open the buffers menu and then
|
||||||
switch to the scratch buffer by pressing s. Now you have two different buffers
|
switch to the scratch buffer by pressing s. Now you have two different buffers
|
||||||
in two different windows open, great! You can write something on the scratch
|
in two different windows open, great! You can write something on the scratch
|
||||||
buffer, and when you’re done, make sure that the scratch window is active and
|
buffer, and when you're done, make sure that the scratch window is active and
|
||||||
close it by pressing ~SPC w d~.
|
close it by pressing ~SPC w d~.
|
||||||
|
|
||||||
Now the tutorial window fills the whole frame. But you only closed the window,
|
Now the tutorial window fills the whole frame. But you only closed the window,
|
||||||
|
@ -168,13 +168,13 @@ By default Spacemacs uses a dotfile called =~/.spacemacs= to control which layer
|
||||||
to load. Within this file you can also configure certain features. First, split
|
to load. Within this file you can also configure certain features. First, split
|
||||||
the window vertically to view both this tutorial and the dotfile simultaneously
|
the window vertically to view both this tutorial and the dotfile simultaneously
|
||||||
(~SPC w /~). Open the dotfile by pressing ~SPC f e d~. Navigate to the line
|
(~SPC w /~). Open the dotfile by pressing ~SPC f e d~. Navigate to the line
|
||||||
starting with “dotspacemacs-configuration-layers”. The following lines have
|
starting with "dotspacemacs-configuration-layers". The following lines have
|
||||||
further instructions: uncomment =org= and =git= layers if you want to be
|
further instructions: uncomment =org= and =git= layers if you want to be
|
||||||
familiarized with them. More [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/LAYERS.org][layers]] for different languages and tools can be
|
familiarized with them. More [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/LAYERS.org][layers]] for different languages and tools can be
|
||||||
found by pressing ~SPC h SPC~. The added layers will be installed upon restart
|
found by pressing ~SPC h SPC~. The added layers will be installed upon restart
|
||||||
of Spacemacs.
|
of Spacemacs.
|
||||||
|
|
||||||
Some layers require third-party tools that you’ll have to install via your
|
Some layers require third-party tools that you'll have to install via your
|
||||||
favorite package manager. The layer readme will tell if this is the case.
|
favorite package manager. The layer readme will tell if this is the case.
|
||||||
|
|
||||||
** Changing the colour theme
|
** Changing the colour theme
|
||||||
|
@ -187,15 +187,15 @@ Editing the =dotspacemacs-maximized-at-startup= variable from =nil= to =t= will
|
||||||
Spacemacs maximized.
|
Spacemacs maximized.
|
||||||
|
|
||||||
** Quitting
|
** Quitting
|
||||||
Save the changes you’ve made to the dotfile with ~SPC f s~ and then quit emacs
|
Save the changes you've made to the dotfile with ~SPC f s~ and then quit emacs
|
||||||
by ~SPC q q~. You can return to this tutorial by clicking it on the home screen!
|
by ~SPC q q~. You can return to this tutorial by clicking it on the home screen!
|
||||||
|
|
||||||
* Additional features, tips and troubleshooting
|
* Additional features, tips and troubleshooting
|
||||||
** Org mode
|
** Org mode
|
||||||
Org mode is one of the best features of Spacemacs and enough reason to warrant
|
Org mode is one of the best features of Spacemacs and enough reason to warrant
|
||||||
its use. Org mode’s official description tells that it is “for keeping notes,
|
its use. Org mode's official description tells that it is "for keeping notes,
|
||||||
maintaining todo lists, planning projects, and authoring documents with a fast
|
maintaining todo lists, planning projects, and authoring documents with a fast
|
||||||
and effective plain-text system”, but this gives only a small inkling of its
|
and effective plain-text system", but this gives only a small inkling of its
|
||||||
versatility. If you do any kind of writing at all, chances are that Org mode
|
versatility. If you do any kind of writing at all, chances are that Org mode
|
||||||
will make it easier and more fun. This tutorial was written in Org mode.
|
will make it easier and more fun. This tutorial was written in Org mode.
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@ tutorials is also very helpful in finding out the most useful features of it!
|
||||||
** Version control - the intelligent way
|
** Version control - the intelligent way
|
||||||
Version control means keeping track of the changes and edits you have made to
|
Version control means keeping track of the changes and edits you have made to
|
||||||
your document. Often version control is done by saving different versions of the
|
your document. Often version control is done by saving different versions of the
|
||||||
document with different names, such as “document version 13” and so on. This is
|
document with different names, such as "document version 13" and so on. This is
|
||||||
crude in many ways: if you want to, for example, re-add something you deleted,
|
crude in many ways: if you want to, for example, re-add something you deleted,
|
||||||
you have to manually open several past versions of the document to find the one
|
you have to manually open several past versions of the document to find the one
|
||||||
with the deleted part, and then copy-paste it to the most recent file. More
|
with the deleted part, and then copy-paste it to the most recent file. More
|
||||||
|
@ -227,12 +227,12 @@ posts as well.
|
||||||
Install the git layer, restart Spacemacs and open a file you want to version
|
Install the git layer, restart Spacemacs and open a file you want to version
|
||||||
control. You can check the status of your file by pressing ~SPC g s~. Select the
|
control. You can check the status of your file by pressing ~SPC g s~. Select the
|
||||||
folder your file is in. You will be prompted whether you want to create a
|
folder your file is in. You will be prompted whether you want to create a
|
||||||
repository in the folder. Select yes. You will see a list of “Untracked files”:
|
repository in the folder. Select yes. You will see a list of "Untracked files":
|
||||||
navigate to the file you want to track and press s to “stage changes”. You might
|
navigate to the file you want to track and press s to "stage changes". You might
|
||||||
be prompted to save the file: save it if necessary. Now the new file needs to be
|
be prompted to save the file: save it if necessary. Now the new file needs to be
|
||||||
committed: press c and c again. Two windows pop up: one showing the changes
|
committed: press c and c again. Two windows pop up: one showing the changes
|
||||||
you’ve made since the last edit (in this case, the whole document) and another
|
you've made since the last edit (in this case, the whole document) and another
|
||||||
prompting for a commit message. Write “Initial commit”, press ESC to exit back
|
prompting for a commit message. Write "Initial commit", press ESC to exit back
|
||||||
to normal mode and press ~, c~ confirm and quit the commit
|
to normal mode and press ~, c~ confirm and quit the commit
|
||||||
message. To abort, press ~, a~.
|
message. To abort, press ~, a~.
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ comprehensive Spacemacs documentation, including this tutorial and the layer
|
||||||
documents.
|
documents.
|
||||||
|
|
||||||
The [[https://gitter.im/syl20bnr/spacemacs][Gitter chat]] can be used to ask questions if the answer cannot be found in
|
The [[https://gitter.im/syl20bnr/spacemacs][Gitter chat]] can be used to ask questions if the answer cannot be found in
|
||||||
the documentation. For a detailed review of Spacemacs’s features one can also
|
the documentation. For a detailed review of Spacemacs's features one can also
|
||||||
watch the [[https://www.youtube.com/playlist?list=PLrJ2YN5y27KLhd3yNs2dR8_inqtEiEweE][Spacemacs ABC series]] by Eivind Fonn on Youtube. Some of the
|
watch the [[https://www.youtube.com/playlist?list=PLrJ2YN5y27KLhd3yNs2dR8_inqtEiEweE][Spacemacs ABC series]] by Eivind Fonn on Youtube. Some of the
|
||||||
keybindings have changed since the videos were uploaded but seeing someone in
|
keybindings have changed since the videos were uploaded but seeing someone in
|
||||||
action helps spot helpful tricks that would otherwise be missed.
|
action helps spot helpful tricks that would otherwise be missed.
|
||||||
|
|
|
@ -63,7 +63,7 @@ A package is initialized in a function with name =<layer>/init-xxx= where:
|
||||||
=:config= keywords.
|
=:config= keywords.
|
||||||
- If there is only one line of code then try to keep =:init= or =:config=
|
- If there is only one line of code then try to keep =:init= or =:config=
|
||||||
keywords on the same line.
|
keywords on the same line.
|
||||||
- Don’t nest multiple =use-package= calls unless you have a very good reason
|
- Don't nest multiple =use-package= calls unless you have a very good reason
|
||||||
to do it.
|
to do it.
|
||||||
|
|
||||||
* Key bindings conventions
|
* Key bindings conventions
|
||||||
|
@ -194,7 +194,7 @@ should be followed:
|
||||||
| ~m s r~ | send region |
|
| ~m s r~ | send region |
|
||||||
| ~m s R~ | send region and switch to REPL |
|
| ~m s R~ | send region and switch to REPL |
|
||||||
|
|
||||||
Note: we don’t distinguish between the file and the buffer.
|
Note: we don't distinguish between the file and the buffer.
|
||||||
|
|
||||||
*** In terminal
|
*** In terminal
|
||||||
History navigation in shells or REPLs buffers should be bound as well to
|
History navigation in shells or REPLs buffers should be bound as well to
|
||||||
|
@ -217,7 +217,7 @@ The base prefix for major mode specific compilation is ~SPC m c~.
|
||||||
| ~m c C~ | clean |
|
| ~m c C~ | clean |
|
||||||
| ~m c r~ | clean and compile |
|
| ~m c r~ | clean and compile |
|
||||||
|
|
||||||
Note: we don’t distinguish between the file and the buffer. We can
|
Note: we don't distinguish between the file and the buffer. We can
|
||||||
implement an auto-save of the buffer before compiling the buffer.
|
implement an auto-save of the buffer before compiling the buffer.
|
||||||
|
|
||||||
** Debugging
|
** Debugging
|
||||||
|
@ -346,7 +346,7 @@ share common actions that we can unite under the same key bindings:
|
||||||
| ~m t t~ | execute the current test (thing at point, function) |
|
| ~m t t~ | execute the current test (thing at point, function) |
|
||||||
| ~m t T~ | execute the current test in debug (thing at point, function) |
|
| ~m t T~ | execute the current test in debug (thing at point, function) |
|
||||||
|
|
||||||
Note: we don’t distinguish between the file and the buffer. We can
|
Note: we don't distinguish between the file and the buffer. We can
|
||||||
implement an auto-save of the buffer before executing the tests of
|
implement an auto-save of the buffer before executing the tests of
|
||||||
buffer.
|
buffer.
|
||||||
|
|
||||||
|
@ -413,4 +413,4 @@ Spacemacs provides an example layer =README.org= file in
|
||||||
- Note: Many layer =READMEs= do not follow this convention yet. Please fix
|
- Note: Many layer =READMEs= do not follow this convention yet. Please fix
|
||||||
them if you can.
|
them if you can.
|
||||||
- To keep things readable only mention the prefix ~SPC~ when documenting
|
- To keep things readable only mention the prefix ~SPC~ when documenting
|
||||||
key bindings, you don’t need to mention ~M-m~.
|
key bindings, you don't need to mention ~M-m~.
|
||||||
|
|
|
@ -217,9 +217,9 @@
|
||||||
- [[#thank-you][Thank you]]
|
- [[#thank-you][Thank you]]
|
||||||
|
|
||||||
* Core Pillars
|
* Core Pillars
|
||||||
Four core pillars: Mnemonic, Discoverable, Consistent and “Crowd-Configured”.
|
Four core pillars: Mnemonic, Discoverable, Consistent and "Crowd-Configured".
|
||||||
|
|
||||||
If any of these core pillars are violated, open an issue and we’ll try our best
|
If any of these core pillars are violated, open an issue and we'll try our best
|
||||||
to fix it.
|
to fix it.
|
||||||
|
|
||||||
** Mnemonic
|
** Mnemonic
|
||||||
|
@ -298,7 +298,7 @@ Click it to update Spacemacs. You must restart Emacs after updating.
|
||||||
disabled---you have to update manually using git.
|
disabled---you have to update manually using git.
|
||||||
|
|
||||||
*** Updating from the Spacemacs Buffer
|
*** Updating from the Spacemacs Buffer
|
||||||
Use the button labeled “Update Spacemacs” in the Spacemacs buffer. You will be
|
Use the button labeled "Update Spacemacs" in the Spacemacs buffer. You will be
|
||||||
prompted for the version you would like to use.
|
prompted for the version you would like to use.
|
||||||
|
|
||||||
*Note*: If you use the =develop= branch of Spacemacs, you cannot use this method.
|
*Note*: If you use the =develop= branch of Spacemacs, you cannot use this method.
|
||||||
|
@ -368,7 +368,7 @@ Where:
|
||||||
|
|
||||||
=Packages= can be:
|
=Packages= can be:
|
||||||
- =ELPA= packages installed from an =ELPA= compliant repository
|
- =ELPA= packages installed from an =ELPA= compliant repository
|
||||||
- local packages in a layer’s =local= folder
|
- local packages in a layer's =local= folder
|
||||||
- installed from an online source using [[https://github.com/quelpa/quelpa][quelpa]].
|
- installed from an online source using [[https://github.com/quelpa/quelpa][quelpa]].
|
||||||
|
|
||||||
** Configure packages
|
** Configure packages
|
||||||
|
@ -384,7 +384,7 @@ Example:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
All packages from all layers are processed in alphabetical order so sometimes
|
All packages from all layers are processed in alphabetical order so sometimes
|
||||||
you’ll have to use some =with-eval-after-load= black magic to configure them
|
you'll have to use some =with-eval-after-load= black magic to configure them
|
||||||
properly. For instance, if package =A= depends on =B= then you can configure
|
properly. For instance, if package =A= depends on =B= then you can configure
|
||||||
=A= with:
|
=A= with:
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ Adding this layer will install around 100 themes; to uninstall them remove the
|
||||||
layer from the =dotspacemacs-configuration-layers= and press ~SPC f e R~.
|
layer from the =dotspacemacs-configuration-layers= and press ~SPC f e R~.
|
||||||
|
|
||||||
** Managing private configuration layers
|
** Managing private configuration layers
|
||||||
Spacemacs’s configuration system is flexible enough to let you manage your
|
Spacemacs's configuration system is flexible enough to let you manage your
|
||||||
private layers in different ways.
|
private layers in different ways.
|
||||||
|
|
||||||
*** Using the private directory
|
*** Using the private directory
|
||||||
|
@ -707,7 +707,7 @@ ignoring this package is the same as excluding it (because the package becomes
|
||||||
orphan so it is considered unused by Spacemacs).
|
orphan so it is considered unused by Spacemacs).
|
||||||
|
|
||||||
*** Excluding packages
|
*** Excluding packages
|
||||||
You can exclude packages you don’t want to install with the variable
|
You can exclude packages you don't want to install with the variable
|
||||||
=dotspacemacs-excluded-packages= (see [[#configuration-layers][Configuration layers]] for more info
|
=dotspacemacs-excluded-packages= (see [[#configuration-layers][Configuration layers]] for more info
|
||||||
on packages).
|
on packages).
|
||||||
|
|
||||||
|
@ -942,7 +942,7 @@ for the toggle to turn on and off the =which-key= minor mode.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Major mode specific toggles can be turned on by registering a hook on them to
|
Major mode specific toggles can be turned on by registering a hook on them to
|
||||||
call the “toggle on” function automatically whenever a buffer using this major
|
call the "toggle on" function automatically whenever a buffer using this major
|
||||||
mode is opened. It can be done convenienty using the function
|
mode is opened. It can be done convenienty using the function
|
||||||
=spacemacs/toggle-NAME-on-register-hooks=. It also exists variants of this
|
=spacemacs/toggle-NAME-on-register-hooks=. It also exists variants of this
|
||||||
function for each supported major mode like
|
function for each supported major mode like
|
||||||
|
@ -1036,10 +1036,10 @@ will go to the function =dotspacemacs/user-env= instead of opening the file
|
||||||
=dotspacemacs/user-env= so you can update your variables in place.
|
=dotspacemacs/user-env= so you can update your variables in place.
|
||||||
|
|
||||||
** Note about the function dotspacemacs/user-env
|
** Note about the function dotspacemacs/user-env
|
||||||
Its possible that you don’t have this function defined if you have an older
|
Its possible that you don't have this function defined if you have an older
|
||||||
dotfile. It is recommended to update your dotfile by adding this function,
|
dotfile. It is recommended to update your dotfile by adding this function,
|
||||||
see the file =~/.emacs.d/core/template/.spacemacs.template= to copy it.
|
see the file =~/.emacs.d/core/template/.spacemacs.template= to copy it.
|
||||||
If you don’t create such function then Spacemacs assumes you are using the
|
If you don't create such function then Spacemacs assumes you are using the
|
||||||
default behavior described above.
|
default behavior described above.
|
||||||
|
|
||||||
* Binding keys
|
* Binding keys
|
||||||
|
@ -1084,7 +1084,7 @@ major mode is =emacs-lisp=.
|
||||||
|
|
||||||
Finally, one should be aware of prefix keys. Essentially, all keymaps can be
|
Finally, one should be aware of prefix keys. Essentially, all keymaps can be
|
||||||
nested. Nested keymaps are used extensively in spacemacs, and in vanilla Emacs
|
nested. Nested keymaps are used extensively in spacemacs, and in vanilla Emacs
|
||||||
for that matter. For example, ~SPC a~ points to key bindings for “applications”,
|
for that matter. For example, ~SPC a~ points to key bindings for "applications",
|
||||||
like ~SPC a c~ for =calc-dispatch=. Nesting bindings is easy.
|
like ~SPC a c~ for =calc-dispatch=. Nesting bindings is easy.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -1171,7 +1171,7 @@ You can see samples of all themes included in the =themes-megapack= layer
|
||||||
in this [[http://themegallery.robdor.com][theme gallery]] from [[https://twitter.com/robmerrell][Rob Merrell]].
|
in this [[http://themegallery.robdor.com][theme gallery]] from [[https://twitter.com/robmerrell][Rob Merrell]].
|
||||||
|
|
||||||
*** Notes
|
*** Notes
|
||||||
- You don’t need to explicitly list in a layer the theme packages you are
|
- You don't need to explicitly list in a layer the theme packages you are
|
||||||
defining in =dotspacemacs-themes=, Spacemacs is smart enough to remove those
|
defining in =dotspacemacs-themes=, Spacemacs is smart enough to remove those
|
||||||
packages from the list of orphans.
|
packages from the list of orphans.
|
||||||
- Due to the inner working of themes in Emacs, switching theme during the same
|
- Due to the inner working of themes in Emacs, switching theme during the same
|
||||||
|
@ -1234,9 +1234,9 @@ property of a [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Low_00
|
||||||
- =:size= The font size- either a non-negative integer that specifies the
|
- =:size= The font size- either a non-negative integer that specifies the
|
||||||
pixel size, or a floating-point number that specifies the point size.
|
pixel size, or a floating-point number that specifies the point size.
|
||||||
- =:adstyle= Additional typographic style information for the font, such as
|
- =:adstyle= Additional typographic style information for the font, such as
|
||||||
’sans’. The value should be a string or a symbol.
|
'sans'. The value should be a string or a symbol.
|
||||||
- =:registry= The charset registry and encoding of the font, such as
|
- =:registry= The charset registry and encoding of the font, such as
|
||||||
’iso8859-1’. The value should be a string or a symbol.
|
'iso8859-1'. The value should be a string or a symbol.
|
||||||
- =:script= The script that the font must support (a symbol).
|
- =:script= The script that the font must support (a symbol).
|
||||||
|
|
||||||
** GUI Toggles
|
** GUI Toggles
|
||||||
|
@ -1298,9 +1298,9 @@ Available properties:
|
||||||
| =:size-limit-kb= | size limit in kilobytes after which line numbers are not activated |
|
| =:size-limit-kb= | size limit in kilobytes after which line numbers are not activated |
|
||||||
|
|
||||||
Note that if =:enabled-for-modes= is =nil= or not specified, then the default is
|
Note that if =:enabled-for-modes= is =nil= or not specified, then the default is
|
||||||
to enable line numbers in any =prog-mode= and =text-mode= that wasn’t explicitly
|
to enable line numbers in any =prog-mode= and =text-mode= that wasn't explicitly
|
||||||
disabled via =:disabled-for-modes=. To enable line numbers in a major mode that
|
disabled via =:disabled-for-modes=. To enable line numbers in a major mode that
|
||||||
doesn’t derive from =prog-mode= or =text-mode=, you must specify it directly in
|
doesn't derive from =prog-mode= or =text-mode=, you must specify it directly in
|
||||||
=:enabled-for-modes=. To enable line numbers even in non-prog-mode and
|
=:enabled-for-modes=. To enable line numbers even in non-prog-mode and
|
||||||
non-text-mode buffers, set =:enabled-for-modes= to =all=.
|
non-text-mode buffers, set =:enabled-for-modes= to =all=.
|
||||||
|
|
||||||
|
@ -1405,7 +1405,7 @@ Supported separators and preview:
|
||||||
| =none= | | X | |
|
| =none= | | X | |
|
||||||
|
|
||||||
A last special separator is supported, it is =utf-8= which uses actual font
|
A last special separator is supported, it is =utf-8= which uses actual font
|
||||||
glyphs so it can be rendered in a terminal. You’ll need a font patched for the
|
glyphs so it can be rendered in a terminal. You'll need a font patched for the
|
||||||
Vim powerline to be able to use it. The default font used by Spacemacs =Source
|
Vim powerline to be able to use it. The default font used by Spacemacs =Source
|
||||||
Code Pro= already contains the glyphs.
|
Code Pro= already contains the glyphs.
|
||||||
|
|
||||||
|
@ -1423,7 +1423,7 @@ Example:
|
||||||
(setq dotspacemacs-mode-line-theme '(all-the-icons :separator-scale 1.5))
|
(setq dotspacemacs-mode-line-theme '(all-the-icons :separator-scale 1.5))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Note that this setting won’t work correctly when the separator is =utf-8=, if
|
Note that this setting won't work correctly when the separator is =utf-8=, if
|
||||||
you use this separator then it is recommended to set =:separator-scale= to =1.0=.
|
you use this separator then it is recommended to set =:separator-scale= to =1.0=.
|
||||||
|
|
||||||
*** Spacemacs mode-line theme
|
*** Spacemacs mode-line theme
|
||||||
|
@ -1596,7 +1596,7 @@ Following format short codes are available:
|
||||||
| =%m= | mode name |
|
| =%m= | mode name |
|
||||||
| =%n= | Narrow if appropriate |
|
| =%n= | Narrow if appropriate |
|
||||||
| =%z= | mnemonics of buffer, terminal, and keyboard coding systems |
|
| =%z= | mnemonics of buffer, terminal, and keyboard coding systems |
|
||||||
| =%Z= | like %z, but including the end-of-line format“ |
|
| =%Z= | like %z, but including the end-of-line format" |
|
||||||
|
|
||||||
**** Iconified (tabified) title
|
**** Iconified (tabified) title
|
||||||
If you are using tiling window manager with tab support you may want to display
|
If you are using tiling window manager with tab support you may want to display
|
||||||
|
@ -1643,7 +1643,7 @@ The =default= layout (the layout created at the startup of Emacs) is not
|
||||||
displayed in the mode-line but it is possible to display it by setting the
|
displayed in the mode-line but it is possible to display it by setting the
|
||||||
variable =dotspacemacs-display-default-layout= to =t=.
|
variable =dotspacemacs-display-default-layout= to =t=.
|
||||||
|
|
||||||
Its name is “default” by default but it can be changed by setting the variable
|
Its name is "default" by default but it can be changed by setting the variable
|
||||||
=dotspacemacs-default-layout-name=.
|
=dotspacemacs-default-layout-name=.
|
||||||
|
|
||||||
The =default= layout is special because it has a global scope which means that
|
The =default= layout is special because it has a global scope which means that
|
||||||
|
@ -1743,7 +1743,7 @@ Workspaces are sub-layouts, they allow to define multiple layouts into a given
|
||||||
layout, those layouts share the same buffer as the parent layout.
|
layout, those layouts share the same buffer as the parent layout.
|
||||||
|
|
||||||
The currently active workspace number is displayed before the window number,
|
The currently active workspace number is displayed before the window number,
|
||||||
for instance “➊|➍” or “1|4” means the fourth window of the first workspace.
|
for instance "➊|➍" or "1|4" means the fourth window of the first workspace.
|
||||||
|
|
||||||
Any new layout comes with a default workspace which is the workspace 1.
|
Any new layout comes with a default workspace which is the workspace 1.
|
||||||
|
|
||||||
|
@ -1797,7 +1797,7 @@ easily switch between =insert state= and =normal state= by quickly pressing the
|
||||||
~fd~ keys.
|
~fd~ keys.
|
||||||
|
|
||||||
The choice of ~fd~ was made to be able to use the same sequence to escape from
|
The choice of ~fd~ was made to be able to use the same sequence to escape from
|
||||||
“everything” in Emacs:
|
"everything" in Emacs:
|
||||||
- escape from all stock evil states to normal state
|
- escape from all stock evil states to normal state
|
||||||
- escape from evil-lisp-state to normal state
|
- escape from evil-lisp-state to normal state
|
||||||
- escape from evil-iedit-state to normal state
|
- escape from evil-iedit-state to normal state
|
||||||
|
@ -1815,7 +1815,7 @@ The choice of ~fd~ was made to be able to use the same sequence to escape from
|
||||||
- hide neotree buffer
|
- hide neotree buffer
|
||||||
|
|
||||||
If you find yourself in a buffer where the Spacemacs (~SPC~) or Vim keybindings
|
If you find yourself in a buffer where the Spacemacs (~SPC~) or Vim keybindings
|
||||||
don’t work you can use this to get back to =normal state= (for example in ~SPC
|
don't work you can use this to get back to =normal state= (for example in ~SPC
|
||||||
SPC customize~ press ~fd~ to make ~SPC b b~ work again).
|
SPC customize~ press ~fd~ to make ~SPC b b~ work again).
|
||||||
|
|
||||||
This sequence can be customized in your =~/.spacemacs=.
|
This sequence can be customized in your =~/.spacemacs=.
|
||||||
|
@ -1994,7 +1994,7 @@ The following actions on the selected candidate are available:
|
||||||
|
|
||||||
**** Available packages in Spacemacs
|
**** Available packages in Spacemacs
|
||||||
=spacemacs-help= also lists all the packages available in Spacemacs. The
|
=spacemacs-help= also lists all the packages available in Spacemacs. The
|
||||||
entry format is =(layer) packages=. If you type =flycheck= you’ll be able to see
|
entry format is =(layer) packages=. If you type =flycheck= you'll be able to see
|
||||||
all the layers where =flycheck= is used.
|
all the layers where =flycheck= is used.
|
||||||
|
|
||||||
The following actions are available on selected package:
|
The following actions are available on selected package:
|
||||||
|
@ -2011,12 +2011,12 @@ ELPA packages. Paradox enhances the package list buffer with better feedbacks,
|
||||||
new filters and Github information like the number of stars. Optionally you can
|
new filters and Github information like the number of stars. Optionally you can
|
||||||
also star packages directly in the buffer.
|
also star packages directly in the buffer.
|
||||||
|
|
||||||
*Important Note 1*: Installing a new package from =Paradox= won’t make it
|
*Important Note 1*: Installing a new package from =Paradox= won't make it
|
||||||
persistent. To install a package persistently you have to add it explicitly to a
|
persistent. To install a package persistently you have to add it explicitly to a
|
||||||
configuration layer.
|
configuration layer.
|
||||||
|
|
||||||
*Important Note 2*: Don’t /update/ your packages from =Paradox= or
|
*Important Note 2*: Don't /update/ your packages from =Paradox= or
|
||||||
=package-list-packages= because they don’t support the rollback feature of
|
=package-list-packages= because they don't support the rollback feature of
|
||||||
Spacemacs.
|
Spacemacs.
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|
@ -2103,7 +2103,7 @@ Similar to =avy=, [[https://github.com/abo-abo/ace-link][ace-link]] allows one t
|
||||||
| ~o~ | initiate ace link mode in =help-mode= and =info-mode= |
|
| ~o~ | initiate ace link mode in =help-mode= and =info-mode= |
|
||||||
|
|
||||||
*** Unimpaired bindings
|
*** Unimpaired bindings
|
||||||
Spacemacs comes with a built-in port of [[https://github.com/tpope/vim-unimpaired][tpope’s vim-unimpaired]].
|
Spacemacs comes with a built-in port of [[https://github.com/tpope/vim-unimpaired][tpope's vim-unimpaired]].
|
||||||
|
|
||||||
This plugin provides several pairs of bracket maps using ~[~ to denote
|
This plugin provides several pairs of bracket maps using ~[~ to denote
|
||||||
previous, and ~]~ as next.
|
previous, and ~]~ as next.
|
||||||
|
@ -2443,10 +2443,10 @@ Frame manipulation commands (start with ~F~):
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+-----------------------------------------------------|
|
|-------------+-----------------------------------------------------|
|
||||||
| ~SPC F f~ | open a file in another frame |
|
| ~SPC F f~ | open a file in another frame |
|
||||||
| ~SPC F d~ | delete the current frame (unless it’s the only one) |
|
| ~SPC F d~ | delete the current frame (unless it's the only one) |
|
||||||
| ~SPC F D~ | delete all other frames |
|
| ~SPC F D~ | delete all other frames |
|
||||||
| ~SPC F b~ | open a buffer in another frame |
|
| ~SPC F b~ | open a buffer in another frame |
|
||||||
| ~SPC F B~ | open a buffer in another frame (but don’t switch) |
|
| ~SPC F B~ | open a buffer in another frame (but don't switch) |
|
||||||
| ~SPC F o~ | cycle focus between frames |
|
| ~SPC F o~ | cycle focus between frames |
|
||||||
| ~SPC F O~ | open a dired buffer in another frame |
|
| ~SPC F O~ | open a dired buffer in another frame |
|
||||||
| ~SPC F n~ | create a new frame |
|
| ~SPC F n~ | create a new frame |
|
||||||
|
@ -2573,7 +2573,7 @@ OpenDocument, and Microsoft Office documents.
|
||||||
| ~C-k~ | kill proc |
|
| ~C-k~ | kill proc |
|
||||||
| ~C-u~ | scroll up |
|
| ~C-u~ | scroll up |
|
||||||
| ~C-c C-c~ | toggle display text and image display |
|
| ~C-c C-c~ | toggle display text and image display |
|
||||||
| ~C-c C-t~ | open new buffer with doc’s text contents |
|
| ~C-c C-t~ | open new buffer with doc's text contents |
|
||||||
|
|
||||||
** Auto-saving
|
** Auto-saving
|
||||||
*** Frequency of auto-saving
|
*** Frequency of auto-saving
|
||||||
|
@ -2665,7 +2665,7 @@ called =pt=.
|
||||||
| Prefix argument | will ask for file extensions |
|
| Prefix argument | will ask for file extensions |
|
||||||
|
|
||||||
When results have been saved in a regular buffer with ~F3~, that buffer supports
|
When results have been saved in a regular buffer with ~F3~, that buffer supports
|
||||||
browsing through the matches with Spacemacs’ =next-error= and =previous-error=
|
browsing through the matches with Spacemacs' =next-error= and =previous-error=
|
||||||
bindings (~SPC e n~ and ~SPC e p~) as well as the error transient state (~SPC e .~).
|
bindings (~SPC e n~ and ~SPC e p~) as well as the error transient state (~SPC e .~).
|
||||||
|
|
||||||
**** Searching in current file
|
**** Searching in current file
|
||||||
|
@ -3165,7 +3165,7 @@ It is possible to batch rename files in a directory using =wdired= from an
|
||||||
- use ~C-c C-k~ to abort any changes
|
- use ~C-c C-k~ to abort any changes
|
||||||
|
|
||||||
*** Commenting
|
*** Commenting
|
||||||
Comments are handled by [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commenter]], it’s bound to the following keys.
|
Comments are handled by [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commenter]], it's bound to the following keys.
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+---------------------------|
|
|-------------+---------------------------|
|
||||||
|
@ -3186,7 +3186,7 @@ Comments are handled by [[https://github.com/redguardtoo/evil-nerd-commenter][ev
|
||||||
Spacemacs uses the packages [[https://github.com/joddie/pcre2el][pcre2el]] to manipulate regular expressions. It is
|
Spacemacs uses the packages [[https://github.com/joddie/pcre2el][pcre2el]] to manipulate regular expressions. It is
|
||||||
useful when working with =Emacs Lisp= buffers since it allows to easily converts
|
useful when working with =Emacs Lisp= buffers since it allows to easily converts
|
||||||
=PCRE= (Perl Compatible RegExp) to Emacs RegExp or =rx=. It can also be used to
|
=PCRE= (Perl Compatible RegExp) to Emacs RegExp or =rx=. It can also be used to
|
||||||
“explain” a PCRE RegExp around point in =rx= form.
|
"explain" a PCRE RegExp around point in =rx= form.
|
||||||
|
|
||||||
The key bindings start with ~SPC x r~ and have the following mnemonic structure:
|
The key bindings start with ~SPC x r~ and have the following mnemonic structure:
|
||||||
- ~SPC x r <source> <target>~ convert from source to target
|
- ~SPC x r <source> <target>~ convert from source to target
|
||||||
|
@ -3326,9 +3326,9 @@ To search in a project see [[#searching-in-a-project][project searching]].
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+------------------------------------------------------------------------------------------|
|
|-------------+------------------------------------------------------------------------------------------|
|
||||||
| ~SPC p '~ | open a shell in project’s root (with the =shell= layer) |
|
| ~SPC p '~ | open a shell in project's root (with the =shell= layer) |
|
||||||
| ~SPC p !~ | run shell command in project’s root |
|
| ~SPC p !~ | run shell command in project's root |
|
||||||
| ~SPC p &~ | run async shell command in project’s root |
|
| ~SPC p &~ | run async shell command in project's root |
|
||||||
| ~SPC p %~ | replace a regexp |
|
| ~SPC p %~ | replace a regexp |
|
||||||
| ~SPC p a~ | toggle between implementation and test |
|
| ~SPC p a~ | toggle between implementation and test |
|
||||||
| ~SPC p b~ | switch to project buffer |
|
| ~SPC p b~ | switch to project buffer |
|
||||||
|
@ -3339,7 +3339,7 @@ To search in a project see [[#searching-in-a-project][project searching]].
|
||||||
| ~SPC p f~ | find file |
|
| ~SPC p f~ | find file |
|
||||||
| ~SPC p F~ | find file based on path around point |
|
| ~SPC p F~ | find file based on path around point |
|
||||||
| ~SPC p g~ | find tags |
|
| ~SPC p g~ | find tags |
|
||||||
| ~SPC p G~ | regenerate the project’s =etags= / =gtags= |
|
| ~SPC p G~ | regenerate the project's =etags= / =gtags= |
|
||||||
| ~SPC p h~ | find file |
|
| ~SPC p h~ | find file |
|
||||||
| ~SPC p I~ | invalidate the projectile cache |
|
| ~SPC p I~ | invalidate the projectile cache |
|
||||||
| ~SPC p k~ | kill all project buffers |
|
| ~SPC p k~ | kill all project buffers |
|
||||||
|
@ -3395,7 +3395,7 @@ Errors management commands (start with ~e~):
|
||||||
|
|
||||||
The next/previous error bindings and the error transient state can be used to
|
The next/previous error bindings and the error transient state can be used to
|
||||||
browse errors from flycheck as well as errors from compilation buffers, and
|
browse errors from flycheck as well as errors from compilation buffers, and
|
||||||
indeed anything that supports Emacs’ =next-error= API. This includes for example
|
indeed anything that supports Emacs' =next-error= API. This includes for example
|
||||||
search results that have been saved to a separate buffer.
|
search results that have been saved to a separate buffer.
|
||||||
|
|
||||||
*** Error transient state
|
*** Error transient state
|
||||||
|
@ -3428,12 +3428,12 @@ Spacemacs binds a few commands to support compiling a project.
|
||||||
| ~SPC c r~ | recompile |
|
| ~SPC c r~ | recompile |
|
||||||
|
|
||||||
* EditorConfig
|
* EditorConfig
|
||||||
Spacemacs has support for [[http://editorconfig.org/][EditorConfig]], a configuration file to “define and
|
Spacemacs has support for [[http://editorconfig.org/][EditorConfig]], a configuration file to "define and
|
||||||
maintain consistent coding styles between different editors and IDEs.”
|
maintain consistent coding styles between different editors and IDEs."
|
||||||
|
|
||||||
To enable this feature, [[https://github.com/editorconfig/editorconfig-core-c/blob/master/INSTALL.md][install the editorconfig command]].
|
To enable this feature, [[https://github.com/editorconfig/editorconfig-core-c/blob/master/INSTALL.md][install the editorconfig command]].
|
||||||
|
|
||||||
To customize your editorconfig experience, read [[https://github.com/editorconfig/editorconfig-emacs/blob/master/README.md#customize][the editorconfig-emacs package’s
|
To customize your editorconfig experience, read [[https://github.com/editorconfig/editorconfig-emacs/blob/master/README.md#customize][the editorconfig-emacs package's
|
||||||
documentation]].
|
documentation]].
|
||||||
|
|
||||||
* Emacs Server
|
* Emacs Server
|
||||||
|
@ -3453,7 +3453,7 @@ need to set it in your shell configuration, e.g. =~/.bashrc= or =~/.zshrc=:
|
||||||
export EDITOR="emacsclient -c"
|
export EDITOR="emacsclient -c"
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Note that if you’re on OS X, you may have to refer to the emacsclient that comes
|
Note that if you're on OS X, you may have to refer to the emacsclient that comes
|
||||||
with your GUI Emacs, e.g.:
|
with your GUI Emacs, e.g.:
|
||||||
|
|
||||||
#+BEGIN_SRC sh-mode
|
#+BEGIN_SRC sh-mode
|
||||||
|
|
28
doc/FAQ.org
28
doc/FAQ.org
|
@ -61,7 +61,7 @@ may also just type ~SPC f e v~.
|
||||||
As it is written, that is _space_ then _macs_.
|
As it is written, that is _space_ then _macs_.
|
||||||
|
|
||||||
** Why do you call this a "distribution", I don't see any "Spacemacs" executable?
|
** Why do you call this a "distribution", I don't see any "Spacemacs" executable?
|
||||||
Although we could do it we don’t package Emacs with Spacemacs. We allow users to
|
Although we could do it we don't package Emacs with Spacemacs. We allow users to
|
||||||
choose whatever build of Emacs they want that works with their OS, this is more
|
choose whatever build of Emacs they want that works with their OS, this is more
|
||||||
flexible and it saves us tons of issues. Spacemacs is more than a configuration
|
flexible and it saves us tons of issues. Spacemacs is more than a configuration
|
||||||
of Emacs it comes with advanced feature, concepts and tooling. Roughly, think of
|
of Emacs it comes with advanced feature, concepts and tooling. Roughly, think of
|
||||||
|
@ -86,7 +86,7 @@ To install packages that does not belong to any Spacemacs layers, you can:
|
||||||
To create a new configuration layer see the [[https://github.com/syl20bnr/spacemacs/blob/master/doc/QUICK_START.org][quick start guide]] for more info.
|
To create a new configuration layer see the [[https://github.com/syl20bnr/spacemacs/blob/master/doc/QUICK_START.org][quick start guide]] for more info.
|
||||||
|
|
||||||
** Environment variables or PATH are not set properly
|
** Environment variables or PATH are not set properly
|
||||||
If you use Emacs GUI and don’t launch if from a terminal then edit the
|
If you use Emacs GUI and don't launch if from a terminal then edit the
|
||||||
environment variables in the =env= file. You can open this file with
|
environment variables in the =env= file. You can open this file with
|
||||||
~SPC f e e~. More information in the =Environment variables= section of the
|
~SPC f e e~. More information in the =Environment variables= section of the
|
||||||
[[https://github.com/syl20bnr/spacemacs/blob/master/doc/DOCUMENTATION.org][documentation]].
|
[[https://github.com/syl20bnr/spacemacs/blob/master/doc/DOCUMENTATION.org][documentation]].
|
||||||
|
@ -101,7 +101,7 @@ dotfile to remove the need to start Emacs with =--insecure= argument.
|
||||||
** How to fix =Symbol's value as variable is void= errors on startup?
|
** How to fix =Symbol's value as variable is void= errors on startup?
|
||||||
If Emacs reports an error that the symbol =closed= or =-= is unbound as a
|
If Emacs reports an error that the symbol =closed= or =-= is unbound as a
|
||||||
variable, it is probably because you are using HTTPS to download packages, but
|
variable, it is probably because you are using HTTPS to download packages, but
|
||||||
you shouldn’t be. Try deleting your packages (the =.emacs.d/elpa= folder), and
|
you shouldn't be. Try deleting your packages (the =.emacs.d/elpa= folder), and
|
||||||
restart Emacs without HTTPS to download the packages again. There are two ways
|
restart Emacs without HTTPS to download the packages again. There are two ways
|
||||||
to do this:
|
to do this:
|
||||||
- Run Emacs with the =--insecure= command line argument: =emacs --insecure=. You
|
- Run Emacs with the =--insecure= command line argument: =emacs --insecure=. You
|
||||||
|
@ -129,7 +129,7 @@ that by default the =utf8= separator is used in a terminal. See the powerline
|
||||||
section in the font section of the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][documentation]].
|
section in the font section of the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][documentation]].
|
||||||
|
|
||||||
** Why is after-init-hook not executed?
|
** Why is after-init-hook not executed?
|
||||||
Don’t launch Spacemacs with =emacs -q -l init.el= command. This command will run
|
Don't launch Spacemacs with =emacs -q -l init.el= command. This command will run
|
||||||
the hooked functions in =after-init-hook= before the evaluation of the passed
|
the hooked functions in =after-init-hook= before the evaluation of the passed
|
||||||
=-l init.el= file.
|
=-l init.el= file.
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ Any variable that layer configuration code will *read* and *act on* must be set
|
||||||
in =user-init=, and any variable that Spacemacs explicitly sets but you wish to
|
in =user-init=, and any variable that Spacemacs explicitly sets but you wish to
|
||||||
*override* must be set in =user-config=.
|
*override* must be set in =user-config=.
|
||||||
|
|
||||||
Anything that isn’t just setting a variable should 99% be in =user-config=.
|
Anything that isn't just setting a variable should 99% be in =user-config=.
|
||||||
|
|
||||||
Note that at time of writing files supplied as command line arguments to emacs
|
Note that at time of writing files supplied as command line arguments to emacs
|
||||||
will be read before =user-config= is executed. (Hence to yield consistent
|
will be read before =user-config= is executed. (Hence to yield consistent
|
||||||
|
@ -220,7 +220,7 @@ situations, like escaping from =insert state= to =normal state=.
|
||||||
The sequence of characters used can be customized. See the [[http://spacemacs.org/doc/DOCUMENTATION.html#escaping][documentation]] for
|
The sequence of characters used can be customized. See the [[http://spacemacs.org/doc/DOCUMENTATION.html#escaping][documentation]] for
|
||||||
more information.
|
more information.
|
||||||
|
|
||||||
If you don’t like this feature, you can deactivate it by adding =evil-escape= to
|
If you don't like this feature, you can deactivate it by adding =evil-escape= to
|
||||||
=dotspacemacs-excluded-packages= in your init file.
|
=dotspacemacs-excluded-packages= in your init file.
|
||||||
|
|
||||||
** Why do I get files starting with .#?
|
** Why do I get files starting with .#?
|
||||||
|
@ -251,7 +251,7 @@ location you may try to use =locate=:
|
||||||
** Why are my font settings not being respected?
|
** Why are my font settings not being respected?
|
||||||
The settings of =dotspacemacs-default-font= (such as size, weight, etc.) will
|
The settings of =dotspacemacs-default-font= (such as size, weight, etc.) will
|
||||||
only be applied if the name of the font exists on your system. Check to make
|
only be applied if the name of the font exists on your system. Check to make
|
||||||
sure that this is the case. If Spacemacs can’t find the font, there should be a
|
sure that this is the case. If Spacemacs can't find the font, there should be a
|
||||||
warning to this effect in the =*Messages*= buffer.
|
warning to this effect in the =*Messages*= buffer.
|
||||||
|
|
||||||
** Why am I getting a message about environment variables on startup?
|
** Why am I getting a message about environment variables on startup?
|
||||||
|
@ -362,7 +362,7 @@ which has a number of different major modes, you can catch them all with
|
||||||
|
|
||||||
This should make all original magit bindings work in the major modes in
|
This should make all original magit bindings work in the major modes in
|
||||||
question. To enable the leader key in this case, you may have to define a
|
question. To enable the leader key in this case, you may have to define a
|
||||||
binding in the mode’s map, e.g. for =magit-status-mode=,
|
binding in the mode's map, e.g. for =magit-status-mode=,
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(with-eval-after-load 'magit
|
(with-eval-after-load 'magit
|
||||||
|
@ -392,7 +392,7 @@ example, if you have installed some tools to =~/.local/bin= and want them to be
|
||||||
available in Spacemacs, you need to add =~/.local/bin= to your =$PATH=.
|
available in Spacemacs, you need to add =~/.local/bin= to your =$PATH=.
|
||||||
|
|
||||||
Users of =bash=, =zsh=, =sh= and other similar shells should add following line
|
Users of =bash=, =zsh=, =sh= and other similar shells should add following line
|
||||||
to their =.bashrc= (=.zshrc=, =.profile= or your shell’s equivalent). Note that
|
to their =.bashrc= (=.zshrc=, =.profile= or your shell's equivalent). Note that
|
||||||
the =export= part is very important.
|
the =export= part is very important.
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
|
@ -423,7 +423,7 @@ This is the value that will be used by Emacs. So it must contain =~/.local/bin=.
|
||||||
After that you can run Spacemacs and check that it properly gets the value of
|
After that you can run Spacemacs and check that it properly gets the value of
|
||||||
=$PATH= by running =M-: (getenv "PATH")=.
|
=$PATH= by running =M-: (getenv "PATH")=.
|
||||||
|
|
||||||
Note that having =~/.local/bin= in your =$PATH= also means that it’s possible to
|
Note that having =~/.local/bin= in your =$PATH= also means that it's possible to
|
||||||
run terminal and call tools from =~/.local/bin= without specifying their full
|
run terminal and call tools from =~/.local/bin= without specifying their full
|
||||||
path. Under certain conditions you might want to avoid modifying your =$PATH=.
|
path. Under certain conditions you might want to avoid modifying your =$PATH=.
|
||||||
In that case you have the option of updating the value of =exec-path= in the
|
In that case you have the option of updating the value of =exec-path= in the
|
||||||
|
@ -446,7 +446,7 @@ dash) to make the former easier to reach, you can use:
|
||||||
(dear-leader/swap-keys "S" "d")
|
(dear-leader/swap-keys "S" "d")
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you want to define your own alias, like using ~SPC é~ (because it’s a not
|
If you want to define your own alias, like using ~SPC é~ (because it's a not
|
||||||
used key on your keyboard-layout for instance) for accessing ~SPC w~ (windows
|
used key on your keyboard-layout for instance) for accessing ~SPC w~ (windows
|
||||||
management), you can use this:
|
management), you can use this:
|
||||||
|
|
||||||
|
@ -504,7 +504,7 @@ commits messages. To enable this you have to add the following line to your
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Try Spacemacs without modifying my existing Emacs configuration?
|
** Try Spacemacs without modifying my existing Emacs configuration?
|
||||||
Emacs’s ability to use any directory as the home for launching it allows us to
|
Emacs's ability to use any directory as the home for launching it allows us to
|
||||||
try out Spacemacs (or any other Emacs configuration we desire) without having to
|
try out Spacemacs (or any other Emacs configuration we desire) without having to
|
||||||
go through the trouble of backing up our =~/.emacs.d= directory and then cloning
|
go through the trouble of backing up our =~/.emacs.d= directory and then cloning
|
||||||
the new configuration. This can be achieved easily using the following steps:
|
the new configuration. This can be achieved easily using the following steps:
|
||||||
|
@ -515,7 +515,7 @@ the new configuration. This can be achieved easily using the following steps:
|
||||||
HOME=~/spacemacs emacs
|
HOME=~/spacemacs emacs
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you’re on Fish shell, you will need to modify the last command to:
|
If you're on Fish shell, you will need to modify the last command to:
|
||||||
=env HOME=$HOME/spacemacs emacs=
|
=env HOME=$HOME/spacemacs emacs=
|
||||||
|
|
||||||
** Make copy/paste working with the mouse in X11 terminals?
|
** Make copy/paste working with the mouse in X11 terminals?
|
||||||
|
@ -562,7 +562,7 @@ You can modify the list of visual enhancements applied by the =space-doc-mode=:
|
||||||
|
|
||||||
By default only =center-buffer-mode= is disabled.
|
By default only =center-buffer-mode= is disabled.
|
||||||
Both =space-doc-mode= and =center-buffer-mode= can be customized
|
Both =space-doc-mode= and =center-buffer-mode= can be customized
|
||||||
with “Easy Customization Interface”.
|
with "Easy Customization Interface".
|
||||||
|
|
||||||
** Remap paste key to be able to paste copied text multiple times
|
** Remap paste key to be able to paste copied text multiple times
|
||||||
In vim and evil, pasting over a text would cause it to be copied, hence making it impossible to paste
|
In vim and evil, pasting over a text would cause it to be copied, hence making it impossible to paste
|
||||||
|
|
|
@ -52,7 +52,7 @@ Before writing a layer, it is helpful to consider what you are trying to
|
||||||
achieve. Is there a package that provides the functionality you are after, and
|
achieve. Is there a package that provides the functionality you are after, and
|
||||||
you want to integrate it in Spacemacs? If yes, you should write a layer. Are you
|
you want to integrate it in Spacemacs? If yes, you should write a layer. Are you
|
||||||
trying to implement a new feature that would be useful for the Emacs community
|
trying to implement a new feature that would be useful for the Emacs community
|
||||||
at large? In that case, consider whether it wouldn’t be more appropriate to
|
at large? In that case, consider whether it wouldn't be more appropriate to
|
||||||
write a package first, and then a layer that uses your package.
|
write a package first, and then a layer that uses your package.
|
||||||
|
|
||||||
* The Emacs loading process
|
* The Emacs loading process
|
||||||
|
@ -79,7 +79,7 @@ The simplest way to load a file is to call =load-file=.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
This is as primitive as it comes. The path must be exact, and it does not have
|
This is as primitive as it comes. The path must be exact, and it does not have
|
||||||
to be in the Emacs load path (we’ll get to that later). It will not look for a
|
to be in the Emacs load path (we'll get to that later). It will not look for a
|
||||||
byte-compiled =.elc= file. It will simply load exactly what you tell it to.
|
byte-compiled =.elc= file. It will simply load exactly what you tell it to.
|
||||||
|
|
||||||
** Features
|
** Features
|
||||||
|
@ -132,9 +132,9 @@ a long list of calls to =require= at startup would still cause Emacs to take
|
||||||
forever to load.
|
forever to load.
|
||||||
|
|
||||||
Emacs uses auto-loading to solve this problem. When a function is registered as
|
Emacs uses auto-loading to solve this problem. When a function is registered as
|
||||||
auto-loading, an “empty” definition is provided. When that function is called,
|
auto-loading, an "empty" definition is provided. When that function is called,
|
||||||
the file that provides the function is immediately loaded (along with all its
|
the file that provides the function is immediately loaded (along with all its
|
||||||
required features). Finally, the “empty” function is substituted with the real
|
required features). Finally, the "empty" function is substituted with the real
|
||||||
one and called normally. The end user will see only a slight delay when first
|
one and called normally. The end user will see only a slight delay when first
|
||||||
calling the function, while subsequent calls to that function (or any other
|
calling the function, while subsequent calls to that function (or any other
|
||||||
function loaded as part of the same procedure) will be as quick as normal.
|
function loaded as part of the same procedure) will be as quick as normal.
|
||||||
|
@ -149,7 +149,7 @@ This instructs Emacs that whenever =some-function= is called, load
|
||||||
=some-file.el= first, and then proceed.
|
=some-file.el= first, and then proceed.
|
||||||
|
|
||||||
After evaluating the above code, you can try to inspect =some-function= by doing
|
After evaluating the above code, you can try to inspect =some-function= by doing
|
||||||
~SPC h d f some-function~. It will say it’s an auto-loaded function, and that
|
~SPC h d f some-function~. It will say it's an auto-loaded function, and that
|
||||||
nothing else is known about it until it is loaded. The call to =autoload= can
|
nothing else is known about it until it is loaded. The call to =autoload= can
|
||||||
optionally include more information, such as a doc-string, whether the function
|
optionally include more information, such as a doc-string, whether the function
|
||||||
can be called interactively, and so on. This provides more information to the
|
can be called interactively, and so on. This provides more information to the
|
||||||
|
@ -158,7 +158,7 @@ end-user without her having to actually load the file first.
|
||||||
Open your =elpa= directory, go to =helm= and look at the file
|
Open your =elpa= directory, go to =helm= and look at the file
|
||||||
=helm-autoloads.el=. This provides all the auto-loads for all the files in Helm.
|
=helm-autoloads.el=. This provides all the auto-loads for all the files in Helm.
|
||||||
However, this file is not written by hand. Instead, it is automatically
|
However, this file is not written by hand. Instead, it is automatically
|
||||||
generated from “magic” comments in the source code of Helm. They look like this:
|
generated from "magic" comments in the source code of Helm. They look like this:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
@ -171,7 +171,7 @@ The magic comment =;;;###autoload= instructs Emacs that the following definition
|
||||||
should be auto-loaded. This automatically generates an appropriate call to
|
should be auto-loaded. This automatically generates an appropriate call to
|
||||||
=autoload=.
|
=autoload=.
|
||||||
|
|
||||||
Things that can be auto-loaded generally involve anything “definable”, such as
|
Things that can be auto-loaded generally involve anything "definable", such as
|
||||||
functions, macros, major or minor modes, groups, classes, and so on.
|
functions, macros, major or minor modes, groups, classes, and so on.
|
||||||
|
|
||||||
Magic comments also work on other things, such as variable definitions
|
Magic comments also work on other things, such as variable definitions
|
||||||
|
@ -273,7 +273,7 @@ Use-package supports heaps of useful keywords. Look at the [[https://github.com/
|
||||||
more.
|
more.
|
||||||
|
|
||||||
* Anatomy of a layer
|
* Anatomy of a layer
|
||||||
A layer is simply a folder somewhere in Spacemacs’s layer search path that
|
A layer is simply a folder somewhere in Spacemacs's layer search path that
|
||||||
usually contains these files (listed in loading order).
|
usually contains these files (listed in loading order).
|
||||||
- declare additional layers
|
- declare additional layers
|
||||||
- the packages list and configuration
|
- the packages list and configuration
|
||||||
|
@ -384,7 +384,7 @@ By guarding these functions we avoid defining them when the package =my-package=
|
||||||
is not used.
|
is not used.
|
||||||
|
|
||||||
** config.el
|
** config.el
|
||||||
This file configures the layer by declaring layer variables’ default values and
|
This file configures the layer by declaring layer variables' default values and
|
||||||
setting up some other variables related to the layer.
|
setting up some other variables related to the layer.
|
||||||
|
|
||||||
This file is loaded after =funcs.el=.
|
This file is loaded after =funcs.el=.
|
||||||
|
@ -417,7 +417,7 @@ The Spacemacs loading process can be summarized as follows:
|
||||||
- there must be at least one =<layer>/init-<package>= function defined for
|
- there must be at least one =<layer>/init-<package>= function defined for
|
||||||
it.
|
it.
|
||||||
|
|
||||||
Alternatively, if a package is part of the end user’s
|
Alternatively, if a package is part of the end user's
|
||||||
=dotspacemacs-additional-packages=, it will also be installed.
|
=dotspacemacs-additional-packages=, it will also be installed.
|
||||||
3. All packages which should be installed are installed in alphabetical order,
|
3. All packages which should be installed are installed in alphabetical order,
|
||||||
=package.el= built-in Emacs library is in charge of implicit dependencies.
|
=package.el= built-in Emacs library is in charge of implicit dependencies.
|
||||||
|
@ -434,7 +434,7 @@ layer does *not* own a package if it only defines =pre-init= or =post-init=
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
Only one layer may own a package. Since layers are processed in order of
|
Only one layer may own a package. Since layers are processed in order of
|
||||||
specification in the user’s dotfile, it is possible for layers to “seize”
|
specification in the user's dotfile, it is possible for layers to "seize"
|
||||||
ownership of a package that was owned by a previously enabled layer.
|
ownership of a package that was owned by a previously enabled layer.
|
||||||
|
|
||||||
* Case study: auto-completion
|
* Case study: auto-completion
|
||||||
|
@ -505,7 +505,7 @@ commutative and the order of the operands is determined by the order of the
|
||||||
layers in the dotfile (like the ownership stealing mechanism).
|
layers in the dotfile (like the ownership stealing mechanism).
|
||||||
|
|
||||||
If =:can-shadow= property is set explicitly to =nil= in the dotfile then the
|
If =:can-shadow= property is set explicitly to =nil= in the dotfile then the
|
||||||
layer won’t shadow any layer.
|
layer won't shadow any layer.
|
||||||
|
|
||||||
For instance to install both ivy and helm layer:
|
For instance to install both ivy and helm layer:
|
||||||
|
|
||||||
|
@ -552,7 +552,7 @@ have both!
|
||||||
** Use-package hooks
|
** Use-package hooks
|
||||||
Spacemacs includes a macro for adding more code to the =:init= or =:config=
|
Spacemacs includes a macro for adding more code to the =:init= or =:config=
|
||||||
blocks of a call to =use-package=, after the fact. This is useful for =pre-init=
|
blocks of a call to =use-package=, after the fact. This is useful for =pre-init=
|
||||||
or =post-init= functions to “inject” code into the =use-package= call of the
|
or =post-init= functions to "inject" code into the =use-package= call of the
|
||||||
=init= function.
|
=init= function.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -312,7 +312,7 @@ Emacs or press ~SPC f e R~. To view all layers and their documentation use
|
||||||
~SPC h SPC~.
|
~SPC h SPC~.
|
||||||
|
|
||||||
** Creating a Layer
|
** Creating a Layer
|
||||||
To group configuration or when configuration doesn’t fit well in your
|
To group configuration or when configuration doesn't fit well in your
|
||||||
=.spacemacs= file, you can create a configuration layer. Spacemacs provides a
|
=.spacemacs= file, you can create a configuration layer. Spacemacs provides a
|
||||||
builtin command to generate the layer boilerplate:
|
builtin command to generate the layer boilerplate:
|
||||||
~SPC SPC configuration-layer/create-layer RET~. This generates a folder that
|
~SPC SPC configuration-layer/create-layer RET~. This generates a folder that
|
||||||
|
@ -372,7 +372,7 @@ the [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/LAYERS.org][configu
|
||||||
|
|
||||||
** Installing a single package
|
** Installing a single package
|
||||||
Sometimes creating a layer is a bit overkill. Maybe you just want one package
|
Sometimes creating a layer is a bit overkill. Maybe you just want one package
|
||||||
and don’t want to maintain a whole layer. Spacemacs provides a variable in the
|
and don't want to maintain a whole layer. Spacemacs provides a variable in the
|
||||||
=dotspacemacs/layers= function in =.spacemacs= called
|
=dotspacemacs/layers= function in =.spacemacs= called
|
||||||
=dotspacemacs-additional-packages=. Just add a package name to the list and it
|
=dotspacemacs-additional-packages=. Just add a package name to the list and it
|
||||||
will be installed when you restart. Loading the package is covered in the next
|
will be installed when you restart. Loading the package is covered in the next
|
||||||
|
@ -408,7 +408,7 @@ to using it:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
This is just a very basic overview of =use-package=. There are many other ways
|
This is just a very basic overview of =use-package=. There are many other ways
|
||||||
to control how a package loads using it that aren’t covered here.
|
to control how a package loads using it that aren't covered here.
|
||||||
|
|
||||||
** Uninstalling a package
|
** Uninstalling a package
|
||||||
Spacemacs provides a variable in the =dotspacemacs/init= function in
|
Spacemacs provides a variable in the =dotspacemacs/init= function in
|
||||||
|
@ -478,7 +478,7 @@ your =.spacemacs=:
|
||||||
* Other useful links
|
* Other useful links
|
||||||
- [[https://www.gnu.org/software/emacs/manual/emacs.html][Emacs Manual]]
|
- [[https://www.gnu.org/software/emacs/manual/emacs.html][Emacs Manual]]
|
||||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][Spacemacs Documentation]]
|
- [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org][Spacemacs Documentation]]
|
||||||
- [[http://ian.mccowan.space/2015/04/07/Spacemacs/][Spacemacs: A Vimmer’s Emacs Prerequisites]]
|
- [[http://ian.mccowan.space/2015/04/07/Spacemacs/][Spacemacs: A Vimmer's Emacs Prerequisites]]
|
||||||
- Note: The article refers to ~SPC b s~ as the key binding to switch buffers.
|
- Note: The article refers to ~SPC b s~ as the key binding to switch buffers.
|
||||||
It is ~SPC b b~
|
It is ~SPC b b~
|
||||||
- [[http://thume.ca/howto/2015/03/07/configuring-spacemacs-a-tutorial/][Configuring Spacemacs: A Tutorial]]
|
- [[http://thume.ca/howto/2015/03/07/configuring-spacemacs-a-tutorial/][Configuring Spacemacs: A Tutorial]]
|
||||||
|
|
|
@ -39,7 +39,7 @@ add =erc= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
file.
|
file.
|
||||||
|
|
||||||
** OS X
|
** OS X
|
||||||
It’s recommended to install the [[https://github.com/alloy/terminal-notifier][terminal-notifier gem]] so that you get
|
It's recommended to install the [[https://github.com/alloy/terminal-notifier][terminal-notifier gem]] so that you get
|
||||||
notifications via the OS X Notification Center.
|
notifications via the OS X Notification Center.
|
||||||
|
|
||||||
** Social graph
|
** Social graph
|
||||||
|
@ -112,7 +112,7 @@ read that in =:password=.
|
||||||
| ~SPC m d~ | Interactively input a user action and send it to IRC. |
|
| ~SPC m d~ | Interactively input a user action and send it to IRC. |
|
||||||
| ~SPC m D~ | Draw Social Graph using [[https://github.com/vibhavp/erc-social-graph][erc-social-graph]] |
|
| ~SPC m D~ | Draw Social Graph using [[https://github.com/vibhavp/erc-social-graph][erc-social-graph]] |
|
||||||
| ~SPC m j~ | Join a channel, executes the /join command |
|
| ~SPC m j~ | Join a channel, executes the /join command |
|
||||||
| ~SPC m n~ | Run “/names #channel” in the current channel. |
|
| ~SPC m n~ | Run "/names #channel" in the current channel. |
|
||||||
| ~SPC m l~ | Run the /list command |
|
| ~SPC m l~ | Run the /list command |
|
||||||
| ~SPC m p~ | Part from the channel |
|
| ~SPC m p~ | Part from the channel |
|
||||||
| ~SPC m q~ | Quit server |
|
| ~SPC m q~ | Quit server |
|
||||||
|
@ -122,5 +122,5 @@ read that in =:password=.
|
||||||
|
|
||||||
* Spacemacs Layout Support
|
* Spacemacs Layout Support
|
||||||
ERC buffers are added automatically to the default layout for ERC controlled by
|
ERC buffers are added automatically to the default layout for ERC controlled by
|
||||||
the variable =erc-spacemacs-layout-name= (defaults to “@ERC”) and the default
|
the variable =erc-spacemacs-layout-name= (defaults to "@ERC") and the default
|
||||||
binding (“E”) is controlled by =erc-spacemacs-layout-binding=
|
binding ("E") is controlled by =erc-spacemacs-layout-binding=
|
||||||
|
|
|
@ -48,7 +48,7 @@ file.
|
||||||
|
|
||||||
* HipChat
|
* HipChat
|
||||||
** Authentication
|
** Authentication
|
||||||
To find YOUR_JABBER_ID visit “XMPP/Jabber info” section on your profile page at hipchat.com
|
To find YOUR_JABBER_ID visit "XMPP/Jabber info" section on your profile page at hipchat.com
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
||||||
|
|
|
@ -233,7 +233,7 @@ codes, set the variable =rcirc-enable-styles= to =t= in your dotfile:
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+-------------------------------------------------------------------------------|
|
|-------------+-------------------------------------------------------------------------------|
|
||||||
| ~SPC a i r~ | Open rcirc |
|
| ~SPC a i r~ | Open rcirc |
|
||||||
| ~SPC l o i~ | Open rcirc in a custom perspective “@RICRC” (need perspectives layer enabled) |
|
| ~SPC l o i~ | Open rcirc in a custom perspective "@RICRC" (need perspectives layer enabled) |
|
||||||
| ~SPC m i a~ | Interactively insert a color code (if rcirc-styles is enabled) |
|
| ~SPC m i a~ | Interactively insert a color code (if rcirc-styles is enabled) |
|
||||||
| ~SPC m i c~ | Interactively insert a text attribute code (if rcirc-styles is enabled) |
|
| ~SPC m i c~ | Interactively insert a text attribute code (if rcirc-styles is enabled) |
|
||||||
| ~SPC m i p~ | Toggle preview in input line (if rcirc-styles is enabled) |
|
| ~SPC m i p~ | Toggle preview in input line (if rcirc-styles is enabled) |
|
||||||
|
@ -250,5 +250,5 @@ The rcirc documentation can be found [[http://www.gnu.org/software/emacs/manual/
|
||||||
|
|
||||||
* Spacemacs Layout Support
|
* Spacemacs Layout Support
|
||||||
RCIRC buffers are added automatically to the default layout for RCIRC controlled by
|
RCIRC buffers are added automatically to the default layout for RCIRC controlled by
|
||||||
the variable =rcirc-spacemacs-layout-name= (defaults to “@RCIRC”) and the default
|
the variable =rcirc-spacemacs-layout-name= (defaults to "@RCIRC") and the default
|
||||||
binding (“i”) is controlled by =rcirc-spacemacs-layout-binding=
|
binding ("i") is controlled by =rcirc-spacemacs-layout-binding=
|
||||||
|
|
|
@ -93,7 +93,7 @@ currently supported language:
|
||||||
|
|
||||||
** Enabling multi-dictionary support with hunspell
|
** Enabling multi-dictionary support with hunspell
|
||||||
If your language is not supported by auto-dictionary feature or you author
|
If your language is not supported by auto-dictionary feature or you author
|
||||||
multi-lingual documents you might be compelled to use hunspell’s multi-dictionary
|
multi-lingual documents you might be compelled to use hunspell's multi-dictionary
|
||||||
mode. For example to enable it for pl_PL and en_GB dictionaries you could put
|
mode. For example to enable it for pl_PL and en_GB dictionaries you could put
|
||||||
following code in your dotspacemacs/user-config section in your configuration
|
following code in your dotspacemacs/user-config section in your configuration
|
||||||
file:
|
file:
|
||||||
|
@ -108,7 +108,7 @@ file:
|
||||||
(setq ispell-dictionary "pl_PL,en_GB"))
|
(setq ispell-dictionary "pl_PL,en_GB"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
One caveat is you need quite modern ispell.el for above to work. It’s been
|
One caveat is you need quite modern ispell.el for above to work. It's been
|
||||||
tested with version coming from Emacs 25.2 repository.
|
tested with version coming from Emacs 25.2 repository.
|
||||||
|
|
||||||
** Enable auto-completion popup
|
** Enable auto-completion popup
|
||||||
|
@ -151,6 +151,6 @@ set the layer variable =enable-flyspell-auto-completion= to t:
|
||||||
|
|
||||||
* Known issues
|
* Known issues
|
||||||
Vim-empty-lines layer seems incompatible with spell-checking inside org-mode. If
|
Vim-empty-lines layer seems incompatible with spell-checking inside org-mode. If
|
||||||
you experience “Args out of range” error message when invoking ~SPC S c~ inside
|
you experience "Args out of range" error message when invoking ~SPC S c~ inside
|
||||||
org-mode buffer then check if you don’t have vim-empty-lines layer enabled and
|
org-mode buffer then check if you don't have vim-empty-lines layer enabled and
|
||||||
disable it.
|
disable it.
|
||||||
|
|
|
@ -81,7 +81,7 @@ The default configuration of the layer is:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
~jk~ is a good candidate for =auto-completion-complete-with-key-sequence= if
|
~jk~ is a good candidate for =auto-completion-complete-with-key-sequence= if
|
||||||
you don’t use it already.
|
you don't use it already.
|
||||||
|
|
||||||
** Snippets directories
|
** Snippets directories
|
||||||
The following directories are added by default:
|
The following directories are added by default:
|
||||||
|
@ -210,7 +210,7 @@ For nicer-looking faces, try adding the following to `custom-set-faces` in your
|
||||||
| ~C-d~ | open minibuffer with documentation of thing at point in company dropdown |
|
| ~C-d~ | open minibuffer with documentation of thing at point in company dropdown |
|
||||||
| ~C-/~ | show candidates in Helm or Ivy (for fuzzy searching) |
|
| ~C-/~ | show candidates in Helm or Ivy (for fuzzy searching) |
|
||||||
| ~C-M-/~ | filter the company dropdown menu |
|
| ~C-M-/~ | filter the company dropdown menu |
|
||||||
| ~M-h~ | show current candidate’s documentation in a tooltip (requires =auto-completion-enable-help-tooltip=) |
|
| ~M-h~ | show current candidate's documentation in a tooltip (requires =auto-completion-enable-help-tooltip=) |
|
||||||
|
|
||||||
Vim Style:
|
Vim Style:
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ Mastering your choice of completion system will make you a Spacemacs power user.
|
||||||
- Intuitive =transient state=
|
- Intuitive =transient state=
|
||||||
|
|
||||||
* Install
|
* Install
|
||||||
Helm is part of the standard distribution of Spacemacs so you don’t have to do
|
Helm is part of the standard distribution of Spacemacs so you don't have to do
|
||||||
anything to install it if you chose this distribution.
|
anything to install it if you chose this distribution.
|
||||||
|
|
||||||
If you want/need to explicitly install Helm then add it to your =~/.spacemacs=.
|
If you want/need to explicitly install Helm then add it to your =~/.spacemacs=.
|
||||||
|
@ -139,7 +139,7 @@ Helm buffers with ~hjkl~.
|
||||||
| ~C-l~ | same as ~return~ |
|
| ~C-l~ | same as ~return~ |
|
||||||
|
|
||||||
** Transient state
|
** Transient state
|
||||||
Spacemacs defines a transient state for =Helm= to make it work like [[https://github.com/Shougo/unite.vim][Vim’s Unite]]
|
Spacemacs defines a transient state for =Helm= to make it work like [[https://github.com/Shougo/unite.vim][Vim's Unite]]
|
||||||
plugin.
|
plugin.
|
||||||
|
|
||||||
Initiate the transient state with ~M-SPC~ or ~s-M-SPC~ while in a =Helm= buffer.
|
Initiate the transient state with ~M-SPC~ or ~s-M-SPC~ while in a =Helm= buffer.
|
||||||
|
@ -182,7 +182,7 @@ In the =helm-bookmarks= buffer:
|
||||||
|
|
||||||
** C-z and Tab switch
|
** C-z and Tab switch
|
||||||
The command bound to ~C-z~ is much more useful than the one bound to Tab, so it
|
The command bound to ~C-z~ is much more useful than the one bound to Tab, so it
|
||||||
makes sense to swap them. It’s also recommended [[http://tuhdo.github.io/helm-intro.html][here]].
|
makes sense to swap them. It's also recommended [[http://tuhdo.github.io/helm-intro.html][here]].
|
||||||
|
|
||||||
** Helm focus
|
** Helm focus
|
||||||
If you find yourself unable to return focus to Helm (after a careless
|
If you find yourself unable to return focus to Helm (after a careless
|
||||||
|
|
|
@ -42,7 +42,7 @@ You can customize ivy with the following variables:
|
||||||
last candidate. The default value is =nil=.
|
last candidate. The default value is =nil=.
|
||||||
- =ivy-extra-directories= Setting this to =nil= hides . and .. directories from
|
- =ivy-extra-directories= Setting this to =nil= hides . and .. directories from
|
||||||
file name completion. You can still go up a directory up by ~DEL~.
|
file name completion. You can still go up a directory up by ~DEL~.
|
||||||
The default value is (“../”, “./”).
|
The default value is ("../", "./").
|
||||||
- =ivy-use-virtual-buffers= Add bookmarks and recent files to buffer completion
|
- =ivy-use-virtual-buffers= Add bookmarks and recent files to buffer completion
|
||||||
menu. The Spacemacs default is t.
|
menu. The Spacemacs default is t.
|
||||||
- =ivy-height= The height of the minibuffer. The Spacemacs default is 15.
|
- =ivy-height= The height of the minibuffer. The Spacemacs default is 15.
|
||||||
|
@ -71,7 +71,7 @@ is disabled by default.
|
||||||
|
|
||||||
* Key bindings
|
* Key bindings
|
||||||
If you choose =ivy= as completion system, make sure to read the [[http://oremacs.com/swiper/][official manual]].
|
If you choose =ivy= as completion system, make sure to read the [[http://oremacs.com/swiper/][official manual]].
|
||||||
In case you don’t want to read everything, at least familiarise with
|
In case you don't want to read everything, at least familiarise with
|
||||||
[[http://oremacs.com/swiper/#minibuffer-key-bindings][minibuffer key bindings]].
|
[[http://oremacs.com/swiper/#minibuffer-key-bindings][minibuffer key bindings]].
|
||||||
|
|
||||||
Some useful key bindings are presented in the following table.
|
Some useful key bindings are presented in the following table.
|
||||||
|
@ -79,11 +79,11 @@ Some useful key bindings are presented in the following table.
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+------------------------------------------------------------------------------------------------------|
|
|-------------+------------------------------------------------------------------------------------------------------|
|
||||||
| ~RET~ | call default action on current candidate |
|
| ~RET~ | call default action on current candidate |
|
||||||
| ~M-RET~ | the same as ~RET~ but doesn’t close completion minibuffer |
|
| ~M-RET~ | the same as ~RET~ but doesn't close completion minibuffer |
|
||||||
| ~C-M-j~ | use current input immediately (this can be used to create a new file in Find File) |
|
| ~C-M-j~ | use current input immediately (this can be used to create a new file in Find File) |
|
||||||
| ~tab~ | complete partially |
|
| ~tab~ | complete partially |
|
||||||
| ~M-o~ | show the list of valid actions on current candidate (then press any of described keys to execute it) |
|
| ~M-o~ | show the list of valid actions on current candidate (then press any of described keys to execute it) |
|
||||||
| ~C-M-o~ | the same as ~M-o~ but doesn’t close completion minibuffer |
|
| ~C-M-o~ | the same as ~M-o~ but doesn't close completion minibuffer |
|
||||||
| ~C-'~ | use avy to quickly select completion on current page (sometimes faster than using arrows) |
|
| ~C-'~ | use avy to quickly select completion on current page (sometimes faster than using arrows) |
|
||||||
| ~<ESC>~ | close minibuffer |
|
| ~<ESC>~ | close minibuffer |
|
||||||
|
|
||||||
|
@ -95,5 +95,5 @@ Press ~M-SPC~ anytime in Ivy to get into the transient state.
|
||||||
| ~j~ | select next candidate |
|
| ~j~ | select next candidate |
|
||||||
| ~k~ | select previous candidate |
|
| ~k~ | select previous candidate |
|
||||||
| ~d~ | call default action on candidate |
|
| ~d~ | call default action on candidate |
|
||||||
| ~g~ | the same as ~d~ but doesn’t close completion minibuffer |
|
| ~g~ | the same as ~d~ but doesn't close completion minibuffer |
|
||||||
| ~o~ | leave transient state |
|
| ~o~ | leave transient state |
|
||||||
|
|
|
@ -31,10 +31,10 @@ with GUI support on all major platforms and even [[https://i.imgur.com/wDLDMZN.g
|
||||||
- Build once and work with the same development environment everywhere
|
- Build once and work with the same development environment everywhere
|
||||||
- Run untrusted/risky code in the tunable sandbox with CPU/network/disk quotas
|
- Run untrusted/risky code in the tunable sandbox with CPU/network/disk quotas
|
||||||
- Try new tools, experiment and roll back changes when something goes wrong
|
- Try new tools, experiment and roll back changes when something goes wrong
|
||||||
- Share your setup with others or extend someone else’s development environment
|
- Share your setup with others or extend someone else's development environment
|
||||||
- Run multiple Emacs instances on the same machine isolated
|
- Run multiple Emacs instances on the same machine isolated
|
||||||
- [[https://docs.docker.com/engine/reference/commandline/pause/][pause]] container to free resources temporarily
|
- [[https://docs.docker.com/engine/reference/commandline/pause/][pause]] container to free resources temporarily
|
||||||
- [[https://github.com/docker/docker/blob/1.13.x/experimental/checkpoint-restore.md][Checkpoint & Restore]] - maybe the fastest way to start a “heavy” environment
|
- [[https://github.com/docker/docker/blob/1.13.x/experimental/checkpoint-restore.md][Checkpoint & Restore]] - maybe the fastest way to start a "heavy" environment
|
||||||
- Friendly for networks with low upload speed/quotas.
|
- Friendly for networks with low upload speed/quotas.
|
||||||
|
|
||||||
* Screenshots
|
* Screenshots
|
||||||
|
@ -63,8 +63,8 @@ NOTE: The guide assumes that you want to run Docker and connect to it from
|
||||||
the same machine.
|
the same machine.
|
||||||
|
|
||||||
** MacOS
|
** MacOS
|
||||||
Get [[https://www.xquartz.org][XQuartz]] and =open -a XQuartz= In the XQuartz preferences go to the “Security”
|
Get [[https://www.xquartz.org][XQuartz]] and =open -a XQuartz= In the XQuartz preferences go to the "Security"
|
||||||
tab and make sure you’ve got “Allow connections from network clients” ticked
|
tab and make sure you've got "Allow connections from network clients" ticked
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
|
ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
|
||||||
|
@ -105,7 +105,7 @@ Or with =-ti= via =winpty=
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
[[http://manomarks.github.io/2015/12/03/docker-gui-windows.html][source]]
|
[[http://manomarks.github.io/2015/12/03/docker-gui-windows.html][source]]
|
||||||
Also You can use [[https://www.reddit.com/r/emacs/comments/7a63r4/emacs_in_win10linuxdockerxserver_combo/][@ninrod ’s setup]]
|
Also You can use [[https://www.reddit.com/r/emacs/comments/7a63r4/emacs_in_win10linuxdockerxserver_combo/][@ninrod 's setup]]
|
||||||
|
|
||||||
** GNU/Linux
|
** GNU/Linux
|
||||||
Make sure that =$DISPLAY= variable is set
|
Make sure that =$DISPLAY= variable is set
|
||||||
|
@ -124,16 +124,16 @@ Make sure that =$DISPLAY= variable is set
|
||||||
spacemacs/develop
|
spacemacs/develop
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
=UID= and preferably =UNAME= should match the host’s user id. You can set them
|
=UID= and preferably =UNAME= should match the host's user id. You can set them
|
||||||
in your Dockerfile with [[https://docs.docker.com/engine/reference/builder/#env][ENV statements]].
|
in your Dockerfile with [[https://docs.docker.com/engine/reference/builder/#env][ENV statements]].
|
||||||
That’s it! Now you should see Emacs window.
|
That's it! Now you should see Emacs window.
|
||||||
But if it doesn’t work You may need to allow local connection for the user
|
But if it doesn't work You may need to allow local connection for the user
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
xhost +si:localuser:<UNAME>
|
xhost +si:localuser:<UNAME>
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Or allow local connection from the container’s host-name
|
Or allow local connection from the container's host-name
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' spacemacs`
|
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' spacemacs`
|
||||||
|
@ -152,7 +152,7 @@ Or allow local connection from the container’s host-name
|
||||||
- Lag spikes with some OSes
|
- Lag spikes with some OSes
|
||||||
|
|
||||||
*** Instruction
|
*** Instruction
|
||||||
It’s a good idea to read [[https://github.com/JAremko/docker-x11-bridge][docker-x11-bridge]] and [[https://www.xpra.org/trac/][Xpra]] documentations, but
|
It's a good idea to read [[https://github.com/JAremko/docker-x11-bridge][docker-x11-bridge]] and [[https://www.xpra.org/trac/][Xpra]] documentations, but
|
||||||
here is a short instruction:
|
here is a short instruction:
|
||||||
|
|
||||||
**** With Xpra desktop client
|
**** With Xpra desktop client
|
||||||
|
@ -212,7 +212,7 @@ Now visit [[http://localhost:10000/index.html?encoding=png&password]] =<PASSWORD
|
||||||
- =docker exec spacemacs /usr/bin/emacs= - start =/usr/bin/emacs=
|
- =docker exec spacemacs /usr/bin/emacs= - start =/usr/bin/emacs=
|
||||||
|
|
||||||
With the running =spacemacs= container
|
With the running =spacemacs= container
|
||||||
- =docker logs spacemacs= - print =spacemacs= container’s logs
|
- =docker logs spacemacs= - print =spacemacs= container's logs
|
||||||
- =docker cp <from_local_path> spacemacs:/<to_my_spacemacs_container_path>=
|
- =docker cp <from_local_path> spacemacs:/<to_my_spacemacs_container_path>=
|
||||||
- =docker cp spacemacs:/<from_my_spacemacs_container_path> <to_local_path>=
|
- =docker cp spacemacs:/<from_my_spacemacs_container_path> <to_local_path>=
|
||||||
- Manage data in containers with [[https://docs.docker.com/engine/tutorials/dockervolumes/][Docker volumes]]. Example
|
- Manage data in containers with [[https://docs.docker.com/engine/tutorials/dockervolumes/][Docker volumes]]. Example
|
||||||
|
|
|
@ -27,7 +27,7 @@ in Docker environment.
|
||||||
|
|
||||||
* How it works
|
* How it works
|
||||||
When .spacemacs file contains one of supported layers and its installation
|
When .spacemacs file contains one of supported layers and its installation
|
||||||
isn’t disabled, it will be used to satisfy the layer’s requirements, taking
|
isn't disabled, it will be used to satisfy the layer's requirements, taking
|
||||||
into account its configurations. For example, [[https://github.com/alecthomas/gometalinter][gometalinter]] will be installed
|
into account its configurations. For example, [[https://github.com/alecthomas/gometalinter][gometalinter]] will be installed
|
||||||
only if the variable =go-use-gometalinter= is =t=.
|
only if the variable =go-use-gometalinter= is =t=.
|
||||||
Set =<LAYER_NAME>-spacemacs-docker-disable-deps-install= to =t=
|
Set =<LAYER_NAME>-spacemacs-docker-disable-deps-install= to =t=
|
||||||
|
|
|
@ -24,8 +24,8 @@ The commands defined in this layer are taken from various sources like [[https:/
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Smart line navigation: Subsequent presses of ~C-a~ toggles between the beginning of the line and the first non-whitespace character. Similarly, subsequent presses of ~C-e~ will toggle between the end of the code and the end of the comments.
|
- Smart line navigation: Subsequent presses of ~C-a~ toggles between the beginning of the line and the first non-whitespace character. Similarly, subsequent presses of ~C-e~ will toggle between the end of the code and the end of the comments.
|
||||||
- =spacemacs/backward-kill-word-or-region=: A combination of =kill-region= and =backward-kill-word=, depending on whether there is an active region. If there’s an active region kill that. If not kill the preceding word.
|
- =spacemacs/backward-kill-word-or-region=: A combination of =kill-region= and =backward-kill-word=, depending on whether there is an active region. If there's an active region kill that. If not kill the preceding word.
|
||||||
- Fill or unfill paragraph: Pressing ~M-q~ for the first time fills current paragraph and pressing ~M-q~ for the second time unfills it. Note that some modes override this key binding so it’s not available everywhere. Due to implementation details unfilling doesn’t work when called twice via ~M-x~.
|
- Fill or unfill paragraph: Pressing ~M-q~ for the first time fills current paragraph and pressing ~M-q~ for the second time unfills it. Note that some modes override this key binding so it's not available everywhere. Due to implementation details unfilling doesn't work when called twice via ~M-x~.
|
||||||
|
|
||||||
* Install
|
* Install
|
||||||
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
|
|
|
@ -53,6 +53,6 @@ Example:
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------------------------+-------------------------------|
|
|-------------------------------+-------------------------------|
|
||||||
| ~g r~ | update IBuffer (“refresh”) |
|
| ~g r~ | update IBuffer ("refresh") |
|
||||||
| ~g j~ / ~]~ / ~TAB~ / ~M-n~ | move to next filter group |
|
| ~g j~ / ~]~ / ~TAB~ / ~M-n~ | move to next filter group |
|
||||||
| ~g k~ / ~[~ / ~S-TAB~ / ~M-p~ | move to previous filter group |
|
| ~g k~ / ~[~ / ~S-TAB~ / ~M-p~ | move to previous filter group |
|
||||||
|
|
|
@ -38,7 +38,7 @@ This layer adds support for the Mu4e email client.
|
||||||
In order to use this layer you must install mu and mu4e separately. Typically
|
In order to use this layer you must install mu and mu4e separately. Typically
|
||||||
mu4e will be bundled with mu (this is the case on many Linux distributions).
|
mu4e will be bundled with mu (this is the case on many Linux distributions).
|
||||||
|
|
||||||
If you’re on OS X and install mu using Homebrew, you must specify the
|
If you're on OS X and install mu using Homebrew, you must specify the
|
||||||
location of your Emacs binary at install time using the EMACS environment
|
location of your Emacs binary at install time using the EMACS environment
|
||||||
variable, as well as passing the =--with-emacs= option:
|
variable, as well as passing the =--with-emacs= option:
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ variable, as well as passing the =--with-emacs= option:
|
||||||
brew install mu --with-emacs
|
brew install mu --with-emacs
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If the installation directory of mu4e is not in Emacs’ load path, you can set
|
If the installation directory of mu4e is not in Emacs' load path, you can set
|
||||||
the layer variable =mu4e-installation-path=, for example:
|
the layer variable =mu4e-installation-path=, for example:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -86,7 +86,7 @@ existing =dotspacemacs-configuration-layers= list in this file.
|
||||||
|
|
||||||
* Configuration
|
* Configuration
|
||||||
Configuration varies too much to give precise instructions. What follows is one
|
Configuration varies too much to give precise instructions. What follows is one
|
||||||
example configuration. Refer to mu4e’s manual for more detailed configuration
|
example configuration. Refer to mu4e's manual for more detailed configuration
|
||||||
instructions.
|
instructions.
|
||||||
|
|
||||||
** Maildirs extension
|
** Maildirs extension
|
||||||
|
@ -214,7 +214,7 @@ count of unread messages to the modeline.
|
||||||
[[https://raw.githubusercontent.com/iqbalansari/mu4e-alert/master/screenshots/mu4e-alert-in-action.png]]
|
[[https://raw.githubusercontent.com/iqbalansari/mu4e-alert/master/screenshots/mu4e-alert-in-action.png]]
|
||||||
|
|
||||||
For an extended documentation of the available customizations please refer to
|
For an extended documentation of the available customizations please refer to
|
||||||
[[https://github.com/iqbalansari/mu4e-alert#user-content-customizations][mu4e-alert’s documentation]]
|
[[https://github.com/iqbalansari/mu4e-alert#user-content-customizations][mu4e-alert's documentation]]
|
||||||
|
|
||||||
*** OS notifications
|
*** OS notifications
|
||||||
To enable notifications about new messages, add the following line to your
|
To enable notifications about new messages, add the following line to your
|
||||||
|
|
|
@ -100,7 +100,7 @@ Refer to the official notmuch website for more information:
|
||||||
| ~SPC a N n~ | Start helm notmuch |
|
| ~SPC a N n~ | Start helm notmuch |
|
||||||
| ~SPC a N j~ | Start a notmuch jump search |
|
| ~SPC a N j~ | Start a notmuch jump search |
|
||||||
| ~SPC a N s~ | Start a notmuch search |
|
| ~SPC a N s~ | Start a notmuch search |
|
||||||
| ~SPC l o n~ | Start notmuch in a custom layout, “@Notmuch” |
|
| ~SPC l o n~ | Start notmuch in a custom layout, "@Notmuch" |
|
||||||
|
|
||||||
** Show mode
|
** Show mode
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
This layer sets up a file navigation and project explorer side-window via [[https://github.com/Alexander-Miller/treemacs][Treemacs]].
|
This layer sets up a file navigation and project explorer side-window via [[https://github.com/Alexander-Miller/treemacs][Treemacs]].
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
An detailed overview over Treemacs’ available features is available in [[https://github.com/Alexander-Miller/treemacs#detailed-feature-list][its
|
An detailed overview over Treemacs' available features is available in [[https://github.com/Alexander-Miller/treemacs#detailed-feature-list][its
|
||||||
readme]]. In a short summary Treemacs offers the following:
|
readme]]. In a short summary Treemacs offers the following:
|
||||||
- Simple and powerful navigation and ability to detail exactly how and where a
|
- Simple and powerful navigation and ability to detail exactly how and where a
|
||||||
file should be opened
|
file should be opened
|
||||||
|
@ -30,7 +30,7 @@ readme]]. In a short summary Treemacs offers the following:
|
||||||
- Ability to show tags contained in files. Tags are provided by imenu, so
|
- Ability to show tags contained in files. Tags are provided by imenu, so
|
||||||
nearly every filetype is supported.
|
nearly every filetype is supported.
|
||||||
- Mouse interface for single and double left clicks in line with modern GUI standards.
|
- Mouse interface for single and double left clicks in line with modern GUI standards.
|
||||||
(Clicking on an icon will also display a file’s tags)
|
(Clicking on an icon will also display a file's tags)
|
||||||
- Locational awareness: commands like ~find-file~ or ~magit-status~ will use the location
|
- Locational awareness: commands like ~find-file~ or ~magit-status~ will use the location
|
||||||
of the node at point (with $HOME as fallback)
|
of the node at point (with $HOME as fallback)
|
||||||
- Optionally fontifying files based on their git status.
|
- Optionally fontifying files based on their git status.
|
||||||
|
@ -101,7 +101,7 @@ Default is =nil=.
|
||||||
|-------------+------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------+------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| ~M-0~ | Selected the treemacs window. Actually selects window #10, which is always assigned to treemacs. |
|
| ~M-0~ | Selected the treemacs window. Actually selects window #10, which is always assigned to treemacs. |
|
||||||
| ~SPC 0~ | Open treemacs in the current directory. When not visiting a file use $HOME as fallback. With a prefix arg manually select the root instead. |
|
| ~SPC 0~ | Open treemacs in the current directory. When not visiting a file use $HOME as fallback. With a prefix arg manually select the root instead. |
|
||||||
| ~SPC f B~ | Find and select a bookmark. If it cannot be found rebuild view with the bookmark’s location as root. Also open the bookmark with a prefix arg. |
|
| ~SPC f B~ | Find and select a bookmark. If it cannot be found rebuild view with the bookmark's location as root. Also open the bookmark with a prefix arg. |
|
||||||
| ~SPC f t~ | Hide/show existing treemacs buffer. Create one for the current directory if no buffer exists. |
|
| ~SPC f t~ | Hide/show existing treemacs buffer. Create one for the current directory if no buffer exists. |
|
||||||
| ~SPC f T~ | Manually focus the treemacs view on the currently selected file. Not needed when =treemacs-follow-mode= is enabled. |
|
| ~SPC f T~ | Manually focus the treemacs view on the currently selected file. Not needed when =treemacs-follow-mode= is enabled. |
|
||||||
| ~SPC f M-t~ | Manually focus the treemacs view on the currently selected file and tag. |
|
| ~SPC f M-t~ | Manually focus the treemacs view on the currently selected file and tag. |
|
||||||
|
|
|
@ -63,8 +63,8 @@ Various configuration options for =pony-mode= are documented at [[http://www.dea
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|---------------+----------------------------------------------------------------------------|
|
|---------------+----------------------------------------------------------------------------|
|
||||||
| ~SPC m j i d~ | Run interpreter for this project’s default database as an inferior process |
|
| ~SPC m j i d~ | Run interpreter for this project's default database as an inferior process |
|
||||||
| ~SPC m j i s~ | Open a Python shell with the current pony project’s context loaded. |
|
| ~SPC m j i s~ | Open a Python shell with the current pony project's context loaded. |
|
||||||
| | If the project has the django_extras package installed, then use the |
|
| | If the project has the django_extras package installed, then use the |
|
||||||
| | excellent =shell_plus= command. Otherwise, fall back to =manage.py shell= |
|
| | excellent =shell_plus= command. Otherwise, fall back to =manage.py shell= |
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ Various configuration options for =pony-mode= are documented at [[http://www.dea
|
||||||
| ~SPC m j r o~ | Open a tab at the dev server |
|
| ~SPC m j r o~ | Open a tab at the dev server |
|
||||||
| ~SPC m j r r~ | Restart the dev server (works better with django_extras/werkzeug) |
|
| ~SPC m j r r~ | Restart the dev server (works better with django_extras/werkzeug) |
|
||||||
| ~SPC m j r u~ | Start or open the dev server |
|
| ~SPC m j r u~ | Start or open the dev server |
|
||||||
| ~SPC m j r t~ | Open a second server with a “throwaway” host/port |
|
| ~SPC m j r t~ | Open a second server with a "throwaway" host/port |
|
||||||
|
|
||||||
** South/Syncdb
|
** South/Syncdb
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
- [[#key-bindings][Key bindings]]
|
- [[#key-bindings][Key bindings]]
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer adds key bindings for [[https://github.com/tonini/alchemist.el][Alchemist]]’s already built in phoenix mode.
|
This layer adds key bindings for [[https://github.com/tonini/alchemist.el][Alchemist]]'s already built in phoenix mode.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Key bindings for navigation to files
|
- Key bindings for navigation to files
|
||||||
|
|
|
@ -112,7 +112,7 @@ may use these settings:
|
||||||
web-mode-attr-indent-offset 2)
|
web-mode-attr-indent-offset 2)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
And if you want to have 2 space indent also for element’s attributes,
|
And if you want to have 2 space indent also for element's attributes,
|
||||||
concatenations and contiguous function calls:
|
concatenations and contiguous function calls:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer makes your Emacs sound like an IBM Selectric typewriter, for those
|
This layer makes your Emacs sound like an IBM Selectric typewriter, for those
|
||||||
moments when your loud, clicky mechanical keyboard is not at hand, yet, you’d
|
moments when your loud, clicky mechanical keyboard is not at hand, yet, you'd
|
||||||
still wish to enjoy the sound.
|
still wish to enjoy the sound.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
|
|
|
@ -90,7 +90,7 @@ to replace the current selection in-place.
|
||||||
chinese-enable-fcitx t)))
|
chinese-enable-fcitx t)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you don’t need to type Chinese in minibuffer, you can temporarily disable fcitx in the minibuffer
|
If you don't need to type Chinese in minibuffer, you can temporarily disable fcitx in the minibuffer
|
||||||
with the following configuration.
|
with the following configuration.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -102,7 +102,7 @@ with the following configuration.
|
||||||
You need to install =fcitx= and =fcitx-remote= on your machine.
|
You need to install =fcitx= and =fcitx-remote= on your machine.
|
||||||
|
|
||||||
***** Mac OS X
|
***** Mac OS X
|
||||||
We don’t have a =fcitx= in OS X yet but we already added an emulation called
|
We don't have a =fcitx= in OS X yet but we already added an emulation called
|
||||||
=fcitx-remote= to make you happy with other Chinese input-methods.
|
=fcitx-remote= to make you happy with other Chinese input-methods.
|
||||||
|
|
||||||
You can install [[https://github.com/CodeFalling/fcitx-remote-for-osx][fcitx-remote-for-osx]] from homebrew.
|
You can install [[https://github.com/CodeFalling/fcitx-remote-for-osx][fcitx-remote-for-osx]] from homebrew.
|
||||||
|
@ -135,7 +135,7 @@ You should set =chinese-enable-youdao-dict= to =t=.
|
||||||
|
|
||||||
*** Set monospaced font size(设置等宽字体)
|
*** Set monospaced font size(设置等宽字体)
|
||||||
If you are mixing Chinese script with Latin script, the text is not perfectly
|
If you are mixing Chinese script with Latin script, the text is not perfectly
|
||||||
aligned in org table. That’s because normally the Chinese font size is not equal
|
aligned in org table. That's because normally the Chinese font size is not equal
|
||||||
to the Latin font size. You could call =spacemacs//set-monospaced-font= with
|
to the Latin font size. You could call =spacemacs//set-monospaced-font= with
|
||||||
your own Chinese font name in =dotspacemacs/user-config= function.
|
your own Chinese font name in =dotspacemacs/user-config= function.
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ whether it is in the enabled list or not (default: =nil=).
|
||||||
It is possible to override or add key bindings, by defining functions named
|
It is possible to override or add key bindings, by defining functions named
|
||||||
=kl/pre-config-<NAME>= and =kl/post-config-<NAME>= in =dotspacemacs/user-init=.
|
=kl/pre-config-<NAME>= and =kl/post-config-<NAME>= in =dotspacemacs/user-init=.
|
||||||
They are called just before and after the actual configuration of the key
|
They are called just before and after the actual configuration of the key
|
||||||
bindings in this layer. *You don’t have to think about when to apply the
|
bindings in this layer. *You don't have to think about when to apply the
|
||||||
configuration by yourself*. =<NAME>= is the name of the configuration you want
|
configuration by yourself*. =<NAME>= is the name of the configuration you want
|
||||||
to customize, they are listed under the [[#configuration][Configuration]] section.
|
to customize, they are listed under the [[#configuration][Configuration]] section.
|
||||||
|
|
||||||
|
@ -91,13 +91,13 @@ only tries to make these changes when the letters are used for *movements*.
|
||||||
The equivalent remapping is also made for uppercase letters, ~CTRL+KEY~,
|
The equivalent remapping is also made for uppercase letters, ~CTRL+KEY~,
|
||||||
~META+KEY~ and leader key bindings such as (~SPC …~), whenever it makes sense.
|
~META+KEY~ and leader key bindings such as (~SPC …~), whenever it makes sense.
|
||||||
|
|
||||||
In some cases the remapped keys won’t follow these conventions, mainly because
|
In some cases the remapped keys won't follow these conventions, mainly because
|
||||||
there are better alternatives, or because some movements don’t make sense.
|
there are better alternatives, or because some movements don't make sense.
|
||||||
|
|
||||||
For example: In the =magit= status buffer, the ~c~ key is bound to =commit= by
|
For example: In the =magit= status buffer, the ~c~ key is bound to =commit= by
|
||||||
default. If we want to follow the conventions, then it should be remapped to
|
default. If we want to follow the conventions, then it should be remapped to
|
||||||
“move left” in the bepo layout, but since operations in =magit= are done line by
|
"move left" in the bepo layout, but since operations in =magit= are done line by
|
||||||
line, then there’s no reason to move left, and we won’t remap the ~c~ key.
|
line, then there's no reason to move left, and we won't remap the ~c~ key.
|
||||||
|
|
||||||
* Keyboard layouts
|
* Keyboard layouts
|
||||||
The following keyboard-layouts are available with this layer:
|
The following keyboard-layouts are available with this layer:
|
||||||
|
@ -105,7 +105,7 @@ The following keyboard-layouts are available with this layer:
|
||||||
** Bepo
|
** Bepo
|
||||||
[[file:img/bepo-logo.png]]
|
[[file:img/bepo-logo.png]]
|
||||||
|
|
||||||
Bepo is a keyboard layout that’s optimized for the French language.
|
Bepo is a keyboard layout that's optimized for the French language.
|
||||||
|
|
||||||
[[file:img/bepo-layout.png]]
|
[[file:img/bepo-layout.png]]
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ The mapping correction is the one proposed for vim on the official Bepo [[http:/
|
||||||
Some Bepo keys are not used in the traditional mapping, mainly because they are
|
Some Bepo keys are not used in the traditional mapping, mainly because they are
|
||||||
not on the =en-us= keyboard layout. They are used as aliases for other
|
not on the =en-us= keyboard layout. They are used as aliases for other
|
||||||
shortcuts:
|
shortcuts:
|
||||||
- Map the unused ~é~ key as an alias for ~w~, it’s more useful in vim mode:
|
- Map the unused ~é~ key as an alias for ~w~, it's more useful in vim mode:
|
||||||
- ~é → w~
|
- ~é → w~
|
||||||
- ~É → W~
|
- ~É → W~
|
||||||
- Map indentation to direct-access keys:
|
- Map indentation to direct-access keys:
|
||||||
|
@ -133,19 +133,19 @@ shortcuts:
|
||||||
|
|
||||||
Some default configurations are also not optimal for vim, so the following
|
Some default configurations are also not optimal for vim, so the following
|
||||||
defaults are changed:
|
defaults are changed:
|
||||||
- Change the =evil-escape= combination to something that’s faster to type, while
|
- Change the =evil-escape= combination to something that's faster to type, while
|
||||||
being nearly nonexistent in French or English words:
|
being nearly nonexistent in French or English words:
|
||||||
- ~fd → gq~
|
- ~fd → gq~
|
||||||
- In =avy=, the keys that select words/lines are remapped to the 8 characters
|
- In =avy=, the keys that select words/lines are remapped to the 8 characters
|
||||||
under the home row fingers:
|
under the home row fingers:
|
||||||
- ~a u i e t s r n~
|
- ~a u i e t s r n~
|
||||||
|
|
||||||
Note: There’s one difference from the wiki version: ~w~ is *not* remapped to
|
Note: There's one difference from the wiki version: ~w~ is *not* remapped to
|
||||||
~C-w~. This avoids having to change its meaning in other modes. Spacemacs
|
~C-w~. This avoids having to change its meaning in other modes. Spacemacs
|
||||||
already provides ~SPC w~ for working with windows.
|
already provides ~SPC w~ for working with windows.
|
||||||
|
|
||||||
** Dvorak
|
** Dvorak
|
||||||
Dvorak is a keyboard layout, that’s optimized for the English language. It
|
Dvorak is a keyboard layout, that's optimized for the English language. It
|
||||||
rearranges the keys, to require less finger movements away from the home row.
|
rearranges the keys, to require less finger movements away from the home row.
|
||||||
|
|
||||||
The most common Dvorak layout is called Dvorak Simplified Keyboard (referred to
|
The most common Dvorak layout is called Dvorak Simplified Keyboard (referred to
|
||||||
|
@ -160,7 +160,7 @@ operating systems.
|
||||||
|
|
||||||
[[file:img/programmer-dvorak-layout.png]]
|
[[file:img/programmer-dvorak-layout.png]]
|
||||||
|
|
||||||
There’s also a sub-layout called [[https://www.kaufmann.no/roland/dvorak/][Programmer Dvorak]]. It reorders the number and
|
There's also a sub-layout called [[https://www.kaufmann.no/roland/dvorak/][Programmer Dvorak]]. It reorders the number and
|
||||||
symbol keys, to make it easier to type common programming symbols, without
|
symbol keys, to make it easier to type common programming symbols, without
|
||||||
having to hold down the shift key. The keys that differ from the /Dvorak
|
having to hold down the shift key. The keys that differ from the /Dvorak
|
||||||
Simplified Keyboard/ are shown in blue.
|
Simplified Keyboard/ are shown in blue.
|
||||||
|
@ -180,7 +180,7 @@ The lost keys are remapped as follows:
|
||||||
|
|
||||||
The =dvorak= variant: uses the home row, which is shifted 1 key to the right of
|
The =dvorak= variant: uses the home row, which is shifted 1 key to the right of
|
||||||
Vims movement keys.
|
Vims movement keys.
|
||||||
- ~h~ doesn’t need to be remapped, it’s already under the index finger.
|
- ~h~ doesn't need to be remapped, it's already under the index finger.
|
||||||
- ~t → j~
|
- ~t → j~
|
||||||
- ~n → k~
|
- ~n → k~
|
||||||
- ~s → l~
|
- ~s → l~
|
||||||
|
@ -209,10 +209,10 @@ This layer offers three flavors of Colemak bindings:
|
||||||
~kl/pre-config-evil~ and ~kl/post-config-evil~ hooks will be run /twice/.
|
~kl/pre-config-evil~ and ~kl/post-config-evil~ hooks will be run /twice/.
|
||||||
|
|
||||||
** Workman
|
** Workman
|
||||||
=Workman= is an English-optimized keyboard layout that’s designed to, among
|
=Workman= is an English-optimized keyboard layout that's designed to, among
|
||||||
other things, reduce finger travel-distance, and balance the load equally
|
other things, reduce finger travel-distance, and balance the load equally
|
||||||
between hands. It is meant to function particularly well in conjunction with
|
between hands. It is meant to function particularly well in conjunction with
|
||||||
ortholinear (’matrix’ or ’grid’) keyboards, such as the one depicted in the
|
ortholinear ('matrix' or 'grid') keyboards, such as the one depicted in the
|
||||||
diagram below. More information can be found in the [[https://en.wikipedia.org/wiki/Keyboard_layout#Workman][Workman section]], of the
|
diagram below. More information can be found in the [[https://en.wikipedia.org/wiki/Keyboard_layout#Workman][Workman section]], of the
|
||||||
wikipedia keyboard layout page.
|
wikipedia keyboard layout page.
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ This layer adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Faces redefined to correctly play with themes.
|
- Faces redefined to correctly play with themes.
|
||||||
- Spacemacs bindings to Agda’s interactive tools.
|
- Spacemacs bindings to Agda's interactive tools.
|
||||||
|
|
||||||
*This layer is in construction, it needs your contributions and bug reports.*
|
*This layer is in construction, it needs your contributions and bug reports.*
|
||||||
|
|
||||||
|
@ -37,9 +37,9 @@ information about setting up =$PATH=, check out the corresponding section in the
|
||||||
FAQ (~SPC h SPC $PATH RET~).
|
FAQ (~SPC h SPC $PATH RET~).
|
||||||
|
|
||||||
By default the =agda-mode= executable bundled with most agda installations is
|
By default the =agda-mode= executable bundled with most agda installations is
|
||||||
used to locate the agda-mode package. If you don’t have it and want to use a
|
used to locate the agda-mode package. If you don't have it and want to use a
|
||||||
local agda-mode package, you can customize the layer variable =agda-mode-path=
|
local agda-mode package, you can customize the layer variable =agda-mode-path=
|
||||||
to your needs. Set it to =nil= if =agda2.el= is already discoverable in Emacs’
|
to your needs. Set it to =nil= if =agda2.el= is already discoverable in Emacs'
|
||||||
load path, otherwise set it to the path at which =agda2.el= can be found. For
|
load path, otherwise set it to the path at which =agda2.el= can be found. For
|
||||||
example,
|
example,
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ example,
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Key bindings
|
* Key bindings
|
||||||
The key bindings of this layer don’t follow the Spacemacs conventions,
|
The key bindings of this layer don't follow the Spacemacs conventions,
|
||||||
we opted to a simple transcription of stock Agda mode key bindings to
|
we opted to a simple transcription of stock Agda mode key bindings to
|
||||||
Spacemacs leader key.
|
Spacemacs leader key.
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ All Agda specific bindings are prefixed with the major-mode leader
|
||||||
| ~SPC m =~ | Show constraints. |
|
| ~SPC m =~ | Show constraints. |
|
||||||
| ~SPC m ?~ | Show all goals. |
|
| ~SPC m ?~ | Show all goals. |
|
||||||
| ~SPC m ,~ | Shows the type of the goal at point and the currect context. |
|
| ~SPC m ,~ | Shows the type of the goal at point and the currect context. |
|
||||||
| ~SPC m .~ | Shows the context, the goal and the given expression’s inferred type. |
|
| ~SPC m .~ | Shows the context, the goal and the given expression's inferred type. |
|
||||||
| ~SPC m a~ | Simple proof search. |
|
| ~SPC m a~ | Simple proof search. |
|
||||||
| ~SPC m b~ | Go to the previous goal, if any and activate goal-navigation transient-state. |
|
| ~SPC m b~ | Go to the previous goal, if any and activate goal-navigation transient-state. |
|
||||||
| ~SPC m c~ | Refine the pattern variables given in the goal. |
|
| ~SPC m c~ | Refine the pattern variables given in the goal. |
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
Alda is a music composition language allowing music to easily be written and
|
Alda is a music composition language allowing music to easily be written and
|
||||||
edited in a text file.
|
edited in a text file.
|
||||||
|
|
||||||
This layer adds key bindings for =alda-mode=’s functions, which allow Alda code
|
This layer adds key bindings for =alda-mode='s functions, which allow Alda code
|
||||||
to be interpreted and played by the running Alda server. It will also start the
|
to be interpreted and played by the running Alda server. It will also start the
|
||||||
Alda server if it is not running.
|
Alda server if it is not running.
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or
|
Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or
|
||||||
[[http://ahkscript.org][AutoHotkey_L]].
|
[[http://ahkscript.org][AutoHotkey_L]].
|
||||||
|
|
||||||
Using a combined implementation of ahk-mode from Xah Lee’s =xahk-mode=
|
Using a combined implementation of ahk-mode from Xah Lee's =xahk-mode=
|
||||||
and Robert Widhopf-Fenk’s =autohotkey-mode=. Updated with the latest
|
and Robert Widhopf-Fenk's =autohotkey-mode=. Updated with the latest
|
||||||
ahk and ahk_l commands found in the latest revision of
|
ahk and ahk_l commands found in the latest revision of
|
||||||
[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]].
|
[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]].
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ In a Bib(La)TeX file, the following key bindings are added:
|
||||||
| ~SPC m i~ | Insert new entry |
|
| ~SPC m i~ | Insert new entry |
|
||||||
| ~SPC m s~ | Sort entry |
|
| ~SPC m s~ | Sort entry |
|
||||||
| ~SPC m h~ | Various actions on entry |
|
| ~SPC m h~ | Various actions on entry |
|
||||||
| ~SPC m l a~ | Lookup and add arXiv paper (don’t get PDF) |
|
| ~SPC m l a~ | Lookup and add arXiv paper (don't get PDF) |
|
||||||
| ~SPC m l A~ | Lookup and add arXiv paper (download PDF) |
|
| ~SPC m l A~ | Lookup and add arXiv paper (download PDF) |
|
||||||
| ~SPC m l d~ | Lookup and add paper by DOI |
|
| ~SPC m l d~ | Lookup and add paper by DOI |
|
||||||
| ~SPC m l i~ | Lookup and add book by ISBN |
|
| ~SPC m l i~ | Lookup and add book by ISBN |
|
||||||
|
|
|
@ -176,7 +176,7 @@ specifying an explicit =c-c++-lsp-cache-dir=. Setting this value to a relative p
|
||||||
subdirectory of your project root.
|
subdirectory of your project root.
|
||||||
|
|
||||||
There are other initialization options such as the number of indexer threads, cache serialization format.
|
There are other initialization options such as the number of indexer threads, cache serialization format.
|
||||||
They have good default values. See =config.el= of the layer and the backends’ respective homepages for more info.
|
They have good default values. See =config.el= of the layer and the backends' respective homepages for more info.
|
||||||
- [[https://github.com/cquery-project/cquery/wiki/Emacs][Emacs section of =cquery= wiki]]
|
- [[https://github.com/cquery-project/cquery/wiki/Emacs][Emacs section of =cquery= wiki]]
|
||||||
- [[https://github.com/MaskRay/ccls/wiki/Emacs][Emacs section of =ccls= wiki]]
|
- [[https://github.com/MaskRay/ccls/wiki/Emacs][Emacs section of =ccls= wiki]]
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ to load a projects =.clang_complete= file, which is just a text file with one
|
||||||
clang flag per line, a format also used by other text editor clang plugins.
|
clang flag per line, a format also used by other text editor clang plugins.
|
||||||
|
|
||||||
Not only does this allow proper autocomplete on projects with extra includes and
|
Not only does this allow proper autocomplete on projects with extra includes and
|
||||||
flags, but there is also support for flycheck so that it doesn’t complain about
|
flags, but there is also support for flycheck so that it doesn't complain about
|
||||||
missing header files.
|
missing header files.
|
||||||
|
|
||||||
** Enable google-set-c-style
|
** Enable google-set-c-style
|
||||||
|
@ -238,8 +238,8 @@ If you have clang enabled with =clang-format= as described earlier in this page
|
||||||
you may not have a lot of neeed for =google-set-c-style= if you are already
|
you may not have a lot of neeed for =google-set-c-style= if you are already
|
||||||
using a mode based on Google mode for most of your projects.
|
using a mode based on Google mode for most of your projects.
|
||||||
|
|
||||||
However, if you don’t have (or want) =clang-format=, or if you have to do a lot
|
However, if you don't have (or want) =clang-format=, or if you have to do a lot
|
||||||
[[https://www.emacswiki.org/emacs/TrampMode][Tramp]] remote editing on systems that don’t have =clang-format= installed, you
|
[[https://www.emacswiki.org/emacs/TrampMode][Tramp]] remote editing on systems that don't have =clang-format= installed, you
|
||||||
may want =google-c-style= enabled and added to your common hooks.
|
may want =google-c-style= enabled and added to your common hooks.
|
||||||
|
|
||||||
To get =google-c-style= actually install itself into your C/C++ common hooks,
|
To get =google-c-style= actually install itself into your C/C++ common hooks,
|
||||||
|
|
|
@ -225,7 +225,7 @@ When enabled the symbol =🆂= should be displayed in the mode-line.
|
||||||
* Key bindings
|
* Key bindings
|
||||||
** Working with clojure files (barfage, slurpage & more)
|
** Working with clojure files (barfage, slurpage & more)
|
||||||
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
||||||
supports slurpage, barfage and more tools you’ll likely want when working with
|
supports slurpage, barfage and more tools you'll likely want when working with
|
||||||
lisp.
|
lisp.
|
||||||
|
|
||||||
As this state works the same for all files, the documentation is in global
|
As this state works the same for all files, the documentation is in global
|
||||||
|
@ -331,7 +331,7 @@ As this state works the same for all files, the documentation is in global
|
||||||
| ~SPC m d r~ | reload namespaces |
|
| ~SPC m d r~ | reload namespaces |
|
||||||
| ~SPC m d s~ | show what is currently traced |
|
| ~SPC m d s~ | show what is currently traced |
|
||||||
| ~SPC m d S~ | show what is currently traced in current namespace |
|
| ~SPC m d S~ | show what is currently traced in current namespace |
|
||||||
| ~SPC m d t b~ | trace current file’s namespace |
|
| ~SPC m d t b~ | trace current file's namespace |
|
||||||
| ~SPC m d t d~ | disable existing trace on current function |
|
| ~SPC m d t d~ | disable existing trace on current function |
|
||||||
| ~SPC m d t D~ | disable existing trace on all functions |
|
| ~SPC m d t D~ | disable existing trace on all functions |
|
||||||
| ~SPC m d t e~ | enable existing trace on current function |
|
| ~SPC m d t e~ | enable existing trace on current function |
|
||||||
|
@ -531,6 +531,6 @@ In general, ~q~ should always quit the popped up buffer.
|
||||||
* Development Notes
|
* Development Notes
|
||||||
** Indentation
|
** Indentation
|
||||||
With a [[https://github.com/clojure-emacs/cider/blob/master/doc/indent_spec.md][new]] functionality of Cider to read the custom indentation rules from the
|
With a [[https://github.com/clojure-emacs/cider/blob/master/doc/indent_spec.md][new]] functionality of Cider to read the custom indentation rules from the
|
||||||
var’s metadata, it is better for consistency reasons to not add the custom
|
var's metadata, it is better for consistency reasons to not add the custom
|
||||||
indentation rules to Spacemacs, but to add them to the metadata of those
|
indentation rules to Spacemacs, but to add them to the metadata of those
|
||||||
specific vars.
|
specific vars.
|
||||||
|
|
|
@ -72,7 +72,7 @@ When enabled the symbol =🆂= should be displayed in the mode-line.
|
||||||
* Key bindings
|
* Key bindings
|
||||||
** Working with lisp files (barfage, slurpage & more)
|
** Working with lisp files (barfage, slurpage & more)
|
||||||
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
||||||
supports slurpage, barfage and more tools you’ll likely want when working with
|
supports slurpage, barfage and more tools you'll likely want when working with
|
||||||
lisp.
|
lisp.
|
||||||
|
|
||||||
As this state works the same for all files, the documentation is in global
|
As this state works the same for all files, the documentation is in global
|
||||||
|
@ -88,7 +88,7 @@ As this state works the same for all files, the documentation is in global
|
||||||
| ~SPC m h h~ | Describe symbol at point |
|
| ~SPC m h h~ | Describe symbol at point |
|
||||||
| ~SPC m h i~ | Inspect definition |
|
| ~SPC m h i~ | Inspect definition |
|
||||||
| ~SPC m h H~ | Hyperspec lookup symbol at point |
|
| ~SPC m h H~ | Hyperspec lookup symbol at point |
|
||||||
| ~SPC m h p~ | Browse apropos results for a package’s exported symbols |
|
| ~SPC m h p~ | Browse apropos results for a package's exported symbols |
|
||||||
| ~SPC m h t~ | Toggle tracing of the function at point |
|
| ~SPC m h t~ | Toggle tracing of the function at point |
|
||||||
| ~SPC m h T~ | Untrace all functions |
|
| ~SPC m h T~ | Untrace all functions |
|
||||||
| ~SPC m h <~ | Show all known callers |
|
| ~SPC m h <~ | Show all known callers |
|
||||||
|
|
|
@ -82,7 +82,7 @@ font, or disable the feature by adding the following snippet to the your
|
||||||
| ~SPC m h E~ | Browse all available documentation for errors |
|
| ~SPC m h E~ | Browse all available documentation for errors |
|
||||||
|
|
||||||
** Prover queries
|
** Prover queries
|
||||||
The mnemonic for =a= is “ask”.
|
The mnemonic for =a= is "ask".
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|---------------+---------------------------------------------|
|
|---------------+---------------------------------------------|
|
||||||
|
@ -92,7 +92,7 @@ The mnemonic for =a= is “ask”.
|
||||||
| ~SPC m a B~ | About (showing all) |
|
| ~SPC m a B~ | About (showing all) |
|
||||||
| ~SPC m a c~ | Check |
|
| ~SPC m a c~ | Check |
|
||||||
| ~SPC m a C~ | Check (showing all) |
|
| ~SPC m a C~ | Check (showing all) |
|
||||||
| ~SPC m a f~ | Search (mnemonic: “find theorems”) |
|
| ~SPC m a f~ | Search (mnemonic: "find theorems") |
|
||||||
| ~SPC m a i b~ | About (showing implicits) |
|
| ~SPC m a i b~ | About (showing implicits) |
|
||||||
| ~SPC m a i c~ | Check (showing implicits) |
|
| ~SPC m a i c~ | Check (showing implicits) |
|
||||||
| ~SPC m a i i~ | Print (showing implicits) |
|
| ~SPC m a i i~ | Print (showing implicits) |
|
||||||
|
|
|
@ -73,7 +73,7 @@ Then run in your shell:
|
||||||
|
|
||||||
For more info about mix [[http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html][see]].
|
For more info about mix [[http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html][see]].
|
||||||
|
|
||||||
You can tell flycheck-credo to call credo with the ’--strict’ argument.
|
You can tell flycheck-credo to call credo with the '--strict' argument.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(setq flycheck-elixir-credo-strict t)
|
(setq flycheck-elixir-credo-strict t)
|
||||||
|
@ -121,7 +121,7 @@ contents:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Spacemacs marks the variable =elixir-enable-compilation-checking= as safe so
|
Spacemacs marks the variable =elixir-enable-compilation-checking= as safe so
|
||||||
Emacs won’t ask you if the variable is safe whenever an elixir file is opened.
|
Emacs won't ask you if the variable is safe whenever an elixir file is opened.
|
||||||
|
|
||||||
Remember that you can verify the flycheck checkers status with ~SPC e v~.
|
Remember that you can verify the flycheck checkers status with ~SPC e v~.
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ To build from source, see instructions here:
|
||||||
cursor and provide support for auto-completion, but it is not part of the
|
cursor and provide support for auto-completion, but it is not part of the
|
||||||
standard elm-platform.
|
standard elm-platform.
|
||||||
|
|
||||||
Both the “company” and “auto-complete” backends are supported, but this layer
|
Both the "company" and "auto-complete" backends are supported, but this layer
|
||||||
is configured with company.
|
is configured with company.
|
||||||
|
|
||||||
To install =elm-oracle=, install =node.js= and =npm=, then
|
To install =elm-oracle=, install =node.js= and =npm=, then
|
||||||
|
@ -136,7 +136,7 @@ Alternatively, to preview from buffer, press ~C-u C-c C-n~ (or ~SPC m R
|
||||||
n~). To preview in debug mode, prefix with ~C-u~ (or ~SPC u~).
|
n~). To preview in debug mode, prefix with ~C-u~ (or ~SPC u~).
|
||||||
|
|
||||||
By default, =elm-reactor= with launch with its own generated index.html. To use
|
By default, =elm-reactor= with launch with its own generated index.html. To use
|
||||||
a custom html, you’d need to load the debuger excplictly and use an http daemon
|
a custom html, you'd need to load the debuger excplictly and use an http daemon
|
||||||
to serve your custom file.
|
to serve your custom file.
|
||||||
|
|
||||||
If needed, default values for host and port used by for the elm-reactor server
|
If needed, default values for host and port used by for the elm-reactor server
|
||||||
|
|
|
@ -58,7 +58,7 @@ You can also exclude the =auto-compile= package.
|
||||||
|
|
||||||
* Working with lisp files (barfage, slurpage & more)
|
* Working with lisp files (barfage, slurpage & more)
|
||||||
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
Spacemacs comes with a special =lisp-state= for working with lisp code that
|
||||||
supports slurpage, barfage and more tools you’ll likely want when working with
|
supports slurpage, barfage and more tools you'll likely want when working with
|
||||||
lisp.
|
lisp.
|
||||||
|
|
||||||
As this state works the same for all files, the documentation is in global
|
As this state works the same for all files, the documentation is in global
|
||||||
|
|
|
@ -108,7 +108,7 @@ Helpers that provide further interaction with the REPL.
|
||||||
| ~SPC m r r~ | reload ESS process |
|
| ~SPC m r r~ | reload ESS process |
|
||||||
| ~SPC m r s~ | set source style |
|
| ~SPC m r s~ | set source style |
|
||||||
| ~SPC m r t~ | build tags for directory |
|
| ~SPC m r t~ | build tags for directory |
|
||||||
| ~SPC m r w~ | set “width” option |
|
| ~SPC m r w~ | set "width" option |
|
||||||
|
|
||||||
** R devtools
|
** R devtools
|
||||||
Interaction with the =R= =devtools= package.
|
Interaction with the =R= =devtools= package.
|
||||||
|
|
|
@ -30,7 +30,7 @@ This layer adds extensive support for go to Spacemacs.
|
||||||
- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]]
|
- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]]
|
||||||
- Refactoring with [[http://gorefactor.org/][godoctor]]
|
- Refactoring with [[http://gorefactor.org/][godoctor]]
|
||||||
- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]]
|
- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]]
|
||||||
- Linting with flycheck’s built-in checkers or flycheck-gometalinter
|
- Linting with flycheck's built-in checkers or flycheck-gometalinter
|
||||||
- Coverage profile visualization
|
- Coverage profile visualization
|
||||||
- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
||||||
- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]]
|
- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]]
|
||||||
|
@ -173,7 +173,7 @@ the layer variable =go-tab-width=, e.g.
|
||||||
(go :variables go-tab-width 4)
|
(go :variables go-tab-width 4)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you’re using =.editorconfig= in your project, set the value to nil to avoid
|
If you're using =.editorconfig= in your project, set the value to nil to avoid
|
||||||
confliction, e.g.
|
confliction, e.g.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -181,7 +181,7 @@ confliction, e.g.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Tests
|
** Tests
|
||||||
If you’re using =gocheck= in your project you can use the
|
If you're using =gocheck= in your project you can use the
|
||||||
=go-use-gocheck-for-testing= variable to enable suite testing and to get single
|
=go-use-gocheck-for-testing= variable to enable suite testing and to get single
|
||||||
function testing to work.
|
function testing to work.
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ To provide additional arguments to go test, specify =go-use-test-args=.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Guru
|
** Guru
|
||||||
Go Oracle has been deprecated as of October 1, 2016, it’s replacement is =go-guru=.
|
Go Oracle has been deprecated as of October 1, 2016, it's replacement is =go-guru=.
|
||||||
|
|
||||||
If you would like to use the =goguru= bindings in your work, you will need to
|
If you would like to use the =goguru= bindings in your work, you will need to
|
||||||
install it, and in your project you will need to set the scope with ~SPC m f o~.
|
install it, and in your project you will need to set the scope with ~SPC m f o~.
|
||||||
|
@ -242,7 +242,7 @@ You have a few options to ensure you always get up to date suggestions:
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|---------------+---------------------------------------------------------------------------------------|
|
|---------------+---------------------------------------------------------------------------------------|
|
||||||
| ~SPC m =~ | run “go fmt” |
|
| ~SPC m =~ | run "go fmt" |
|
||||||
| ~SPC m e b~ | go-play buffer |
|
| ~SPC m e b~ | go-play buffer |
|
||||||
| ~SPC m e d~ | download go-play snippet |
|
| ~SPC m e d~ | download go-play snippet |
|
||||||
| ~SPC m e r~ | go-play region |
|
| ~SPC m e r~ | go-play region |
|
||||||
|
@ -254,14 +254,14 @@ You have a few options to ensure you always get up to date suggestions:
|
||||||
| ~SPC m i g~ | goto imports |
|
| ~SPC m i g~ | goto imports |
|
||||||
| ~SPC m i r~ | remove unused import |
|
| ~SPC m i r~ | remove unused import |
|
||||||
| ~SPC m r n~ | go rename |
|
| ~SPC m r n~ | go rename |
|
||||||
| ~SPC m t P~ | run “go test” for the current package and all packages under it |
|
| ~SPC m t P~ | run "go test" for the current package and all packages under it |
|
||||||
| ~SPC m t g f~ | generate tests for all exported functions |
|
| ~SPC m t g f~ | generate tests for all exported functions |
|
||||||
| ~SPC m t g F~ | generate tests for all functions |
|
| ~SPC m t g F~ | generate tests for all functions |
|
||||||
| ~SPC m t g g~ | DWIM generate test for the function in the active region |
|
| ~SPC m t g g~ | DWIM generate test for the function in the active region |
|
||||||
| ~SPC m t p~ | run “go test” for the current package |
|
| ~SPC m t p~ | run "go test" for the current package |
|
||||||
| ~SPC m t s~ | run “go test” for the suite you’re currently in (requires gocheck) |
|
| ~SPC m t s~ | run "go test" for the suite you're currently in (requires gocheck) |
|
||||||
| ~SPC m t t~ | run “go test” for the function you’re currently in (while you’re in a _.test.go file) |
|
| ~SPC m t t~ | run "go test" for the function you're currently in (while you're in a _.test.go file) |
|
||||||
| ~SPC m x x~ | run “go run” for the current ’main’ package |
|
| ~SPC m x x~ | run "go run" for the current 'main' package |
|
||||||
|
|
||||||
** Go Guru
|
** Go Guru
|
||||||
|
|
||||||
|
|
|
@ -93,11 +93,11 @@ First of all, make sure that your =$PATH= contains the installation path for
|
||||||
Haskell tools like =ghc=, =ghci= etc. It depends on how you have installed
|
Haskell tools like =ghc=, =ghci= etc. It depends on how you have installed
|
||||||
=ghc=, but you can always check it by running =which ghc= in your terminal.
|
=ghc=, but you can always check it by running =which ghc= in your terminal.
|
||||||
=Stack= users should only add the installation path of =stack= itself. Usually
|
=Stack= users should only add the installation path of =stack= itself. Usually
|
||||||
it’s =~/.local/bin=.
|
it's =~/.local/bin=.
|
||||||
|
|
||||||
Then make sure that your =$PATH= contains the installation path for the =cabal=
|
Then make sure that your =$PATH= contains the installation path for the =cabal=
|
||||||
packages. If you are using =cabal= it should be =~/.cabal/bin= or
|
packages. If you are using =cabal= it should be =~/.cabal/bin= or
|
||||||
=~/Library/Haskell/bin= (for ’Haskell for Mac’ users). If you are using =stack=
|
=~/Library/Haskell/bin= (for 'Haskell for Mac' users). If you are using =stack=
|
||||||
then it should be =~/.local/bin=.
|
then it should be =~/.local/bin=.
|
||||||
|
|
||||||
For information about setting up =$PATH=, check out the corresponding section in
|
For information about setting up =$PATH=, check out the corresponding section in
|
||||||
|
@ -105,11 +105,11 @@ the FAQ (~SPC h SPC $PATH RET~).
|
||||||
|
|
||||||
** Completion support
|
** Completion support
|
||||||
This layer provides several completion backends - =intero=, =dante=, =ghci=,
|
This layer provides several completion backends - =intero=, =dante=, =ghci=,
|
||||||
=ghc-mod=, and =lsp=. =ghci= (=company-ghci=) is used by default, because it doesn’t
|
=ghc-mod=, and =lsp=. =ghci= (=company-ghci=) is used by default, because it doesn't
|
||||||
require any dependencies, and it works with both =stack= and pure =cabal=
|
require any dependencies, and it works with both =stack= and pure =cabal=
|
||||||
projects. The completion backend can be changed manually, by setting the value
|
projects. The completion backend can be changed manually, by setting the value
|
||||||
of the =haskell-completion-backend= variable. Note that in order to enable
|
of the =haskell-completion-backend= variable. Note that in order to enable
|
||||||
completion, you’ll have to enable the =auto-completion= layer as well.
|
completion, you'll have to enable the =auto-completion= layer as well.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq-default dotspacemacs-configuration-layers
|
(setq-default dotspacemacs-configuration-layers
|
||||||
|
@ -148,7 +148,7 @@ manually, by calling =stack install intero=, but this step is optional as
|
||||||
case-splitting and much more. In order to use it, you need to install the
|
case-splitting and much more. In order to use it, you need to install the
|
||||||
executable with =cabal install ghc-mod= (or the =stack= equivalent).
|
executable with =cabal install ghc-mod= (or the =stack= equivalent).
|
||||||
|
|
||||||
=Stack= users also should make sure that =dist/setup-config= doesn’t exist in
|
=Stack= users also should make sure that =dist/setup-config= doesn't exist in
|
||||||
the project root. As it will confuse =ghc-mod=. For more troubleshooting,
|
the project root. As it will confuse =ghc-mod=. For more troubleshooting,
|
||||||
checkout this [[https://github.com/DanielG/ghc-mod/wiki#user-content-known-issues-related-to-stack][document]].
|
checkout this [[https://github.com/DanielG/ghc-mod/wiki#user-content-known-issues-related-to-stack][document]].
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ The Haskell layer supports some extra features, which can be enabled through the
|
||||||
layer variables.
|
layer variables.
|
||||||
|
|
||||||
*** structured-haskell-mode
|
*** structured-haskell-mode
|
||||||
Currently there is no support for [[https://github.com/chrisdone/structured-haskell-mode][structured-haskell-mode]], since it doesn’t play
|
Currently there is no support for [[https://github.com/chrisdone/structured-haskell-mode][structured-haskell-mode]], since it doesn't play
|
||||||
very well with non-emacs editing styles ([[https://github.com/chrisdone/structured-haskell-mode/issues/81][structured-haskell-mode/#81]]). Emacs
|
very well with non-emacs editing styles ([[https://github.com/chrisdone/structured-haskell-mode/issues/81][structured-haskell-mode/#81]]). Emacs
|
||||||
editing style users can easily enable it by adding =structured-haskell-mode= to
|
editing style users can easily enable it by adding =structured-haskell-mode= to
|
||||||
the list of =dotspacemacs-additional-packages= in your =.spacemacs= file. For
|
the list of =dotspacemacs-additional-packages= in your =.spacemacs= file. For
|
||||||
|
@ -345,7 +345,7 @@ buffer, =module Foo where= is inserted. On a function without signature, the
|
||||||
inferred type is inserted. On a symbol =foo= without definition, =foo =
|
inferred type is inserted. On a symbol =foo= without definition, =foo =
|
||||||
undefined= is inserted or a proper module is imported. ~SPC m m u~ inserts a
|
undefined= is inserted or a proper module is imported. ~SPC m m u~ inserts a
|
||||||
hole in this case. On a variable, the case is split. When checking with hlint,
|
hole in this case. On a variable, the case is split. When checking with hlint,
|
||||||
the original code is replaced with hlint’s suggestion if possible.
|
the original code is replaced with hlint's suggestion if possible.
|
||||||
|
|
||||||
** Intero
|
** Intero
|
||||||
This command is only available when intero is enabled.
|
This command is only available when intero is enabled.
|
||||||
|
@ -366,27 +366,27 @@ errors and warnings in the code. Those components are:
|
||||||
|
|
||||||
Since all of these components can be active at the same time, it can be tricky to
|
Since all of these components can be active at the same time, it can be tricky to
|
||||||
know which component is displaying which message, especially when they disagree,
|
know which component is displaying which message, especially when they disagree,
|
||||||
or if one isn’t working. Only flycheck errors (ghc and hlint) are displayed in
|
or if one isn't working. Only flycheck errors (ghc and hlint) are displayed in
|
||||||
the error list and can be navigated between, using the standard Spacemacs key
|
the error list and can be navigated between, using the standard Spacemacs key
|
||||||
bindings (under ~SPC e~) even though errors from other modes might highlight the
|
bindings (under ~SPC e~) even though errors from other modes might highlight the
|
||||||
actual buffer.
|
actual buffer.
|
||||||
|
|
||||||
** Flycheck
|
** Flycheck
|
||||||
This is the standard Spacemacs way of syntax checking, and it’s also the most
|
This is the standard Spacemacs way of syntax checking, and it's also the most
|
||||||
elaborate. You need to install the syntax-checking layer first. Please read the
|
elaborate. You need to install the syntax-checking layer first. Please read the
|
||||||
layer’s [[https://github.com/syl20bnr/spacemacs/tree/develop/layers/+checkers/syntax-checking][documentation]] on how to interact with flycheck.
|
layer's [[https://github.com/syl20bnr/spacemacs/tree/develop/layers/+checkers/syntax-checking][documentation]] on how to interact with flycheck.
|
||||||
|
|
||||||
Flycheck has different Haskell checkers: =haskell-ghc=, =haskell-stack-ghc= and
|
Flycheck has different Haskell checkers: =haskell-ghc=, =haskell-stack-ghc= and
|
||||||
=haskell-hlint=. Normally it can detect the best one to use automatically, but
|
=haskell-hlint=. Normally it can detect the best one to use automatically, but
|
||||||
if it doesn’t work, then you can change it with ~SPC e s~.
|
if it doesn't work, then you can change it with ~SPC e s~.
|
||||||
|
|
||||||
** HLint
|
** HLint
|
||||||
HLint is a linter for Haskell. It doesn’t detect errors (as long as it can parse
|
HLint is a linter for Haskell. It doesn't detect errors (as long as it can parse
|
||||||
the file) but bad coding style and code smell. The HLint checker is called
|
the file) but bad coding style and code smell. The HLint checker is called
|
||||||
*after* the flycheck GHC checker.
|
*after* the flycheck GHC checker.
|
||||||
|
|
||||||
** ghc-mod
|
** ghc-mod
|
||||||
Ghc-mod, when enabled, also does syntax checking. It doesn’t highlight errors,
|
Ghc-mod, when enabled, also does syntax checking. It doesn't highlight errors,
|
||||||
but instead displays an exclamation point in the fringe. You can navigate
|
but instead displays an exclamation point in the fringe. You can navigate
|
||||||
between errors using =ghc-goto-next-error= (~M-n~) and =ghc-goto-prev-error=
|
between errors using =ghc-goto-next-error= (~M-n~) and =ghc-goto-prev-error=
|
||||||
(~M-p~).
|
(~M-p~).
|
||||||
|
@ -399,7 +399,7 @@ error) or using =haskell-goto-next-error= (~M-n~) and =haskell-goto-prev-error=
|
||||||
|
|
||||||
** Flymake
|
** Flymake
|
||||||
An alternative to syntax checking is to build your projects with
|
An alternative to syntax checking is to build your projects with
|
||||||
=flymake-compile=. It doesn’t highlight errors in the buffer, but it’s more
|
=flymake-compile=. It doesn't highlight errors in the buffer, but it's more
|
||||||
reliable. The error navigation is similar to interactive haskell-mode.
|
reliable. The error navigation is similar to interactive haskell-mode.
|
||||||
|
|
||||||
** Troubleshooting
|
** Troubleshooting
|
||||||
|
@ -426,8 +426,8 @@ Available options are:
|
||||||
- stack-ghci
|
- stack-ghci
|
||||||
|
|
||||||
** The REPL is stuck
|
** The REPL is stuck
|
||||||
Make sure that there’s a space between the REPL’s =λ>= prompt and the cursor.
|
Make sure that there's a space between the REPL's =λ>= prompt and the cursor.
|
||||||
When there is no space, then the REPL will behave as if it’s stuck. Usually,
|
When there is no space, then the REPL will behave as if it's stuck. Usually,
|
||||||
when you enter normal state, the cursor moves backwards by one character, so there
|
when you enter normal state, the cursor moves backwards by one character, so there
|
||||||
is no required space when you switch to insert mode. There is a possible
|
is no required space when you switch to insert mode. There is a possible
|
||||||
workaround - just add the following snippet to your =dotspacemacs/user-config=
|
workaround - just add the following snippet to your =dotspacemacs/user-config=
|
||||||
|
@ -441,7 +441,7 @@ function:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
It makes the cursor stay in the right place in the REPL buffer when you enter
|
It makes the cursor stay in the right place in the REPL buffer when you enter
|
||||||
normal state. Which in most cases helps you to avoid the problem with ’stuck’
|
normal state. Which in most cases helps you to avoid the problem with 'stuck'
|
||||||
REPL.
|
REPL.
|
||||||
|
|
||||||
Also, some users might want to start the REPL in insert mode. This is done by
|
Also, some users might want to start the REPL in insert mode. This is done by
|
||||||
|
@ -455,23 +455,23 @@ placing the following snippet in your =dotspacemacs/user-config= function:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** I am using =stack= and =ghc-mod=, but =ghc-mod= doesn't work
|
** I am using =stack= and =ghc-mod=, but =ghc-mod= doesn't work
|
||||||
Make sure that a =dist= directory doesn’t exist in your project root. If it
|
Make sure that a =dist= directory doesn't exist in your project root. If it
|
||||||
exists, just remove it and try again.
|
exists, just remove it and try again.
|
||||||
|
|
||||||
** =ghc-mod= doesn't work
|
** =ghc-mod= doesn't work
|
||||||
First of all - make sure that the version of =ghc= matches the version of =ghc=
|
First of all - make sure that the version of =ghc= matches the version of =ghc=
|
||||||
that was used to build =ghc-mod=. To get the latter, call =ghc-mod --version= in
|
that was used to build =ghc-mod=. To get the latter, call =ghc-mod --version= in
|
||||||
the terminal. If they don’t match then you’ll have to rebuild =ghc-mod=.
|
the terminal. If they don't match then you'll have to rebuild =ghc-mod=.
|
||||||
|
|
||||||
=Stack= provides the ability to use different =ghc= versions across different
|
=Stack= provides the ability to use different =ghc= versions across different
|
||||||
projects. If you’re using this feature, then you’ll have to rebuild =ghc-mod=
|
projects. If you're using this feature, then you'll have to rebuild =ghc-mod=
|
||||||
quite often. If you only use =ghc-mod= for completion, and don’t want to rebuild
|
quite often. If you only use =ghc-mod= for completion, and don't want to rebuild
|
||||||
=ghc-mod= every time you switch projects, then you’d better disable =ghc-mod=
|
=ghc-mod= every time you switch projects, then you'd better disable =ghc-mod=
|
||||||
support, so that =company-ghci= will be used for completion.
|
support, so that =company-ghci= will be used for completion.
|
||||||
|
|
||||||
The second thing to do if it’s still not working - is to call =ghc-mod debug= in
|
The second thing to do if it's still not working - is to call =ghc-mod debug= in
|
||||||
the root of the project that you’re currently working on. Make sure that it
|
the root of the project that you're currently working on. Make sure that it
|
||||||
doesn’t show any errors. If there are errors that you can’t solve - then it’s
|
doesn't show any errors. If there are errors that you can't solve - then it's
|
||||||
better to report them [[https://github.com/DanielG/ghc-mod][upstream]].
|
better to report them [[https://github.com/DanielG/ghc-mod][upstream]].
|
||||||
|
|
||||||
** Indentation doesn't reset when pressing return after an empty line
|
** Indentation doesn't reset when pressing return after an empty line
|
||||||
|
@ -493,24 +493,24 @@ following snippet into your =dotspacemacs/user-config= function.
|
||||||
|
|
||||||
** Flycheck displays HLint warnings but not errors
|
** Flycheck displays HLint warnings but not errors
|
||||||
The HLint checker is called *after* the normal flycheck checker, even if the
|
The HLint checker is called *after* the normal flycheck checker, even if the
|
||||||
checker fails. Check the [[#flycheck-doesnt-work][Flycheck doesn’t work]] section.
|
checker fails. Check the [[#flycheck-doesnt-work][Flycheck doesn't work]] section.
|
||||||
|
|
||||||
** I can see highlighted errors but they don't appear in the error list
|
** I can see highlighted errors but they don't appear in the error list
|
||||||
The error list is only set by flycheck. You are probably seeing errors
|
The error list is only set by flycheck. You are probably seeing errors
|
||||||
highlighted by either ghc-mode or haskell-mode. Check the [[#flycheck-doesnt-work][Flycheck doesn’t work]]
|
highlighted by either ghc-mode or haskell-mode. Check the [[#flycheck-doesnt-work][Flycheck doesn't work]]
|
||||||
section.
|
section.
|
||||||
|
|
||||||
** Flycheck doesn't work
|
** Flycheck doesn't work
|
||||||
You can use the =flycheck-compile= command to check what’s wrong with flycheck.
|
You can use the =flycheck-compile= command to check what's wrong with flycheck.
|
||||||
This will show you the exact command line that’s used, and its output.
|
This will show you the exact command line that's used, and its output.
|
||||||
|
|
||||||
If you are using =stack=, check the [[#flycheck-doesnt-work-with-stack][Flycheck doesn’t work with =stack=]] section.
|
If you are using =stack=, check the [[#flycheck-doesnt-work-with-stack][Flycheck doesn't work with =stack=]] section.
|
||||||
|
|
||||||
** Flycheck doesn't work with =stack=
|
** Flycheck doesn't work with =stack=
|
||||||
First check that flycheck uses the correct checker, and all the paths are
|
First check that flycheck uses the correct checker, and all the paths are
|
||||||
properly configured using =flycheck-verify-setup= (~SPC e v~). You can force the
|
properly configured using =flycheck-verify-setup= (~SPC e v~). You can force the
|
||||||
checker with =flycheck-select-checker= (~SPC e s~) to ensure that it uses
|
checker with =flycheck-select-checker= (~SPC e s~) to ensure that it uses
|
||||||
=haskell-stack-ghc=. If it still doesn’t work, then it could be one of the
|
=haskell-stack-ghc=. If it still doesn't work, then it could be one of the
|
||||||
following problems:
|
following problems:
|
||||||
- The =stack= build directory is wrong
|
- The =stack= build directory is wrong
|
||||||
- The project root is not set properly
|
- The project root is not set properly
|
||||||
|
@ -519,24 +519,24 @@ following problems:
|
||||||
The path to the build directory, which contains some generated files, is
|
The path to the build directory, which contains some generated files, is
|
||||||
normally under =.stack-work/install/<os>/Cabal-<version>/build=.
|
normally under =.stack-work/install/<os>/Cabal-<version>/build=.
|
||||||
|
|
||||||
However the version of the cabal library that’s used by =stack= to generate the
|
However the version of the cabal library that's used by =stack= to generate the
|
||||||
directory name is not the version of the cabal library that’s installed by
|
directory name is not the version of the cabal library that's installed by
|
||||||
=stack= but rather the version of cabal that’s associated to the GHC version.
|
=stack= but rather the version of cabal that's associated to the GHC version.
|
||||||
This error can happen after upgrading cabal or cabal-install. To check if this
|
This error can happen after upgrading cabal or cabal-install. To check if this
|
||||||
is the problem, compare the path name of the build path that’s used by flycheck
|
is the problem, compare the path name of the build path that's used by flycheck
|
||||||
using =flycheck-compile= and compare it to the actual path in the =.stack-work=
|
using =flycheck-compile= and compare it to the actual path in the =.stack-work=
|
||||||
directory. If they are different, then you’ll need to reinstall ghc using the
|
directory. If they are different, then you'll need to reinstall ghc using the
|
||||||
command =stack setup --upgrade-cabal=.
|
command =stack setup --upgrade-cabal=.
|
||||||
|
|
||||||
*** The Project root directory is not set properly
|
*** The Project root directory is not set properly
|
||||||
Flycheck launches the GHC command, not from the project root directory, but from
|
Flycheck launches the GHC command, not from the project root directory, but from
|
||||||
the directory of the file that’s being checked. This is normally not a problem,
|
the directory of the file that's being checked. This is normally not a problem,
|
||||||
as all the paths are set properly, however it could be a problem if some
|
as all the paths are set properly, however it could be a problem if some
|
||||||
template Haskell functions use relative paths (e.g. in Yesod scaffolded
|
template Haskell functions use relative paths (e.g. in Yesod scaffolded
|
||||||
projects).
|
projects).
|
||||||
|
|
||||||
Until it’s fixed in flycheck, the workaround is to wrap the =stack= command in
|
Until it's fixed in flycheck, the workaround is to wrap the =stack= command in
|
||||||
order to run all subcommands from the project’s root directory. You can do so
|
order to run all subcommands from the project's root directory. You can do so
|
||||||
with the following script:
|
with the following script:
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+BEGIN_SRC bash
|
||||||
|
|
|
@ -108,7 +108,7 @@ are reproduced under the local leader.
|
||||||
|-------------+----------------------------------------------------------------------------|
|
|-------------+----------------------------------------------------------------------------|
|
||||||
| ~SPC m b c~ | Build the package. |
|
| ~SPC m b c~ | Build the package. |
|
||||||
| ~SPC m b C~ | Clean the package, removing =.ibc= files |
|
| ~SPC m b C~ | Clean the package, removing =.ibc= files |
|
||||||
| ~SPC m b i~ | Install the package to the user’s repository, building first if necessary. |
|
| ~SPC m b i~ | Install the package to the user's repository, building first if necessary. |
|
||||||
| ~SPC m b p~ | Open package file. |
|
| ~SPC m b p~ | Open package file. |
|
||||||
|
|
||||||
When inside a package file, you can insert a field with ~SPC m f~.
|
When inside a package file, you can insert a field with ~SPC m f~.
|
||||||
|
|
|
@ -223,7 +223,7 @@ Follow [[https://ensime.github.io/build_tools/sbt/][the ENSIME configuration ins
|
||||||
the development version of Ensime so follow the appropriate steps.
|
the development version of Ensime so follow the appropriate steps.
|
||||||
|
|
||||||
To use the build functions under ~SPC m b~ you need to use version =0.13.5= or
|
To use the build functions under ~SPC m b~ you need to use version =0.13.5= or
|
||||||
newer of =sbt=, and specify that in your project’s =project/build.properties=.
|
newer of =sbt=, and specify that in your project's =project/build.properties=.
|
||||||
For example,
|
For example,
|
||||||
|
|
||||||
#+BEGIN_SRC scala
|
#+BEGIN_SRC scala
|
||||||
|
@ -237,7 +237,7 @@ will suffice do the trick.
|
||||||
|
|
||||||
*** Issues
|
*** Issues
|
||||||
ENSIME is originally built for Scala, so support for java is not complete, in
|
ENSIME is originally built for Scala, so support for java is not complete, in
|
||||||
particular refactoring doesn’t work.
|
particular refactoring doesn't work.
|
||||||
|
|
||||||
** LSP Java
|
** LSP Java
|
||||||
LSP Java is the Java adapter for [[https://github.com/emacs-lsp/lsp-mode][LSP Mode]] which is the Emacs client for [[https://github.com/Microsoft/language-server-protocol][Language Server Protocol]].
|
LSP Java is the Java adapter for [[https://github.com/emacs-lsp/lsp-mode][LSP Mode]] which is the Emacs client for [[https://github.com/Microsoft/language-server-protocol][Language Server Protocol]].
|
||||||
|
|
|
@ -183,7 +183,7 @@ To use the available JS repl, you need a running httpd server and a page loaded
|
||||||
with skewer. If a blank page serves your needs, just use the run-skewer command
|
with skewer. If a blank page serves your needs, just use the run-skewer command
|
||||||
in your javascript buffer. If you want to inject it in your own page, follow
|
in your javascript buffer. If you want to inject it in your own page, follow
|
||||||
[[https://github.com/skeeto/skewer-mode#skewering-with-cors][these instructions]] (install the Greasemonkey script and then click the triangle
|
[[https://github.com/skeeto/skewer-mode#skewering-with-cors][these instructions]] (install the Greasemonkey script and then click the triangle
|
||||||
in the top-right corner - if it turns green, you’re good to go).
|
in the top-right corner - if it turns green, you're good to go).
|
||||||
|
|
||||||
** Node Modules
|
** Node Modules
|
||||||
If you would like =node_modules/.bin= to be automatically added to the buffer
|
If you would like =node_modules/.bin= to be automatically added to the buffer
|
||||||
|
|
|
@ -24,7 +24,7 @@ To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
add =jsonnet= to the existing =dotspacemacs-configuration-layers= list in this
|
add =jsonnet= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
file.
|
file.
|
||||||
|
|
||||||
To use some of the additional formatting and evaluation features, you’ll need
|
To use some of the additional formatting and evaluation features, you'll need
|
||||||
[[http://jsonnet.org/index.html][the jsonnet binary]]
|
[[http://jsonnet.org/index.html][the jsonnet binary]]
|
||||||
|
|
||||||
* Key bindings
|
* Key bindings
|
||||||
|
|
|
@ -57,7 +57,7 @@ if successful:
|
||||||
* Options
|
* Options
|
||||||
While =julia-mode= is perfectly usable without configuration or other packages,
|
While =julia-mode= is perfectly usable without configuration or other packages,
|
||||||
you can choose to replace the default functionality of using [[https://github.com/tpapp/julia-repl/][=julia-repl=]] as the
|
you can choose to replace the default functionality of using [[https://github.com/tpapp/julia-repl/][=julia-repl=]] as the
|
||||||
layer’s interactive REPL with the ess REPL and other functionality that comes
|
layer's interactive REPL with the ess REPL and other functionality that comes
|
||||||
with it. To do so, install this layer with:
|
with it. To do so, install this layer with:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -90,7 +90,7 @@ is nil.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Magic latex buffer
|
** Magic latex buffer
|
||||||
To enable “magic” symbols in latex buffers, set the variable
|
To enable "magic" symbols in latex buffers, set the variable
|
||||||
=latex-enable-magic= to =t=.
|
=latex-enable-magic= to =t=.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -73,7 +73,7 @@ information.
|
||||||
To generate MMM-Modes for languages set the value of the variable
|
To generate MMM-Modes for languages set the value of the variable
|
||||||
=markdown-mmm-auto-modes= to a list of the languages. For languages where the
|
=markdown-mmm-auto-modes= to a list of the languages. For languages where the
|
||||||
mode name directly relates to the language name, use a string. Otherwise, use a
|
mode name directly relates to the language name, use a string. Otherwise, use a
|
||||||
list of `(“language” “mode”)`:
|
list of `("language" "mode")`:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
dotspacemacs-configuration-layers '(
|
dotspacemacs-configuration-layers '(
|
||||||
|
|
|
@ -37,5 +37,5 @@ and =nimsuggest= binary must be in $PATH.
|
||||||
| ~SPC m c r~ | =nim compile --run main.nim= |
|
| ~SPC m c r~ | =nim compile --run main.nim= |
|
||||||
| ~SPC m g g~ or ~M-.~ | Jump to definition |
|
| ~SPC m g g~ or ~M-.~ | Jump to definition |
|
||||||
| ~SPC m g b~ or ~M-,~ | Jump back |
|
| ~SPC m g b~ or ~M-,~ | Jump back |
|
||||||
| ~SPC m h h~ | Show symbol’s documentation |
|
| ~SPC m h h~ | Show symbol's documentation |
|
||||||
|----------------------+------------------------------|
|
|----------------------+------------------------------|
|
||||||
|
|
|
@ -35,7 +35,7 @@ file.
|
||||||
** Using merlin for error reporting
|
** Using merlin for error reporting
|
||||||
By default [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] is used for error reporting when the
|
By default [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] is used for error reporting when the
|
||||||
=syntax-checking= layer is also enabled as this is common throughout spacemacs.
|
=syntax-checking= layer is also enabled as this is common throughout spacemacs.
|
||||||
You can disable this and switch back to [[https://github.com/ocaml/merlin][merlin]]’s default error reporting method
|
You can disable this and switch back to [[https://github.com/ocaml/merlin][merlin]]'s default error reporting method
|
||||||
by adding [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] to your excluded packages list in =.spacemacs=:
|
by adding [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] to your excluded packages list in =.spacemacs=:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -33,7 +33,7 @@ To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
add =purescript= to the existing =dotspacemacs-configuration-layers= list in
|
add =purescript= to the existing =dotspacemacs-configuration-layers= list in
|
||||||
this file.
|
this file.
|
||||||
|
|
||||||
You’ll also need to make sure the PureScript compiler and its associated
|
You'll also need to make sure the PureScript compiler and its associated
|
||||||
binaries (psc-ide-server, psci,...) are on your path. Installation instructions
|
binaries (psc-ide-server, psci,...) are on your path. Installation instructions
|
||||||
can be found [[https://github.com/purescript/documentation/blob/master/guides/Getting-Started.md][here]].
|
can be found [[https://github.com/purescript/documentation/blob/master/guides/Getting-Started.md][here]].
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ issue]] for details.
|
||||||
|
|
||||||
Source: [[https://github.com/proofit404/anaconda-mode#issues]]
|
Source: [[https://github.com/proofit404/anaconda-mode#issues]]
|
||||||
|
|
||||||
If you are facing errors such as “Unable to run anaconda-mode server”, try
|
If you are facing errors such as "Unable to run anaconda-mode server", try
|
||||||
setting your =PYTHONPATH= as explained at
|
setting your =PYTHONPATH= as explained at
|
||||||
[[https://github.com/proofit404/anaconda-mode#pythonpath]]
|
[[https://github.com/proofit404/anaconda-mode#pythonpath]]
|
||||||
|
|
||||||
|
@ -128,8 +128,8 @@ Additionally you can install the following other packages:
|
||||||
pip install pyls-mypy
|
pip install pyls-mypy
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you’ve installed the language server and related packages as development
|
If you've installed the language server and related packages as development
|
||||||
dependencies in a pipenv environment, you’ll want to set the ~python-pipenv-activate~
|
dependencies in a pipenv environment, you'll want to set the ~python-pipenv-activate~
|
||||||
config variable to ~t~. This activates your pipenv before enabling the
|
config variable to ~t~. This activates your pipenv before enabling the
|
||||||
lsp backend.
|
lsp backend.
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ Adds support for the [[http://racket-lang.org/][Racket]] programming language.
|
||||||
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
add =racket= to the existing =dotspacemacs-configuration-layers= list in this
|
add =racket= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
file. You will also need DrRacket installed. Alternatively, one can use the
|
file. You will also need DrRacket installed. Alternatively, one can use the
|
||||||
“Minimal Racket” installation, and then run the following command.
|
"Minimal Racket" installation, and then run the following command.
|
||||||
|
|
||||||
#+BEGIN_SRC Bash
|
#+BEGIN_SRC Bash
|
||||||
raco pkg install drracket
|
raco pkg install drracket
|
||||||
|
|
|
@ -41,7 +41,7 @@ To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
add =ruby= to the existing =dotspacemacs-configuration-layers= list in this
|
add =ruby= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
file.
|
file.
|
||||||
|
|
||||||
This layer supports two different Ruby modes: Emacs’s built-in Ruby Mode and
|
This layer supports two different Ruby modes: Emacs's built-in Ruby Mode and
|
||||||
[[https://github.com/zenspider/enhanced-ruby-mode][enh-ruby-mode]]. By default the built-in Ruby mode is enabled. To switch to the
|
[[https://github.com/zenspider/enhanced-ruby-mode][enh-ruby-mode]]. By default the built-in Ruby mode is enabled. To switch to the
|
||||||
=enh-ruby-mode= set =ruby-enable-enh-ruby-mode= to t:
|
=enh-ruby-mode= set =ruby-enable-enh-ruby-mode= to t:
|
||||||
|
|
||||||
|
@ -167,8 +167,8 @@ When =ruby-test-runner= equals =rspec=.
|
||||||
| ~SPC m t m~ | run specs related to the current buffer |
|
| ~SPC m t m~ | run specs related to the current buffer |
|
||||||
| ~SPC m t r~ | re-run last spec |
|
| ~SPC m t r~ | re-run last spec |
|
||||||
| ~SPC m t t~ | run spec at pointer |
|
| ~SPC m t t~ | run spec at pointer |
|
||||||
| ~SPC m t TAB~ | toggle between spec’s and target’s buffer |
|
| ~SPC m t TAB~ | toggle between spec's and target's buffer |
|
||||||
| ~SPC m t ~~ | toggle between spec’s and target’s buffer find example |
|
| ~SPC m t ~~ | toggle between spec's and target's buffer find example |
|
||||||
|
|
||||||
*** Ruby-test-mode
|
*** Ruby-test-mode
|
||||||
When =ruby-test-runner= equals =ruby-test=.
|
When =ruby-test-runner= equals =ruby-test=.
|
||||||
|
|
|
@ -118,7 +118,7 @@ variable =scala-auto-insert-asterisk-in-comments= to =t=.
|
||||||
To replace ~=>~, =->= and =<-= with unicode arrows =⇒=, =→= and =←=, set the
|
To replace ~=>~, =->= and =<-= with unicode arrows =⇒=, =→= and =←=, set the
|
||||||
variable =scala-use-unicode-arrows= to =t=.
|
variable =scala-use-unicode-arrows= to =t=.
|
||||||
|
|
||||||
If in some occasions you don’t want the arrows replaced (for example when
|
If in some occasions you don't want the arrows replaced (for example when
|
||||||
defining compound operators like ~=>>~), you can always undo the change and get
|
defining compound operators like ~=>>~), you can always undo the change and get
|
||||||
the ascii arrows back.
|
the ascii arrows back.
|
||||||
|
|
||||||
|
|
|
@ -89,8 +89,8 @@ This layer is blacklisting =name= by default as it is a very common name for
|
||||||
column and NAME is non-reserved SQL keyword.
|
column and NAME is non-reserved SQL keyword.
|
||||||
|
|
||||||
** Auto-Indent
|
** Auto-Indent
|
||||||
This mode use [[https://github.com/alex-hhh/emacs-sql-indent][sql-indent]] to indent the code. You can check the package’s README
|
This mode use [[https://github.com/alex-hhh/emacs-sql-indent][sql-indent]] to indent the code. You can check the package's README
|
||||||
to adjust the rules. If that’s not what you want, you can also disable
|
to adjust the rules. If that's not what you want, you can also disable
|
||||||
auto-indent by setting the variable =sql-auto-indent= to =nil=.
|
auto-indent by setting the variable =sql-auto-indent= to =nil=.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
- [[#swift-repl-mode][swift-repl-mode]]
|
- [[#swift-repl-mode][swift-repl-mode]]
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer adds support for Apple’s Swift programming language, used as a
|
This layer adds support for Apple's Swift programming language, used as a
|
||||||
general purpose scripting language.
|
general purpose scripting language.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
|
|
|
@ -121,7 +121,7 @@ error. Try node version 0.12.x if you get this error.
|
||||||
|
|
||||||
Send to playground requires browser.
|
Send to playground requires browser.
|
||||||
|
|
||||||
Currently tsserver doesn’t pickup tsconfig.json file changes. You might need to
|
Currently tsserver doesn't pickup tsconfig.json file changes. You might need to
|
||||||
restart server after editing it.
|
restart server after editing it.
|
||||||
|
|
||||||
** Language Server Protocol
|
** Language Server Protocol
|
||||||
|
@ -137,8 +137,8 @@ Consult the installation command for the desired language server found at [[http
|
||||||
| ~SPC m E d~ | add =tslitn-disable-next-line= at point |
|
| ~SPC m E d~ | add =tslitn-disable-next-line= at point |
|
||||||
| ~SPC m E e~ | fix thing at point |
|
| ~SPC m E e~ | fix thing at point |
|
||||||
| ~SPC m g b~ | jump back |
|
| ~SPC m g b~ | jump back |
|
||||||
| ~SPC m g g~ | jump to entity’s definition |
|
| ~SPC m g g~ | jump to entity's definition |
|
||||||
| ~SPC m g t~ | jump to entity’s type definition |
|
| ~SPC m g t~ | jump to entity's type definition |
|
||||||
| ~SPC m g u~ | references |
|
| ~SPC m g u~ | references |
|
||||||
| ~SPC m h h~ | documentation at point |
|
| ~SPC m h h~ | documentation at point |
|
||||||
| ~SPC m r i~ | organize imports |
|
| ~SPC m r i~ | organize imports |
|
||||||
|
|
|
@ -27,7 +27,7 @@ You can choose default formatter.
|
||||||
(setq copy-as-format-default "markdown")
|
(setq copy-as-format-default "markdown")
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Also, you can enable copying of buffer’s file name for asciidoc formatter.
|
Also, you can enable copying of buffer's file name for asciidoc formatter.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(setq copy-as-format-asciidoc-include-file-name t)
|
(setq copy-as-format-asciidoc-include-file-name t)
|
||||||
|
|
|
@ -57,7 +57,7 @@ Setting =nil= for modifiers will leave the left modifiers as emacs default.
|
||||||
|
|
||||||
*** Use with non-US keyboard layouts
|
*** Use with non-US keyboard layouts
|
||||||
If you need the ~⌥~ key to type common characters such as ={[]}~= which is usual
|
If you need the ~⌥~ key to type common characters such as ={[]}~= which is usual
|
||||||
for e.g. Finnish and Swedish keyboard layouts, you’ll probably want to leave the
|
for e.g. Finnish and Swedish keyboard layouts, you'll probably want to leave the
|
||||||
~⌥~ key unchanged by setting the =osx-option-as= variable to =none=:
|
~⌥~ key unchanged by setting the =osx-option-as= variable to =none=:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows.
|
This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Searching for word at point in offline api browser’s UI.
|
- Searching for word at point in offline api browser's UI.
|
||||||
- Integration of offline api browser search results in helm and ivy.
|
- Integration of offline api browser search results in helm and ivy.
|
||||||
- Support for [[https://kapeli.com/dash][dash]] offline api browser for OS X.
|
- Support for [[https://kapeli.com/dash][dash]] offline api browser for OS X.
|
||||||
- Support for [[https://zealdocs.org/][zeal]] offline api browser for Linux.
|
- Support for [[https://zealdocs.org/][zeal]] offline api browser for Linux.
|
||||||
|
@ -46,7 +46,7 @@ Then install the docsets you use more frequently
|
||||||
|
|
||||||
* Word at point
|
* Word at point
|
||||||
=dash-at-point= and =zeal-at-point= will search for the word at point in the respective offline api browser.
|
=dash-at-point= and =zeal-at-point= will search for the word at point in the respective offline api browser.
|
||||||
The result will be displayed in the offline browser’s UI.
|
The result will be displayed in the offline browser's UI.
|
||||||
|
|
||||||
However having to leave emacs to have a look at the search results may be a bit awkward.
|
However having to leave emacs to have a look at the search results may be a bit awkward.
|
||||||
To help with this it is also possible to integrate the search results directly in =helm= or =ivy=
|
To help with this it is also possible to integrate the search results directly in =helm= or =ivy=
|
||||||
|
|
|
@ -128,7 +128,7 @@ Be sure that you added some feeds first then load your feeds with ~gr~
|
||||||
in evilified buffer. Or ~M-x elfeed-update~.
|
in evilified buffer. Or ~M-x elfeed-update~.
|
||||||
|
|
||||||
** Queue timeout exceeded
|
** Queue timeout exceeded
|
||||||
If you are getting “Queue timeout exceeded” errors, try increasing
|
If you are getting "Queue timeout exceeded" errors, try increasing
|
||||||
the value of =url-queue-timeout=.
|
the value of =url-queue-timeout=.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -25,9 +25,9 @@ This layer enables support for PDF with the [[https://github.com/politza/pdf-too
|
||||||
According to the official repository:
|
According to the official repository:
|
||||||
|
|
||||||
#+BEGIN_QUOTE
|
#+BEGIN_QUOTE
|
||||||
“PDF Tools is, among other things, a replacement of DocView for PDF files. The
|
"PDF Tools is, among other things, a replacement of DocView for PDF files. The
|
||||||
key difference is, that pages are not pre-rendered by e.g. ghostscript and
|
key difference is, that pages are not pre-rendered by e.g. ghostscript and
|
||||||
stored in the file-system, but rather created on-demand and stored in memory.”
|
stored in the file-system, but rather created on-demand and stored in memory."
|
||||||
#+END_QUOTE
|
#+END_QUOTE
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
|
@ -38,10 +38,10 @@ According to the official repository:
|
||||||
|
|
||||||
* Install
|
* Install
|
||||||
** Prerequisites
|
** Prerequisites
|
||||||
Linux is the only operating system officially supported, but it’s possible to
|
Linux is the only operating system officially supported, but it's possible to
|
||||||
use =pdf-tools= on OS X as well, and possibly on other Unix flavors.
|
use =pdf-tools= on OS X as well, and possibly on other Unix flavors.
|
||||||
|
|
||||||
You’ll need to install a few libraries. Check the [[https://github.com/politza/pdf-tools#server-prerequisites][instructions]] on
|
You'll need to install a few libraries. Check the [[https://github.com/politza/pdf-tools#server-prerequisites][instructions]] on
|
||||||
=pdf-tools= page. Note that compiling from source might not be necessary, as
|
=pdf-tools= page. Note that compiling from source might not be necessary, as
|
||||||
the documentation states.
|
the documentation states.
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ After installing the dependencies, add this to your =~/.spacemacs=.
|
||||||
After that, syncronize your configuration with ~SPC f e R~. This will pop up a
|
After that, syncronize your configuration with ~SPC f e R~. This will pop up a
|
||||||
window showing the compilation process.
|
window showing the compilation process.
|
||||||
|
|
||||||
If everything goes right, the compilation won’t display any error and you will
|
If everything goes right, the compilation won't display any error and you will
|
||||||
be able to see /PDFView/ (instead of /DocView/) on the spaceline after opening a
|
be able to see /PDFView/ (instead of /DocView/) on the spaceline after opening a
|
||||||
pdf file.
|
pdf file.
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ Additionally, all annotation related functions can be accessed with ~SPC m a~.
|
||||||
Searching with =occur= can be done by using =pdf-occur= (~SPC m s s~).
|
Searching with =occur= can be done by using =pdf-occur= (~SPC m s s~).
|
||||||
|
|
||||||
Tips:
|
Tips:
|
||||||
- You’ll probably want to use =pdf-view-set-slice-from-bounding-box= (bound to
|
- You'll probably want to use =pdf-view-set-slice-from-bounding-box= (bound to
|
||||||
~SPC m s b~) This command trims the blank parts of the
|
~SPC m s b~) This command trims the blank parts of the
|
||||||
lateral margins, making the useful portion larger.
|
lateral margins, making the useful portion larger.
|
||||||
- The last visited page is not saved across Emacs sessions. If you want save it,
|
- The last visited page is not saved across Emacs sessions. If you want save it,
|
||||||
|
|
|
@ -89,13 +89,13 @@ commits messages. To enable this you have to add the following line to your
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Git
|
** Git
|
||||||
Of course if your OS does not ship with git (!) you’ll have to install it
|
Of course if your OS does not ship with git (!) you'll have to install it
|
||||||
on your machine. You can download it from the [[http://git-scm.com/downloads][download page]].
|
on your machine. You can download it from the [[http://git-scm.com/downloads][download page]].
|
||||||
|
|
||||||
** Git-Flow
|
** Git-Flow
|
||||||
Git-flow is a standardized branching pattern for git repositories with the aim
|
Git-flow is a standardized branching pattern for git repositories with the aim
|
||||||
of making things more manageable. While there are tools to assist with making
|
of making things more manageable. While there are tools to assist with making
|
||||||
this easier, these do nothing you couldn’t do manually.
|
this easier, these do nothing you couldn't do manually.
|
||||||
|
|
||||||
Support requires installation of the git-flow extensions. Please reference their
|
Support requires installation of the git-flow extensions. Please reference their
|
||||||
[[https://github.com/petervanderdoes/gitflow/wiki][installation page]] for assistance.
|
[[https://github.com/petervanderdoes/gitflow/wiki][installation page]] for assistance.
|
||||||
|
@ -203,7 +203,7 @@ A log selection buffer is presented as an interactive way of selecting a recent
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|------------------------+---------------------------------------------|
|
|------------------------+---------------------------------------------|
|
||||||
| ~SPC m c~ or ~SPC m ,~ | select the commit at point and act on it |
|
| ~SPC m c~ or ~SPC m ,~ | select the commit at point and act on it |
|
||||||
| ~SPC m a~ or ~SPC m k~ | abort selecting and don’t act on any commit |
|
| ~SPC m a~ or ~SPC m k~ | abort selecting and don't act on any commit |
|
||||||
|
|
||||||
** Interactive rebase buffer
|
** Interactive rebase buffer
|
||||||
|
|
||||||
|
|
|
@ -103,7 +103,7 @@ In a =magit-status= buffer (~SPC g s~):
|
||||||
| ~F P~ | list pull-requests |
|
| ~F P~ | list pull-requests |
|
||||||
| ~F I~ | list issues |
|
| ~F I~ | list issues |
|
||||||
| ~p y~ | pull pull-requests and issues for the current repository |
|
| ~p y~ | pull pull-requests and issues for the current repository |
|
||||||
| ~p Y~ | pull all notifications for the current repository’s forge |
|
| ~p Y~ | pull all notifications for the current repository's forge |
|
||||||
|
|
||||||
In a =forge-topic= buffer:
|
In a =forge-topic= buffer:
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,9 @@ To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||||||
add =perforce= to the existing =dotspacemacs-configuration-layers= list in this
|
add =perforce= to the existing =dotspacemacs-configuration-layers= list in this
|
||||||
file.
|
file.
|
||||||
|
|
||||||
You’ll have to install the =p4= command line tool from the [[https://www.perforce.com/downloads/helix][download page]].
|
You'll have to install the =p4= command line tool from the [[https://www.perforce.com/downloads/helix][download page]].
|
||||||
|
|
||||||
Don’t forget to setup the environment variables:
|
Don't forget to setup the environment variables:
|
||||||
- =P4_PORT=
|
- =P4_PORT=
|
||||||
- =P4_CLIENT=
|
- =P4_CLIENT=
|
||||||
- =P4_USER=
|
- =P4_USER=
|
||||||
|
|
|
@ -42,7 +42,7 @@ by setting =version-control-diff-tool=
|
||||||
version-control-diff-tool 'diff-hl)
|
version-control-diff-tool 'diff-hl)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
You can choose the side on which the diff appears (by default it’s the right side)
|
You can choose the side on which the diff appears (by default it's the right side)
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
'(version-control :variables
|
'(version-control :variables
|
||||||
|
@ -131,7 +131,7 @@ Pressing ~C-c C-k~ will discard the commit message and close this buffer.
|
||||||
|-------------+------------------------------------------------|
|
|-------------+------------------------------------------------|
|
||||||
| ~SPC m a~ | Apply a hunk |
|
| ~SPC m a~ | Apply a hunk |
|
||||||
| ~SPC m d~ | Kill the hunk at point |
|
| ~SPC m d~ | Kill the hunk at point |
|
||||||
| ~SPC m D~ | Kill the current file’s hunk |
|
| ~SPC m D~ | Kill the current file's hunk |
|
||||||
| ~SPC m e~ | Call =ediff-patch-file= on current buffer |
|
| ~SPC m e~ | Call =ediff-patch-file= on current buffer |
|
||||||
| ~SPC m f c~ | Convert unified diffs to context diffs |
|
| ~SPC m f c~ | Convert unified diffs to context diffs |
|
||||||
| ~SPC m f r~ | Reverse the direction of the diffs |
|
| ~SPC m f r~ | Reverse the direction of the diffs |
|
||||||
|
@ -178,7 +178,7 @@ A transient buffer is also defined, start it with ~SPC m .~ or ~, .~
|
||||||
| ~H~ | Toggle whether or not the annotation is visible |
|
| ~H~ | Toggle whether or not the annotation is visible |
|
||||||
| ~a~ | Visit the annotation of the revision identified in the current line |
|
| ~a~ | Visit the annotation of the revision identified in the current line |
|
||||||
| ~p~ | Visit the annotation of the revision before the revision at line |
|
| ~p~ | Visit the annotation of the revision before the revision at line |
|
||||||
| ~d~ | Display the diff between the current line’s revision and the previous revision |
|
| ~d~ | Display the diff between the current line's revision and the previous revision |
|
||||||
| ~f~ | Show in a buffer the file revision indicated by the current line |
|
| ~f~ | Show in a buffer the file revision indicated by the current line |
|
||||||
|
|
||||||
** Version Control Transient-state
|
** Version Control Transient-state
|
||||||
|
|
|
@ -18,11 +18,11 @@
|
||||||
* Description
|
* Description
|
||||||
This layer enables [[https://github.com/bmag/emacs-purpose][window-purpose]], which provides an alternative, purpose-based
|
This layer enables [[https://github.com/bmag/emacs-purpose][window-purpose]], which provides an alternative, purpose-based
|
||||||
window manager for Emacs. With this layer, your window layout should be robust
|
window manager for Emacs. With this layer, your window layout should be robust
|
||||||
and shouldn’t change too much when opening all sorts of buffers.
|
and shouldn't change too much when opening all sorts of buffers.
|
||||||
|
|
||||||
Regular [[https://github.com/m2ym/popwin-el][popwin]] is not triggered when window-purpose is enabled. However,
|
Regular [[https://github.com/m2ym/popwin-el][popwin]] is not triggered when window-purpose is enabled. However,
|
||||||
the window-purpose layer provides a =purpose-popwin= extension, which
|
the window-purpose layer provides a =purpose-popwin= extension, which
|
||||||
brings popwin’s behavior to window-purpose and solves that problem.
|
brings popwin's behavior to window-purpose and solves that problem.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Window layout is more robust and less likely to change unintentionally
|
- Window layout is more robust and less likely to change unintentionally
|
||||||
|
@ -31,7 +31,7 @@ brings popwin’s behavior to window-purpose and solves that problem.
|
||||||
- Extensible window display behavior
|
- Extensible window display behavior
|
||||||
- Empty =purpose-mode-map=, to avoid conflicts with other key maps
|
- Empty =purpose-mode-map=, to avoid conflicts with other key maps
|
||||||
- Replicate popwin behavior for purpose-mode - almost no regression in popup behavior from using window-purpose.
|
- Replicate popwin behavior for purpose-mode - almost no regression in popup behavior from using window-purpose.
|
||||||
- Reuses popwin’s settings: =popwin:special-display-config=, =popwin:popup-window-height= and =popwin:popup-window-width=.
|
- Reuses popwin's settings: =popwin:special-display-config=, =popwin:popup-window-height= and =popwin:popup-window-width=.
|
||||||
- Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation.
|
- Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation.
|
||||||
|
|
||||||
* Purposes
|
* Purposes
|
||||||
|
@ -42,7 +42,7 @@ helps make a better decision of which window to use.
|
||||||
For example, consider the following case: Emacs frame shows three windows - one
|
For example, consider the following case: Emacs frame shows three windows - one
|
||||||
for code, one for a terminal and one general-purpose window. The general window
|
for code, one for a terminal and one general-purpose window. The general window
|
||||||
is selected and you want to open a code file. How do you ensure that the code
|
is selected and you want to open a code file. How do you ensure that the code
|
||||||
file will be displayed in the code window? With window-purpose you don’t
|
file will be displayed in the code window? With window-purpose you don't
|
||||||
need to worry about it - you open the file and window-purpose places it in
|
need to worry about it - you open the file and window-purpose places it in
|
||||||
the correct window.
|
the correct window.
|
||||||
|
|
||||||
|
@ -51,10 +51,10 @@ reserved only for buffers that share that purpose.
|
||||||
|
|
||||||
** switch-to-buffer and display-buffer
|
** switch-to-buffer and display-buffer
|
||||||
In regular Emacs, =switch-to-buffer= follows different rules than the other
|
In regular Emacs, =switch-to-buffer= follows different rules than the other
|
||||||
switching and popping commands, because it doesn’t use =display-buffer= (which
|
switching and popping commands, because it doesn't use =display-buffer= (which
|
||||||
the other commands do). With window-purpose, this behavior is fixed. The
|
the other commands do). With window-purpose, this behavior is fixed. The
|
||||||
result is a better control over how buffers are displayed, since
|
result is a better control over how buffers are displayed, since
|
||||||
=switch-to-buffer= doesn’t ignore the user’s customizations anymore.
|
=switch-to-buffer= doesn't ignore the user's customizations anymore.
|
||||||
|
|
||||||
** misc
|
** misc
|
||||||
- specialized helm source similar to =helm-source-buffers-list=
|
- specialized helm source similar to =helm-source-buffers-list=
|
||||||
|
@ -85,7 +85,7 @@ See [[https://github.com/bmag/emacs-purpose/wiki][window-purpose wiki]] to learn
|
||||||
| ~SPC r d~ | Toggle dedication of selected window to its current purpose. |
|
| ~SPC r d~ | Toggle dedication of selected window to its current purpose. |
|
||||||
| ~SPC r D~ | Delete all non-dedicated windows. |
|
| ~SPC r D~ | Delete all non-dedicated windows. |
|
||||||
| ~SPC r p~ | Choose a purpose and open a buffer with that purpose. |
|
| ~SPC r p~ | Choose a purpose and open a buffer with that purpose. |
|
||||||
| ~SPC r P~ | Change the purpose of the selected window. Changes the window’s buffer accordingly. |
|
| ~SPC r P~ | Change the purpose of the selected window. Changes the window's buffer accordingly. |
|
||||||
|
|
||||||
* Caveats
|
* Caveats
|
||||||
** Popwin and guide-key
|
** Popwin and guide-key
|
||||||
|
|
|
@ -119,7 +119,7 @@ With fish:
|
||||||
|
|
||||||
*** Conflict between =ctags= and emacs's =etags= binary
|
*** Conflict between =ctags= and emacs's =etags= binary
|
||||||
If you installed =emacs= from source after =ctags=, your original =ctags= binary
|
If you installed =emacs= from source after =ctags=, your original =ctags= binary
|
||||||
is probably replaced by emacs’s =etags=. To get around this you will need to
|
is probably replaced by emacs's =etags=. To get around this you will need to
|
||||||
configure =emacs= as following before installing:
|
configure =emacs= as following before installing:
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
|
@ -218,7 +218,7 @@ languages are supported:
|
||||||
In order to look up symbol references for any language not in the built in
|
In order to look up symbol references for any language not in the built in
|
||||||
parser you must use the pygments backend. When this backend is used global
|
parser you must use the pygments backend. When this backend is used global
|
||||||
actually uses both ctags and pygments to find the definitions and uses of
|
actually uses both ctags and pygments to find the definitions and uses of
|
||||||
functions and variables as well as “other symbols”.
|
functions and variables as well as "other symbols".
|
||||||
|
|
||||||
If you enabled pygments (the best choice) and use that as the backend
|
If you enabled pygments (the best choice) and use that as the backend
|
||||||
(i.e. =GTAGSLABEL=pygments= or =--gtagslabel=pygments=) the following additional
|
(i.e. =GTAGSLABEL=pygments= or =--gtagslabel=pygments=) the following additional
|
||||||
|
|
|
@ -109,7 +109,7 @@ You can do that by using a quasi-quoted list which checks the Emacs mode:
|
||||||
| ~SPC t C v~ | colorize only variables in current buffer (color-identifiers mode) |
|
| ~SPC t C v~ | colorize only variables in current buffer (color-identifiers mode) |
|
||||||
| ~SPC t C C-v~ | globally colorize only variables and all subsequent buffers |
|
| ~SPC t C C-v~ | globally colorize only variables and all subsequent buffers |
|
||||||
|
|
||||||
The =saturation= and =lightness= of rainbow-identifier mode’s colors
|
The =saturation= and =lightness= of rainbow-identifier mode's colors
|
||||||
can be adjusted live via the following transient-state:
|
can be adjusted live via the following transient-state:
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|
@ -129,7 +129,7 @@ It can be used together with either (or none) of the identifier colorizers.
|
||||||
|
|
||||||
All detected color codes in the current buffer will be be highlighted as their
|
All detected color codes in the current buffer will be be highlighted as their
|
||||||
actual color. However, for accurate display, this mode requires that you use
|
actual color. However, for accurate display, this mode requires that you use
|
||||||
GUI Emacs and that you haven’t disabled sRGB mode (if your platform uses that).
|
GUI Emacs and that you haven't disabled sRGB mode (if your platform uses that).
|
||||||
|
|
||||||
To enable, you must manually toggle it on and off on a per-buffer basis with:
|
To enable, you must manually toggle it on and off on a per-buffer basis with:
|
||||||
~SPC t C c~
|
~SPC t C c~
|
||||||
|
|
|
@ -32,7 +32,7 @@ point from 0% to 100%.
|
||||||
* Introduction
|
* Introduction
|
||||||
*WARNING, MIND DUMBING CONTENT INSIDE.*
|
*WARNING, MIND DUMBING CONTENT INSIDE.*
|
||||||
|
|
||||||
“Nyan-mode. It’s things like this that make me proud to be an emacs user.” - [[http://twitter.com/#!/mitchellh/status/104931263479156736][mitchellh]]
|
"Nyan-mode. It's things like this that make me proud to be an emacs user." - [[http://twitter.com/#!/mitchellh/status/104931263479156736][mitchellh]]
|
||||||
|
|
||||||
Nyanmacs is expanding!! [[http://jacek.zlydach.pl/blog/2011-08-25-introducing-nyan-mode-el-turn-your-emacs-into-nyanmacs.html][Read the story so far]]! :).
|
Nyanmacs is expanding!! [[http://jacek.zlydach.pl/blog/2011-08-25-introducing-nyan-mode-el-turn-your-emacs-into-nyanmacs.html][Read the story so far]]! :).
|
||||||
|
|
||||||
|
@ -47,13 +47,13 @@ He basically changed the mode-line-format to include:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Known issues
|
** Known issues
|
||||||
It’s my second attempt to write a minor mode in Emacs, so there will
|
It's my second attempt to write a minor mode in Emacs, so there will
|
||||||
definiely be some bugs.
|
definiely be some bugs.
|
||||||
|
|
||||||
This version uses XPM images, which should be supported by default by
|
This version uses XPM images, which should be supported by default by
|
||||||
most Emacs 23 installations, Windows included. In case it doesn’t
|
most Emacs 23 installations, Windows included. In case it doesn't
|
||||||
work, try switching to master-png branch. This branch, however, may
|
work, try switching to master-png branch. This branch, however, may
|
||||||
have it’s own issues:
|
have it's own issues:
|
||||||
|
|
||||||
There was a problem with displaying PNG images, which require libpng
|
There was a problem with displaying PNG images, which require libpng
|
||||||
to be available for Emacs. The lib is sometimes missing (e.g. some
|
to be available for Emacs. The lib is sometimes missing (e.g. some
|
||||||
|
@ -62,7 +62,7 @@ download a proper DLL and put it into emacs bin/ folder. To see which
|
||||||
DLL is needed, do: M-x describe-variable <ret> image-library-alist
|
DLL is needed, do: M-x describe-variable <ret> image-library-alist
|
||||||
<ret>.
|
<ret>.
|
||||||
|
|
||||||
Customizing nyan-animate-nyancat is broken; don’t do it.
|
Customizing nyan-animate-nyancat is broken; don't do it.
|
||||||
|
|
||||||
** Credits
|
** Credits
|
||||||
Code and idea inspired by sml-modeline.el, written by Lennart Borgman.
|
Code and idea inspired by sml-modeline.el, written by Lennart Borgman.
|
||||||
|
|
|
@ -45,7 +45,7 @@ Here is a sample configuration. This configuration forces =cmake-ide= to use the
|
||||||
local directory and pass that directory to =helm-make=. Such config allows to
|
local directory and pass that directory to =helm-make=. Such config allows to
|
||||||
build your project with ~SPC c c~ key binding.
|
build your project with ~SPC c c~ key binding.
|
||||||
|
|
||||||
Additionally it’s possible to configure =helm-ctest= in the same way via defining ~helm-ctest-dir~.
|
Additionally it's possible to configure =helm-ctest= in the same way via defining ~helm-ctest-dir~.
|
||||||
Trailing slash is required.
|
Trailing slash is required.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -59,7 +59,7 @@ Trailing slash is required.
|
||||||
)))
|
)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
In case of projectile it’s possible to configure project like:
|
In case of projectile it's possible to configure project like:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
((nil . ((eval . (setq
|
((nil . ((eval . (setq
|
||||||
|
|
|
@ -51,11 +51,11 @@ your =dotspacemacs/user-config=. The default value, set in the layer, is =62=.
|
||||||
|-------------+-----------------------------------------------|
|
|-------------+-----------------------------------------------|
|
||||||
| ~SPC m a~ | add a transaction |
|
| ~SPC m a~ | add a transaction |
|
||||||
| ~SPC m b~ | edit a post amount with Emacs Calculator mode |
|
| ~SPC m b~ | edit a post amount with Emacs Calculator mode |
|
||||||
| ~SPC m c~ | toggle ’cleared’ flag on transaction or post |
|
| ~SPC m c~ | toggle 'cleared' flag on transaction or post |
|
||||||
| ~SPC m C~ | sort and align the entire buffer |
|
| ~SPC m C~ | sort and align the entire buffer |
|
||||||
| ~SPC m d~ | delete current transaction |
|
| ~SPC m d~ | delete current transaction |
|
||||||
| ~SPC m p~ | display balance at point |
|
| ~SPC m p~ | display balance at point |
|
||||||
| ~SPC m q~ | align a single transaction’s posts |
|
| ~SPC m q~ | align a single transaction's posts |
|
||||||
| ~SPC m r~ | reconcile an account |
|
| ~SPC m r~ | reconcile an account |
|
||||||
| ~SPC m R~ | display a report |
|
| ~SPC m R~ | display a report |
|
||||||
| ~SPC m t~ | append an effective date to a post |
|
| ~SPC m t~ | append an effective date to a post |
|
||||||
|
|
|
@ -21,7 +21,7 @@ This layer offers location sensitive adjustments to Emacs.
|
||||||
- Supports the following adjustments:
|
- Supports the following adjustments:
|
||||||
- Automatic switching between light (day) and dark (night) themes via [[https://github.com/hadronzoo/theme-changer][theme-changer]]
|
- Automatic switching between light (day) and dark (night) themes via [[https://github.com/hadronzoo/theme-changer][theme-changer]]
|
||||||
- Local weather forecast via [[https://github.com/aaronbieber/sunshine.el/blob/master/sunshine.el][sunshine]]
|
- Local weather forecast via [[https://github.com/aaronbieber/sunshine.el/blob/master/sunshine.el][sunshine]]
|
||||||
- Integration with OS X’s CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]]
|
- Integration with OS X's CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]]
|
||||||
- Manual location setting via variables in your dotfile
|
- Manual location setting via variables in your dotfile
|
||||||
|
|
||||||
* Install
|
* Install
|
||||||
|
@ -50,7 +50,7 @@ Set location manually by setting the following variables in your dotfile:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** OSX-location
|
** OSX-location
|
||||||
Mac users can take adavantage of automatic geogrphical discovery using the OS’s
|
Mac users can take adavantage of automatic geogrphical discovery using the OS's
|
||||||
CoreLocation system service, implemented as a long running background process.
|
CoreLocation system service, implemented as a long running background process.
|
||||||
In order to enable it, set =geolocation-enable-location-service= to =t= as
|
In order to enable it, set =geolocation-enable-location-service= to =t= as
|
||||||
explained in installation instructions.
|
explained in installation instructions.
|
||||||
|
@ -61,7 +61,7 @@ activated.
|
||||||
[[file:img/emacs-location-helper.jpg]]
|
[[file:img/emacs-location-helper.jpg]]
|
||||||
|
|
||||||
** Theme-changer
|
** Theme-changer
|
||||||
This layer implement a simple “theme changer” which, when enabled, will switch
|
This layer implement a simple "theme changer" which, when enabled, will switch
|
||||||
between first two themes the user has setup in ~dotspacemacs-themes~. First
|
between first two themes the user has setup in ~dotspacemacs-themes~. First
|
||||||
theme listed will be used as the light variant, while the second as the dark.
|
theme listed will be used as the light variant, while the second as the dark.
|
||||||
Other themes will be ignored by this layer, though they are still available for
|
Other themes will be ignored by this layer, though they are still available for
|
||||||
|
@ -80,7 +80,7 @@ openweathermap website. You need to sign up to the website to get a API key.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Configure your location by setting the variable sunshine-location. You can
|
Configure your location by setting the variable sunshine-location. You can
|
||||||
provide a string, like “New York, NY” or a ZIP code, like “90210”. This variable
|
provide a string, like "New York, NY" or a ZIP code, like "90210". This variable
|
||||||
is available through the Customize facility.
|
is available through the Customize facility.
|
||||||
|
|
||||||
When specifying a ZIP code, you may receive results from a foreign country. This
|
When specifying a ZIP code, you may receive results from a foreign country. This
|
||||||
|
@ -100,9 +100,9 @@ It will use the imperial unit system by default. To switch to metric, add
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Weather forecast icons are disabled by default, and can be toggled by pressing
|
Weather forecast icons are disabled by default, and can be toggled by pressing
|
||||||
`i’ within this mode’s main buffer.
|
`i' within this mode's main buffer.
|
||||||
|
|
||||||
To display weather forecast icons by default (“pretty mode”), add
|
To display weather forecast icons by default ("pretty mode"), add
|
||||||
~sunshine-show-icons t~ to the variables list for this layer, or add this:
|
~sunshine-show-icons t~ to the variables list for this layer, or add this:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
- [[#from-imenu-list-buffer][From imenu-list buffer]]
|
- [[#from-imenu-list-buffer][From imenu-list buffer]]
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer uses [[https://github.com/bmag/imenu-list][imenu-list]] to show the current buffer’s index in a side bar.
|
This layer uses [[https://github.com/bmag/imenu-list][imenu-list]] to show the current buffer's index in a side bar.
|
||||||
|
|
||||||
This is similar to `SPC j i` but displayed in a persistent sidebar instead of
|
This is similar to `SPC j i` but displayed in a persistent sidebar instead of
|
||||||
a completion buffer.
|
a completion buffer.
|
||||||
|
|
|
@ -25,7 +25,7 @@ To install =import-js= globally:
|
||||||
$ npm install -g import-js
|
$ npm install -g import-js
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If that doesn’t work you can also try installing =import-js= with =--unsafe-perm= tag
|
If that doesn't work you can also try installing =import-js= with =--unsafe-perm= tag
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ sudo npm install --unsafe-perm -g import-js
|
$ sudo npm install --unsafe-perm -g import-js
|
||||||
|
|
|
@ -22,7 +22,7 @@ This layer adds support for basic language server protocol packages speaking
|
||||||
[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]].
|
[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]].
|
||||||
|
|
||||||
Different language servers may support the language server protocol to varying degrees
|
Different language servers may support the language server protocol to varying degrees
|
||||||
and they may also provide extensions; check the language server’s website for
|
and they may also provide extensions; check the language server's website for
|
||||||
details.
|
details.
|
||||||
=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server.
|
=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server.
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ Please check out their documentation.
|
||||||
|
|
||||||
If you add =lsp-*-enable= to major mode hooks for auto initialization of
|
If you add =lsp-*-enable= to major mode hooks for auto initialization of
|
||||||
language clients, customize =lsp-project-whitelist= =lsp-project-blacklist= to
|
language clients, customize =lsp-project-whitelist= =lsp-project-blacklist= to
|
||||||
disable projects you don’t want to enable LSP.
|
disable projects you don't want to enable LSP.
|
||||||
|
|
||||||
** Variables
|
** Variables
|
||||||
A number of configuration variables have been exposed via the LSP layer =config.el=.
|
A number of configuration variables have been exposed via the LSP layer =config.el=.
|
||||||
|
@ -53,7 +53,7 @@ under the derived mode t prefix by =(spacemacs/lsp-bind-keys-for-mode mode)=
|
||||||
|
|
||||||
| Variable name | Default | Description |
|
| Variable name | Default | Description |
|
||||||
|---------------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------|
|
|---------------------------------+---------+--------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| =lsp-navigation= | `both’ | `simple’ or `peek’ to bind only xref OR lsp-ui-peek navigation functions |
|
| =lsp-navigation= | `both' | `simple' or `peek' to bind only xref OR lsp-ui-peek navigation functions |
|
||||||
| =lsp-ui-remap-xref-keybindings= | nil | When non-nil, xref key bindings remapped to lsp-ui-peek-find-{definition,references} |
|
| =lsp-ui-remap-xref-keybindings= | nil | When non-nil, xref key bindings remapped to lsp-ui-peek-find-{definition,references} |
|
||||||
| =lsp-ui-doc-enable= | t | When non-nil, the documentation overlay is displayed |
|
| =lsp-ui-doc-enable= | t | When non-nil, the documentation overlay is displayed |
|
||||||
| =lsp-ui-doc-include-signature= | nil | When nil, signature omitted from lsp-ui-doc overlay (this is usually redundant) |
|
| =lsp-ui-doc-include-signature= | nil | When nil, signature omitted from lsp-ui-doc overlay (this is usually redundant) |
|
||||||
|
@ -68,7 +68,7 @@ and the =lsp-ui-peek= variants under ~SPC m G~. Setting ~lsp-navigation~ to eith
|
||||||
the bindings under ~SPC m G~ and creates bindings under ~SPC m g~ according to the specified preference.
|
the bindings under ~SPC m G~ and creates bindings under ~SPC m g~ according to the specified preference.
|
||||||
|
|
||||||
* Key bindings
|
* Key bindings
|
||||||
A number of lsp features useful for all/most modes have been bound to the lsp minor mode, meaning they’ll be
|
A number of lsp features useful for all/most modes have been bound to the lsp minor mode, meaning they'll be
|
||||||
available in all language layers based on the lsp layer.
|
available in all language layers based on the lsp layer.
|
||||||
|
|
||||||
** Key binding prefixes
|
** Key binding prefixes
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer adds support for the [[https://github.com/rejeep/prodigy.el][prodigy]] package to manage external services from
|
This layer adds support for the [[https://github.com/rejeep/prodigy.el][prodigy]] package to manage external services from
|
||||||
within Emacs, check the package’s documentation for more details.
|
within Emacs, check the package's documentation for more details.
|
||||||
|
|
||||||
It is recommended to put your prodigy services in the =dotspacemacs/user-config=
|
It is recommended to put your prodigy services in the =dotspacemacs/user-config=
|
||||||
part of your =~/.spacemacs= file.
|
part of your =~/.spacemacs= file.
|
||||||
|
|
|
@ -107,7 +107,7 @@ You can set the size of the preview windows as a fraction of the frame size
|
||||||
(setq ranger-width-preview 0.55)
|
(setq ranger-width-preview 0.55)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
You probably don’t want to open certain files like videos when using preview. To
|
You probably don't want to open certain files like videos when using preview. To
|
||||||
ignore certain files when moving over them you can customize the following to
|
ignore certain files when moving over them you can customize the following to
|
||||||
your liking:
|
your liking:
|
||||||
|
|
||||||
|
|
|
@ -59,12 +59,12 @@ need to set the layer variable =rebox-enable-in-text-mode= to =t=.
|
||||||
* Style Templates
|
* Style Templates
|
||||||
** Standard packaged templates
|
** Standard packaged templates
|
||||||
You can find the full list of templates in
|
You can find the full list of templates in
|
||||||
[[https://github.com/lewang/rebox2/blob/master/rebox2.el][“Box templates” section of =rebox2.el=]]
|
[[https://github.com/lewang/rebox2/blob/master/rebox2.el]["Box templates" section of =rebox2.el=]]
|
||||||
|
|
||||||
*** Comments
|
*** Comments
|
||||||
These templates are single line comments styles. A =#= is used here for
|
These templates are single line comments styles. A =#= is used here for
|
||||||
illustration; however, it will work equally well if the comment character is
|
illustration; however, it will work equally well if the comment character is
|
||||||
different (e.g., lisp’s =;= comment character).
|
different (e.g., lisp's =;= comment character).
|
||||||
|
|
||||||
** Additional Templates
|
** Additional Templates
|
||||||
These templates are added by the Spacemacs layer.
|
These templates are added by the Spacemacs layer.
|
||||||
|
|
|
@ -32,7 +32,7 @@ choose the mode at any time.
|
||||||
|
|
||||||
* Restclient
|
* Restclient
|
||||||
Any file with an =.http= extension is opened in a =restclient= buffer.
|
Any file with an =.http= extension is opened in a =restclient= buffer.
|
||||||
Full documentation and examples can be found in the package’s [[https://github.com/pashky/restclient.el][GitHub Page]].
|
Full documentation and examples can be found in the package's [[https://github.com/pashky/restclient.el][GitHub Page]].
|
||||||
Also there is an [[http://emacsrocks.com/e15.html][Emacs Rocks!]] episode of it.
|
Also there is an [[http://emacsrocks.com/e15.html][Emacs Rocks!]] episode of it.
|
||||||
|
|
||||||
There is support for =org-babel= and =restclient= code blocks, for instance:
|
There is support for =org-babel= and =restclient= code blocks, for instance:
|
||||||
|
@ -59,4 +59,4 @@ There is support for =org-babel= and =restclient= code blocks, for instance:
|
||||||
* ob-http
|
* ob-http
|
||||||
Any file with an =.http= extension is opened in an =org= buffer with org babel
|
Any file with an =.http= extension is opened in an =org= buffer with org babel
|
||||||
configured to use =ob-http=.
|
configured to use =ob-http=.
|
||||||
Full documentation and examples can be found in the package’s [[http://github.com/zweifisch/ob-http][GitHub Page]].
|
Full documentation and examples can be found in the package's [[http://github.com/zweifisch/ob-http][GitHub Page]].
|
||||||
|
|
|
@ -114,10 +114,10 @@ From the =em-smart= documentation:
|
||||||
The best way to get a sense of what this code is trying to do is by
|
The best way to get a sense of what this code is trying to do is by
|
||||||
using it. Basically, the philosophy represents a blend between the
|
using it. Basically, the philosophy represents a blend between the
|
||||||
ease of use of modern day shells, and the review-before-you-proceed
|
ease of use of modern day shells, and the review-before-you-proceed
|
||||||
mentality of Plan 9’s 9term.
|
mentality of Plan 9's 9term.
|
||||||
#+END_QUOTE
|
#+END_QUOTE
|
||||||
|
|
||||||
In a nutshell, when =em-smart= is enabled point won’t jump at the end of the
|
In a nutshell, when =em-smart= is enabled point won't jump at the end of the
|
||||||
buffer when a command is executed, it will stay at the same command prompt used
|
buffer when a command is executed, it will stay at the same command prompt used
|
||||||
to execute the command. This allows to quickly edit the last command in the case
|
to execute the command. This allows to quickly edit the last command in the case
|
||||||
of a mistake. If there is no mistake and you directly type a new command then
|
of a mistake. If there is no mistake and you directly type a new command then
|
||||||
|
@ -204,7 +204,7 @@ Some advanced configuration is setup for =eshell= in this layer:
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+------------------------------------------------------------|
|
|-------------+------------------------------------------------------------|
|
||||||
| ~SPC '~ | Open, close or go to the default shell |
|
| ~SPC '~ | Open, close or go to the default shell |
|
||||||
| ~SPC p '~ | Open a shell in the project’s root |
|
| ~SPC p '~ | Open a shell in the project's root |
|
||||||
| ~SPC a s e~ | Open, close or go to an =eshell= |
|
| ~SPC a s e~ | Open, close or go to an =eshell= |
|
||||||
| ~SPC a s i~ | Open, close or go to a =shell= |
|
| ~SPC a s i~ | Open, close or go to a =shell= |
|
||||||
| ~SPC a s m~ | Open, close or go to a =multi-term= |
|
| ~SPC a s m~ | Open, close or go to a =multi-term= |
|
||||||
|
|
|
@ -29,9 +29,9 @@ in this file.
|
||||||
|
|
||||||
* Configuration
|
* Configuration
|
||||||
** Sphinx target
|
** Sphinx target
|
||||||
To use the layer’s Sphinx feature, the following variables should be set.
|
To use the layer's Sphinx feature, the following variables should be set.
|
||||||
|
|
||||||
A parent directory is needed for all Sphinx projects’ builds.
|
A parent directory is needed for all Sphinx projects' builds.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq rst-sphinx-target-parent "/your/path/of/build/")
|
(setq rst-sphinx-target-parent "/your/path/of/build/")
|
||||||
|
|
|
@ -65,7 +65,7 @@ Add =(transmission :variables transmission-auto-refresh-all t)= to
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+---------------------------------------------------------------|
|
|-------------+---------------------------------------------------------------|
|
||||||
| ~SPC m g t~ | Open a `transmission-files-mode’ buffer for torrent at point. |
|
| ~SPC m g t~ | Open a `transmission-files-mode' buffer for torrent at point. |
|
||||||
| ~SPC m a t~ | Add torrent by filename, URL, magnet link, or info hash. |
|
| ~SPC m a t~ | Add torrent by filename, URL, magnet link, or info hash. |
|
||||||
| ~SPC m s d~ | Set global download speed limit in kB/s. |
|
| ~SPC m s d~ | Set global download speed limit in kB/s. |
|
||||||
| ~SPC m g p~ | Open a =transmission-peers-mode= buffer for torrent at point. |
|
| ~SPC m g p~ | Open a =transmission-peers-mode= buffer for torrent at point. |
|
||||||
|
|
|
@ -32,10 +32,10 @@ to install the =ruby= layer as well.
|
||||||
|
|
||||||
** Vagrant
|
** Vagrant
|
||||||
Follow the [[https://www.vagrantup.com/docs/installation/index.html][Installing Vagrant]] and [[https://www.vagrantup.com/intro/getting-started/index.html][Getting Started]] guides in
|
Follow the [[https://www.vagrantup.com/docs/installation/index.html][Installing Vagrant]] and [[https://www.vagrantup.com/intro/getting-started/index.html][Getting Started]] guides in
|
||||||
Vagrant’s documentation.
|
Vagrant's documentation.
|
||||||
|
|
||||||
** Testing
|
** Testing
|
||||||
If you’d like to test this layer out in a simple way (for example to
|
If you'd like to test this layer out in a simple way (for example to
|
||||||
make sure you have Vagrant configured correctly) there is a [[https://gist.github.com/anonymous/578279337caf180298cd91c61be995bc][Vagrantfile]]
|
make sure you have Vagrant configured correctly) there is a [[https://gist.github.com/anonymous/578279337caf180298cd91c61be995bc][Vagrantfile]]
|
||||||
in this directory.
|
in this directory.
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ file.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Note that no filename expansions are done, so =~= -paths will not work out of the box.
|
Note that no filename expansions are done, so =~= -paths will not work out of the box.
|
||||||
If you need expansions, you can use Emacs’s =file-truename= like this:
|
If you need expansions, you can use Emacs's =file-truename= like this:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq ycmd-server-command (list "python" (file-truename "~/some/path")))
|
(setq ycmd-server-command (list "python" (file-truename "~/some/path")))
|
||||||
|
@ -95,7 +95,7 @@ Example .ycm_extra_flags:
|
||||||
--sysroot="/path/to/your/toolchain/libc" # if you are cross-compiling
|
--sysroot="/path/to/your/toolchain/libc" # if you are cross-compiling
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If your build system doesn’t handle the creation of a compile_commands.json,
|
If your build system doesn't handle the creation of a compile_commands.json,
|
||||||
you can use tools such as [[https://github.com/rizsotto/Bear][Bear]] or [[https://pypi.python.org/pypi/scan-build][scan-build]] to generate it, which both work
|
you can use tools such as [[https://github.com/rizsotto/Bear][Bear]] or [[https://pypi.python.org/pypi/scan-build][scan-build]] to generate it, which both work
|
||||||
with almost any build system.
|
with almost any build system.
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
- [[#key-bindings][Key bindings]]
|
- [[#key-bindings][Key bindings]]
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer adds various replacements for vim’s default search functions.
|
This layer adds various replacements for vim's default search functions.
|
||||||
|
|
||||||
** Features:
|
** Features:
|
||||||
- Alternative implementation of vim’s default search operations.
|
- Alternative implementation of vim's default search operations.
|
||||||
- Replacement of evil-surround with a two-character search.
|
- Replacement of evil-surround with a two-character search.
|
||||||
- Support for alternative scopes for default search operations.
|
- Support for alternative scopes for default search operations.
|
||||||
- Support for alternative motions based on configurable regexps.
|
- Support for alternative motions based on configurable regexps.
|
||||||
|
@ -32,7 +32,7 @@ file.
|
||||||
|
|
||||||
** Improved f and t search behavior
|
** Improved f and t search behavior
|
||||||
With evil-snipe you can define your own search scope for ~f~ and ~t~ searches
|
With evil-snipe you can define your own search scope for ~f~ and ~t~ searches
|
||||||
which means that you won’t have to jump to the correct line before searching
|
which means that you won't have to jump to the correct line before searching
|
||||||
with ~f~ / ~t~ / ~F~ / ~T~. And after you have found a match, you can just press
|
with ~f~ / ~t~ / ~F~ / ~T~. And after you have found a match, you can just press
|
||||||
~f~ or ~t~ again afterwards to continue the search. No need to use ~;~ / ~,~.
|
~f~ or ~t~ again afterwards to continue the search. No need to use ~;~ / ~,~.
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ With the ~s~/~S~ keys you can do a simple search like ~f~/~t~, but instead of
|
||||||
searching for one character, you search for two. This makes the search a lot
|
searching for one character, you search for two. This makes the search a lot
|
||||||
more precise than regular ~f~/~t~ searches. While you can search forward or
|
more precise than regular ~f~/~t~ searches. While you can search forward or
|
||||||
backwards in the buffer with ~/~ and ~?~, ~s~ / ~S~ are much easier to reach,
|
backwards in the buffer with ~/~ and ~?~, ~s~ / ~S~ are much easier to reach,
|
||||||
don’t require you to press enter and they are precise enough for many common
|
don't require you to press enter and they are precise enough for many common
|
||||||
purposes.
|
purposes.
|
||||||
|
|
||||||
** More scopes
|
** More scopes
|
||||||
|
@ -82,8 +82,8 @@ group of characters. By adding a pair of =(CHAR REGEX)= to the list
|
||||||
(push '(?\] "[]})]") evil-snipe-aliases)
|
(push '(?\] "[]})]") evil-snipe-aliases)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
- Here we set the char ~:~ to mean “a regex matching python function
|
- Here we set the char ~:~ to mean "a regex matching python function
|
||||||
definitions” (but only in python-mode), so by searching with ~f:fff~ you can
|
definitions" (but only in python-mode), so by searching with ~f:fff~ you can
|
||||||
quickly cycle through all function definitions in a buffer!
|
quickly cycle through all function definitions in a buffer!
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -98,9 +98,9 @@ group of characters. By adding a pair of =(CHAR REGEX)= to the list
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|-------------+-----------------------------------------------------------------------------------------|
|
|-------------+-----------------------------------------------------------------------------------------|
|
||||||
| ~f~ | search forward for the next entered character and set the cursor to it’s position |
|
| ~f~ | search forward for the next entered character and set the cursor to it's position |
|
||||||
| ~F~ | search backward for the next entered character and set the cursor to it’s position |
|
| ~F~ | search backward for the next entered character and set the cursor to it's position |
|
||||||
| ~t~ | search forward for the next entered character and set the cursor before it’s position |
|
| ~t~ | search forward for the next entered character and set the cursor before it's position |
|
||||||
| ~T~ | search backward for the next entered character and set the cursor before it’s position |
|
| ~T~ | search backward for the next entered character and set the cursor before it's position |
|
||||||
| ~s~ | search forward for the next entered two characters and set the cursor to it’s position |
|
| ~s~ | search forward for the next entered two characters and set the cursor to it's position |
|
||||||
| ~S~ | search backward for the next entered two characters and set the cursor to it’s position |
|
| ~S~ | search backward for the next entered two characters and set the cursor to it's position |
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
This layer is a drop-in replacement for the =vi-tilde-fringe= mode, for those
|
This layer is a drop-in replacement for the =vi-tilde-fringe= mode, for those
|
||||||
who desire behaviour closer to =vim=’s.
|
who desire behaviour closer to =vim='s.
|
||||||
|
|
||||||
It has better compatibility with retina displays, as it uses a text overlay
|
It has better compatibility with retina displays, as it uses a text overlay
|
||||||
using your font, rather than a pixel-art tilde. The empty line indicators are
|
using your font, rather than a pixel-art tilde. The empty line indicators are
|
||||||
overlaid in within the buffer as in =vim=, and not in the fringe. The indicator
|
overlaid in within the buffer as in =vim=, and not in the fringe. The indicator
|
||||||
behaviour with trailing empty lines matches =vim=’s behaviour.
|
behaviour with trailing empty lines matches =vim='s behaviour.
|
||||||
|
|
||||||
For details, see the [[https://github.com/jmickelin/vim-empty-lines-mode][vim-empty-lines-mode]] repository.
|
For details, see the [[https://github.com/jmickelin/vim-empty-lines-mode][vim-empty-lines-mode]] repository.
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
* Description
|
* Description
|
||||||
This layer is a port of vim-vinegar for emacs.
|
This layer is a port of vim-vinegar for emacs.
|
||||||
|
|
||||||
It is based on tpope’s [[https://github.com/tpope/vim-vinegar][vinegar.vim]], simplifying =dired=
|
It is based on tpope's [[https://github.com/tpope/vim-vinegar][vinegar.vim]], simplifying =dired=
|
||||||
with a limited number of details and exposing the ~-~ command in all
|
with a limited number of details and exposing the ~-~ command in all
|
||||||
buffers to enter dired.
|
buffers to enter dired.
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ official =geeknote= [[http://www.geeknote.me/documentation/][documentation]].
|
||||||
|
|
||||||
** Geeknote.el
|
** Geeknote.el
|
||||||
[[https://github.com/avendael/emacs-geeknote][geeknote.el]] is a wrapper for some of the most used =geeknote= commands.
|
[[https://github.com/avendael/emacs-geeknote][geeknote.el]] is a wrapper for some of the most used =geeknote= commands.
|
||||||
By default, =geeknote.el= doesn’t have any key bindings defined.
|
By default, =geeknote.el= doesn't have any key bindings defined.
|
||||||
This layer provides key bindings for all of =geeknote.el's= exposed features.
|
This layer provides key bindings for all of =geeknote.el's= exposed features.
|
||||||
=geeknote.el= relies on having a correctly setup =geeknote= editor.
|
=geeknote.el= relies on having a correctly setup =geeknote= editor.
|
||||||
To set this up, run the following command in your terminal after successfully
|
To set this up, run the following command in your terminal after successfully
|
||||||
|
|
|
@ -48,7 +48,7 @@ file.
|
||||||
| ~SPC a /~ | ~C-c /~ | Summon a Helm buffer to select any engine |
|
| ~SPC a /~ | ~C-c /~ | Summon a Helm buffer to select any engine |
|
||||||
|
|
||||||
* Customize it!
|
* Customize it!
|
||||||
If you’d rather have emacs use chrome, or firefox or any other thing (=eww=) you
|
If you'd rather have emacs use chrome, or firefox or any other thing (=eww=) you
|
||||||
can have that customization. For example for google chrome you can put this in
|
can have that customization. For example for google chrome you can put this in
|
||||||
your =dotspacemacs/user-config=:
|
your =dotspacemacs/user-config=:
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ Also if you want more search engines, just push them (do this in
|
||||||
search-engine-alist)
|
search-engine-alist)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
If you’d rather not use helm but would want a specific search engine, remember
|
If you'd rather not use helm but would want a specific search engine, remember
|
||||||
the function generated is always =engine/search-(the name of the search engine
|
the function generated is always =engine/search-(the name of the search engine
|
||||||
lower-case and hyphen instead-of-spaces-for-separation)= so you can bind that to
|
lower-case and hyphen instead-of-spaces-for-separation)= so you can bind that to
|
||||||
any key binding you want.
|
any key binding you want.
|
||||||
|
|
|
@ -19,7 +19,7 @@ This layer adds Twitter support to Spacemacs via the package [[https://github.co
|
||||||
- Viewing various timelines
|
- Viewing various timelines
|
||||||
- Home timeline
|
- Home timeline
|
||||||
- Replies
|
- Replies
|
||||||
- User’s timeline
|
- User's timeline
|
||||||
- Public timeline
|
- Public timeline
|
||||||
- Favorites timeline
|
- Favorites timeline
|
||||||
- Retweets timeline
|
- Retweets timeline
|
||||||
|
|
|
@ -31,7 +31,7 @@ P.S. wakati means time in Swahili
|
||||||
You can follow wakatime installation instructions here
|
You can follow wakatime installation instructions here
|
||||||
[[https://github.com/wakatime/wakatime-mode]].
|
[[https://github.com/wakatime/wakatime-mode]].
|
||||||
|
|
||||||
In short it’s just:
|
In short it's just:
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
pip install wakatime
|
pip install wakatime
|
||||||
|
@ -68,14 +68,14 @@ After this go to your wakatime account and have your API key handy
|
||||||
|
|
||||||
Restart emacs and it will prompt you for the location of the wakatime installer
|
Restart emacs and it will prompt you for the location of the wakatime installer
|
||||||
(just put in whatever =which wakatime= gives you in the terminal e.g.
|
(just put in whatever =which wakatime= gives you in the terminal e.g.
|
||||||
=/usr/bin/wakatime= for example) and that’s it.
|
=/usr/bin/wakatime= for example) and that's it.
|
||||||
|
|
||||||
*** Note to =venv-workon= users:
|
*** Note to =venv-workon= users:
|
||||||
Right now wakatime uses =python= as python bin executable, so if you use
|
Right now wakatime uses =python= as python bin executable, so if you use
|
||||||
=venv-workon= because you have python projects which need to have a virtual
|
=venv-workon= because you have python projects which need to have a virtual
|
||||||
env., then wakatime, which is installed system-wide will have trouble locating
|
env., then wakatime, which is installed system-wide will have trouble locating
|
||||||
wakatime files, so it’s best to define by yourself the python path where
|
wakatime files, so it's best to define by yourself the python path where
|
||||||
wakatime can always find it’s stuff, via this variable:
|
wakatime can always find it's stuff, via this variable:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq wakatime-python-bin "/path/to/python")
|
(setq wakatime-python-bin "/path/to/python")
|
||||||
|
|
|
@ -430,8 +430,8 @@ The commands defined in this layer are taken from various sources like [[https:/
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Smart line navigation: Subsequent presses of ~C-a~ toggles between the beginning of the line and the first non-whitespace character. Similarly, subsequent presses of ~C-e~ will toggle between the end of the code and the end of the comments.
|
- Smart line navigation: Subsequent presses of ~C-a~ toggles between the beginning of the line and the first non-whitespace character. Similarly, subsequent presses of ~C-e~ will toggle between the end of the code and the end of the comments.
|
||||||
- =spacemacs/backward-kill-word-or-region=: A combination of =kill-region= and =backward-kill-word=, depending on whether there is an active region. If there’s an active region kill that. If not kill the preceding word.
|
- =spacemacs/backward-kill-word-or-region=: A combination of =kill-region= and =backward-kill-word=, depending on whether there is an active region. If there's an active region kill that. If not kill the preceding word.
|
||||||
- Fill or unfill paragraph: Pressing ~M-q~ for the first time fills current paragraph and pressing ~M-q~ for the second time unfills it. Note that some modes override this key binding so it’s not available everywhere. Due to implementation details unfilling doesn’t work when called twice via ~M-x~.
|
- Fill or unfill paragraph: Pressing ~M-q~ for the first time fills current paragraph and pressing ~M-q~ for the second time unfills it. Note that some modes override this key binding so it's not available everywhere. Due to implementation details unfilling doesn't work when called twice via ~M-x~.
|
||||||
|
|
||||||
** Ibuffer
|
** Ibuffer
|
||||||
[[file:+emacs/ibuffer/README.org][+emacs/ibuffer/README.org]]
|
[[file:+emacs/ibuffer/README.org][+emacs/ibuffer/README.org]]
|
||||||
|
@ -521,7 +521,7 @@ This layer sets up a file navigation and project explorer side-window via [[http
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
An detailed overview over Treemacs’ available features is available in [[https://github.com/Alexander-Miller/treemacs#detailed-feature-list][its
|
An detailed overview over Treemacs' available features is available in [[https://github.com/Alexander-Miller/treemacs#detailed-feature-list][its
|
||||||
readme]]. In a short summary Treemacs offers the following:
|
readme]]. In a short summary Treemacs offers the following:
|
||||||
- Simple and powerful navigation and ability to detail exactly how and where a
|
- Simple and powerful navigation and ability to detail exactly how and where a
|
||||||
file should be opened
|
file should be opened
|
||||||
|
@ -530,7 +530,7 @@ readme]]. In a short summary Treemacs offers the following:
|
||||||
- Ability to show tags contained in files. Tags are provided by imenu, so
|
- Ability to show tags contained in files. Tags are provided by imenu, so
|
||||||
nearly every filetype is supported.
|
nearly every filetype is supported.
|
||||||
- Mouse interface for single and double left clicks in line with modern GUI standards.
|
- Mouse interface for single and double left clicks in line with modern GUI standards.
|
||||||
(Clicking on an icon will also display a file’s tags)
|
(Clicking on an icon will also display a file's tags)
|
||||||
- Locational awareness: commands like ~find-file~ or ~magit-status~ will use the location
|
- Locational awareness: commands like ~find-file~ or ~magit-status~ will use the location
|
||||||
of the node at point (with $HOME as fallback)
|
of the node at point (with $HOME as fallback)
|
||||||
- Optionally fontifying files based on their git status.
|
- Optionally fontifying files based on their git status.
|
||||||
|
@ -581,7 +581,7 @@ Features:
|
||||||
[[file:+fun/selectric/README.org][+fun/selectric/README.org]]
|
[[file:+fun/selectric/README.org][+fun/selectric/README.org]]
|
||||||
|
|
||||||
This layer makes your Emacs sound like an IBM Selectric typewriter, for those
|
This layer makes your Emacs sound like an IBM Selectric typewriter, for those
|
||||||
moments when your loud, clicky mechanical keyboard is not at hand, yet, you’d
|
moments when your loud, clicky mechanical keyboard is not at hand, yet, you'd
|
||||||
still wish to enjoy the sound.
|
still wish to enjoy the sound.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
@ -1142,8 +1142,8 @@ Features:
|
||||||
Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or
|
Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or
|
||||||
[[http://ahkscript.org][AutoHotkey_L]].
|
[[http://ahkscript.org][AutoHotkey_L]].
|
||||||
|
|
||||||
Using a combined implementation of ahk-mode from Xah Lee’s =xahk-mode=
|
Using a combined implementation of ahk-mode from Xah Lee's =xahk-mode=
|
||||||
and Robert Widhopf-Fenk’s =autohotkey-mode=. Updated with the latest
|
and Robert Widhopf-Fenk's =autohotkey-mode=. Updated with the latest
|
||||||
ahk and ahk_l commands found in the latest revision of
|
ahk and ahk_l commands found in the latest revision of
|
||||||
[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]].
|
[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]].
|
||||||
|
|
||||||
|
@ -1236,7 +1236,7 @@ Features:
|
||||||
*** Phoenix
|
*** Phoenix
|
||||||
[[file:+frameworks/phoenix/README.org][+frameworks/phoenix/README.org]]
|
[[file:+frameworks/phoenix/README.org][+frameworks/phoenix/README.org]]
|
||||||
|
|
||||||
This layer adds key bindings for [[https://github.com/tonini/alchemist.el][Alchemist]]’s already built in phoenix mode.
|
This layer adds key bindings for [[https://github.com/tonini/alchemist.el][Alchemist]]'s already built in phoenix mode.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Key bindings for navigation to files
|
- Key bindings for navigation to files
|
||||||
|
@ -1439,7 +1439,7 @@ Features:
|
||||||
- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]]
|
- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]]
|
||||||
- Refactoring with [[http://gorefactor.org/][godoctor]]
|
- Refactoring with [[http://gorefactor.org/][godoctor]]
|
||||||
- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]]
|
- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]]
|
||||||
- Linting with flycheck’s built-in checkers or flycheck-gometalinter
|
- Linting with flycheck's built-in checkers or flycheck-gometalinter
|
||||||
- Coverage profile visualization
|
- Coverage profile visualization
|
||||||
- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
||||||
- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]]
|
- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]]
|
||||||
|
@ -1691,7 +1691,7 @@ Features:
|
||||||
**** Swift
|
**** Swift
|
||||||
[[file:+lang/swift/README.org][+lang/swift/README.org]]
|
[[file:+lang/swift/README.org][+lang/swift/README.org]]
|
||||||
|
|
||||||
This layer adds support for Apple’s Swift programming language, used as a
|
This layer adds support for Apple's Swift programming language, used as a
|
||||||
general purpose scripting language.
|
general purpose scripting language.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
@ -1765,7 +1765,7 @@ This layer adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Faces redefined to correctly play with themes.
|
- Faces redefined to correctly play with themes.
|
||||||
- Spacemacs bindings to Agda’s interactive tools.
|
- Spacemacs bindings to Agda's interactive tools.
|
||||||
|
|
||||||
*This layer is in construction, it needs your contributions and bug reports.*
|
*This layer is in construction, it needs your contributions and bug reports.*
|
||||||
|
|
||||||
|
@ -1841,7 +1841,7 @@ Features:
|
||||||
This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows.
|
This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Searching for word at point in offline api browser’s UI.
|
- Searching for word at point in offline api browser's UI.
|
||||||
- Integration of offline api browser search results in helm and ivy.
|
- Integration of offline api browser search results in helm and ivy.
|
||||||
- Support for [[https://kapeli.com/dash][dash]] offline api browser for OS X.
|
- Support for [[https://kapeli.com/dash][dash]] offline api browser for OS X.
|
||||||
- Support for [[https://zealdocs.org/][zeal]] offline api browser for Linux.
|
- Support for [[https://zealdocs.org/][zeal]] offline api browser for Linux.
|
||||||
|
@ -1891,9 +1891,9 @@ This layer enables support for PDF with the [[https://github.com/politza/pdf-too
|
||||||
According to the official repository:
|
According to the official repository:
|
||||||
|
|
||||||
#+BEGIN_QUOTE
|
#+BEGIN_QUOTE
|
||||||
“PDF Tools is, among other things, a replacement of DocView for PDF files. The
|
"PDF Tools is, among other things, a replacement of DocView for PDF files. The
|
||||||
key difference is, that pages are not pre-rendered by e.g. ghostscript and
|
key difference is, that pages are not pre-rendered by e.g. ghostscript and
|
||||||
stored in the file-system, but rather created on-demand and stored in memory.”
|
stored in the file-system, but rather created on-demand and stored in memory."
|
||||||
#+END_QUOTE
|
#+END_QUOTE
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
@ -1917,7 +1917,7 @@ Features:
|
||||||
Alda is a music composition language allowing music to easily be written and
|
Alda is a music composition language allowing music to easily be written and
|
||||||
edited in a text file.
|
edited in a text file.
|
||||||
|
|
||||||
This layer adds key bindings for =alda-mode=’s functions, which allow Alda code
|
This layer adds key bindings for =alda-mode='s functions, which allow Alda code
|
||||||
to be interpreted and played by the running Alda server. It will also start the
|
to be interpreted and played by the running Alda server. It will also start the
|
||||||
Alda server if it is not running.
|
Alda server if it is not running.
|
||||||
|
|
||||||
|
@ -2271,10 +2271,10 @@ Features:
|
||||||
- Build once and work with the same development environment everywhere
|
- Build once and work with the same development environment everywhere
|
||||||
- Run untrusted/risky code in the tunable sandbox with CPU/network/disk quotas
|
- Run untrusted/risky code in the tunable sandbox with CPU/network/disk quotas
|
||||||
- Try new tools, experiment and roll back changes when something goes wrong
|
- Try new tools, experiment and roll back changes when something goes wrong
|
||||||
- Share your setup with others or extend someone else’s development environment
|
- Share your setup with others or extend someone else's development environment
|
||||||
- Run multiple Emacs instances on the same machine isolated
|
- Run multiple Emacs instances on the same machine isolated
|
||||||
- [[https://docs.docker.com/engine/reference/commandline/pause/][pause]] container to free resources temporarily
|
- [[https://docs.docker.com/engine/reference/commandline/pause/][pause]] container to free resources temporarily
|
||||||
- [[https://github.com/docker/docker/blob/1.13.x/experimental/checkpoint-restore.md][Checkpoint & Restore]] - maybe the fastest way to start a “heavy” environment
|
- [[https://github.com/docker/docker/blob/1.13.x/experimental/checkpoint-restore.md][Checkpoint & Restore]] - maybe the fastest way to start a "heavy" environment
|
||||||
- Friendly for networks with low upload speed/quotas.
|
- Friendly for networks with low upload speed/quotas.
|
||||||
|
|
||||||
** Utilities
|
** Utilities
|
||||||
|
@ -2283,11 +2283,11 @@ Features:
|
||||||
|
|
||||||
This layer enables [[https://github.com/bmag/emacs-purpose][window-purpose]], which provides an alternative, purpose-based
|
This layer enables [[https://github.com/bmag/emacs-purpose][window-purpose]], which provides an alternative, purpose-based
|
||||||
window manager for Emacs. With this layer, your window layout should be robust
|
window manager for Emacs. With this layer, your window layout should be robust
|
||||||
and shouldn’t change too much when opening all sorts of buffers.
|
and shouldn't change too much when opening all sorts of buffers.
|
||||||
|
|
||||||
Regular [[https://github.com/m2ym/popwin-el][popwin]] is not triggered when window-purpose is enabled. However,
|
Regular [[https://github.com/m2ym/popwin-el][popwin]] is not triggered when window-purpose is enabled. However,
|
||||||
the window-purpose layer provides a =purpose-popwin= extension, which
|
the window-purpose layer provides a =purpose-popwin= extension, which
|
||||||
brings popwin’s behavior to window-purpose and solves that problem.
|
brings popwin's behavior to window-purpose and solves that problem.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Window layout is more robust and less likely to change unintentionally
|
- Window layout is more robust and less likely to change unintentionally
|
||||||
|
@ -2296,7 +2296,7 @@ Features:
|
||||||
- Extensible window display behavior
|
- Extensible window display behavior
|
||||||
- Empty =purpose-mode-map=, to avoid conflicts with other key maps
|
- Empty =purpose-mode-map=, to avoid conflicts with other key maps
|
||||||
- Replicate popwin behavior for purpose-mode - almost no regression in popup behavior from using window-purpose.
|
- Replicate popwin behavior for purpose-mode - almost no regression in popup behavior from using window-purpose.
|
||||||
- Reuses popwin’s settings: =popwin:special-display-config=, =popwin:popup-window-height= and =popwin:popup-window-width=.
|
- Reuses popwin's settings: =popwin:special-display-config=, =popwin:popup-window-height= and =popwin:popup-window-width=.
|
||||||
- Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation.
|
- Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation.
|
||||||
|
|
||||||
* Tagging
|
* Tagging
|
||||||
|
@ -2520,13 +2520,13 @@ Features:
|
||||||
- Supports the following adjustments:
|
- Supports the following adjustments:
|
||||||
- Automatic switching between light (day) and dark (night) themes via [[https://github.com/hadronzoo/theme-changer][theme-changer]]
|
- Automatic switching between light (day) and dark (night) themes via [[https://github.com/hadronzoo/theme-changer][theme-changer]]
|
||||||
- Local weather forecast via [[https://github.com/aaronbieber/sunshine.el/blob/master/sunshine.el][sunshine]]
|
- Local weather forecast via [[https://github.com/aaronbieber/sunshine.el/blob/master/sunshine.el][sunshine]]
|
||||||
- Integration with OS X’s CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]]
|
- Integration with OS X's CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]]
|
||||||
- Manual location setting via variables in your dotfile
|
- Manual location setting via variables in your dotfile
|
||||||
|
|
||||||
** Imenu-list
|
** Imenu-list
|
||||||
[[file:+tools/imenu-list/README.org][+tools/imenu-list/README.org]]
|
[[file:+tools/imenu-list/README.org][+tools/imenu-list/README.org]]
|
||||||
|
|
||||||
This layer uses [[https://github.com/bmag/imenu-list][imenu-list]] to show the current buffer’s index in a side bar.
|
This layer uses [[https://github.com/bmag/imenu-list][imenu-list]] to show the current buffer's index in a side bar.
|
||||||
|
|
||||||
This is similar to `SPC j i` but displayed in a persistent sidebar instead of
|
This is similar to `SPC j i` but displayed in a persistent sidebar instead of
|
||||||
a completion buffer.
|
a completion buffer.
|
||||||
|
@ -2551,7 +2551,7 @@ This layer adds support for basic language server protocol packages speaking
|
||||||
[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]].
|
[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]].
|
||||||
|
|
||||||
Different language servers may support the language server protocol to varying degrees
|
Different language servers may support the language server protocol to varying degrees
|
||||||
and they may also provide extensions; check the language server’s website for
|
and they may also provide extensions; check the language server's website for
|
||||||
details.
|
details.
|
||||||
=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server.
|
=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server.
|
||||||
|
|
||||||
|
@ -2621,7 +2621,7 @@ Features:
|
||||||
[[file:+tools/prodigy/README.org][+tools/prodigy/README.org]]
|
[[file:+tools/prodigy/README.org][+tools/prodigy/README.org]]
|
||||||
|
|
||||||
This layer adds support for the [[https://github.com/rejeep/prodigy.el][prodigy]] package to manage external services from
|
This layer adds support for the [[https://github.com/rejeep/prodigy.el][prodigy]] package to manage external services from
|
||||||
within Emacs, check the package’s documentation for more details.
|
within Emacs, check the package's documentation for more details.
|
||||||
|
|
||||||
It is recommended to put your prodigy services in the =dotspacemacs/user-config=
|
It is recommended to put your prodigy services in the =dotspacemacs/user-config=
|
||||||
part of your =~/.spacemacs= file.
|
part of your =~/.spacemacs= file.
|
||||||
|
@ -2808,10 +2808,10 @@ Features:
|
||||||
** Evil-snipe
|
** Evil-snipe
|
||||||
[[file:+vim/evil-snipe/README.org][+vim/evil-snipe/README.org]]
|
[[file:+vim/evil-snipe/README.org][+vim/evil-snipe/README.org]]
|
||||||
|
|
||||||
This layer adds various replacements for vim’s default search functions.
|
This layer adds various replacements for vim's default search functions.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Alternative implementation of vim’s default search operations.
|
- Alternative implementation of vim's default search operations.
|
||||||
- Replacement of evil-surround with a two-character search.
|
- Replacement of evil-surround with a two-character search.
|
||||||
- Support for alternative scopes for default search operations.
|
- Support for alternative scopes for default search operations.
|
||||||
- Support for alternative motions based on configurable regexps.
|
- Support for alternative motions based on configurable regexps.
|
||||||
|
@ -2820,12 +2820,12 @@ Features:
|
||||||
[[file:+vim/vim-empty-lines/README.org][+vim/vim-empty-lines/README.org]]
|
[[file:+vim/vim-empty-lines/README.org][+vim/vim-empty-lines/README.org]]
|
||||||
|
|
||||||
This layer is a drop-in replacement for the =vi-tilde-fringe= mode, for those
|
This layer is a drop-in replacement for the =vi-tilde-fringe= mode, for those
|
||||||
who desire behaviour closer to =vim=’s.
|
who desire behaviour closer to =vim='s.
|
||||||
|
|
||||||
It has better compatibility with retina displays, as it uses a text overlay
|
It has better compatibility with retina displays, as it uses a text overlay
|
||||||
using your font, rather than a pixel-art tilde. The empty line indicators are
|
using your font, rather than a pixel-art tilde. The empty line indicators are
|
||||||
overlaid in within the buffer as in =vim=, and not in the fringe. The indicator
|
overlaid in within the buffer as in =vim=, and not in the fringe. The indicator
|
||||||
behaviour with trailing empty lines matches =vim=’s behaviour.
|
behaviour with trailing empty lines matches =vim='s behaviour.
|
||||||
|
|
||||||
For details, see the [[https://github.com/jmickelin/vim-empty-lines-mode][vim-empty-lines-mode]] repository.
|
For details, see the [[https://github.com/jmickelin/vim-empty-lines-mode][vim-empty-lines-mode]] repository.
|
||||||
|
|
||||||
|
@ -2838,7 +2838,7 @@ Features:
|
||||||
|
|
||||||
This layer is a port of vim-vinegar for emacs.
|
This layer is a port of vim-vinegar for emacs.
|
||||||
|
|
||||||
It is based on tpope’s [[https://github.com/tpope/vim-vinegar][vinegar.vim]], simplifying =dired=
|
It is based on tpope's [[https://github.com/tpope/vim-vinegar][vinegar.vim]], simplifying =dired=
|
||||||
with a limited number of details and exposing the ~-~ command in all
|
with a limited number of details and exposing the ~-~ command in all
|
||||||
buffers to enter dired.
|
buffers to enter dired.
|
||||||
|
|
||||||
|
@ -2890,7 +2890,7 @@ Features:
|
||||||
- Viewing various timelines
|
- Viewing various timelines
|
||||||
- Home timeline
|
- Home timeline
|
||||||
- Replies
|
- Replies
|
||||||
- User’s timeline
|
- User's timeline
|
||||||
- Public timeline
|
- Public timeline
|
||||||
- Favorites timeline
|
- Favorites timeline
|
||||||
- Retweets timeline
|
- Retweets timeline
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
* Introduction
|
* Introduction
|
||||||
0.200 is a huge release with more than 1700 commits since the last major version
|
0.200 is a huge release with more than 1700 commits since the last major version
|
||||||
released in January 2016. Actually it is so big that we jumped directly from
|
released in January 2016. Actually it is so big that we jumped directly from
|
||||||
version 0.105 to version 0.200, so don’t panic if you think you missed all the
|
version 0.105 to version 0.200, so don't panic if you think you missed all the
|
||||||
versions since 0.105 :-)
|
versions since 0.105 :-)
|
||||||
|
|
||||||
This first newsletter describes with details the main changes introduced in the
|
This first newsletter describes with details the main changes introduced in the
|
||||||
|
@ -42,7 +42,7 @@ last months.
|
||||||
The (boring) complete list of changes can be found in the file =CHANGELOG.org=
|
The (boring) complete list of changes can be found in the file =CHANGELOG.org=
|
||||||
at the root of the Git repository.
|
at the root of the Git repository.
|
||||||
|
|
||||||
Let’s start with the hottest section: breaking changes!
|
Let's start with the hottest section: breaking changes!
|
||||||
|
|
||||||
* Breaking changes
|
* Breaking changes
|
||||||
Before starting with the breaking changes let me begin with a few words about
|
Before starting with the breaking changes let me begin with a few words about
|
||||||
|
@ -62,7 +62,7 @@ in 2013. Supporting this version in Spacemacs is more and more work for
|
||||||
maintainers so we decided to drop all the 24.3 related code in Spacemacs
|
maintainers so we decided to drop all the 24.3 related code in Spacemacs
|
||||||
effectively raising the minimum Emacs version required to 24.4. We believe that
|
effectively raising the minimum Emacs version required to 24.4. We believe that
|
||||||
users are able to switch to a newer version of Emacs, if you need help in this
|
users are able to switch to a newer version of Emacs, if you need help in this
|
||||||
process you can try the [[https://gitter.im/syl20bnr/spacemacs][Gitter chat]], I’m sure you’ll find solutions there.
|
process you can try the [[https://gitter.im/syl20bnr/spacemacs][Gitter chat]], I'm sure you'll find solutions there.
|
||||||
|
|
||||||
** Some modifications in the layer format
|
** Some modifications in the layer format
|
||||||
We renamed =extensions= directories in layers to =local= and the file
|
We renamed =extensions= directories in layers to =local= and the file
|
||||||
|
@ -123,7 +123,7 @@ _After:_
|
||||||
|
|
||||||
A new file called =layers.el= is in charge of layers dependency, i.e. when a
|
A new file called =layers.el= is in charge of layers dependency, i.e. when a
|
||||||
layer needs to declare additional layers. Previously this was done in the
|
layer needs to declare additional layers. Previously this was done in the
|
||||||
=config.el= file, to avoid errors you’ll have to move the calls to the functions
|
=config.el= file, to avoid errors you'll have to move the calls to the functions
|
||||||
=configuration-layer/declare-layer= and =configuration-layer/declare-layers= to
|
=configuration-layer/declare-layer= and =configuration-layer/declare-layers= to
|
||||||
a dedicated =layers.el= file. An example can be found in the
|
a dedicated =layers.el= file. An example can be found in the
|
||||||
[[https://github.com/syl20bnr/spacemacs/blob/564cbc40eda936985325c9b79088fbcb39d9a69d/layers/%2Bdistributions/spacemacs/layers.el][spacemacs distribution layer]].
|
[[https://github.com/syl20bnr/spacemacs/blob/564cbc40eda936985325c9b79088fbcb39d9a69d/layers/%2Bdistributions/spacemacs/layers.el][spacemacs distribution layer]].
|
||||||
|
@ -138,7 +138,7 @@ support for the value =all=.
|
||||||
A new variable =dotspacemacs-install-packages= is now dedicated to control what
|
A new variable =dotspacemacs-install-packages= is now dedicated to control what
|
||||||
packages are downloaded by Spacemacs. Three behaviours are supported:
|
packages are downloaded by Spacemacs. Three behaviours are supported:
|
||||||
- =used-only= (default) will download only the used packages
|
- =used-only= (default) will download only the used packages
|
||||||
- =used-but-keep-unused= will download only the used packages but won’t uninstall
|
- =used-but-keep-unused= will download only the used packages but won't uninstall
|
||||||
them if they become unused
|
them if they become unused
|
||||||
- =all= will download _all_ the supported packages by Spacemacs.
|
- =all= will download _all_ the supported packages by Spacemacs.
|
||||||
|
|
||||||
|
@ -149,13 +149,13 @@ is a rather big amount of changes for users jumping from master 0.105 to 0.200.
|
||||||
First of all the most visible change is for ~SPC SPC~ which triggers now ~M-x~
|
First of all the most visible change is for ~SPC SPC~ which triggers now ~M-x~
|
||||||
instead of =avy= to jump to a character. The ~SPC~ key in Spacemacs is a central
|
instead of =avy= to jump to a character. The ~SPC~ key in Spacemacs is a central
|
||||||
key as it acts as the leader key for _all_ the key bindings, it made sense to
|
key as it acts as the leader key for _all_ the key bindings, it made sense to
|
||||||
give the same sense of “root” key to the sequence ~SPC SPC~, so now ~SPC SPC~ is
|
give the same sense of "root" key to the sequence ~SPC SPC~, so now ~SPC SPC~ is
|
||||||
the central sequence to execute _any_ interactive function in Emacs.
|
the central sequence to execute _any_ interactive function in Emacs.
|
||||||
|
|
||||||
Where is the =avy= command then ? We reorganised from the ground up the prefix
|
Where is the =avy= command then ? We reorganised from the ground up the prefix
|
||||||
~SPC j~ for all jump commands. In the conventions a doubled key is often used
|
~SPC j~ for all jump commands. In the conventions a doubled key is often used
|
||||||
for the default command under a given prefix, for instance ~SPC b b~ is for
|
for the default command under a given prefix, for instance ~SPC b b~ is for
|
||||||
buffer selection, ~SPC f f~ for file selection etc... The “jump to character”
|
buffer selection, ~SPC f f~ for file selection etc... The "jump to character"
|
||||||
command of =avy= is then under ~SPC j j~. Here is a detailed list of the new
|
command of =avy= is then under ~SPC j j~. Here is a detailed list of the new
|
||||||
~SPC j~ prefix:
|
~SPC j~ prefix:
|
||||||
- =avy= commands are now behind the prefix ~SPC j~ for =jump=:
|
- =avy= commands are now behind the prefix ~SPC j~ for =jump=:
|
||||||
|
@ -175,7 +175,7 @@ Closing, deleting or killing things ? This can be a tough call to distinguish
|
||||||
them and we can find such confusion in the Spacemacs key bindings, for instance
|
them and we can find such confusion in the Spacemacs key bindings, for instance
|
||||||
we close a window but we delete a buffer and we can also kill a buffer. Whereas
|
we close a window but we delete a buffer and we can also kill a buffer. Whereas
|
||||||
it can make sense for a lot of users, there are still users finding this
|
it can make sense for a lot of users, there are still users finding this
|
||||||
confusing. So we decided to simplify the notion of “closing/deleting” things
|
confusing. So we decided to simplify the notion of "closing/deleting" things
|
||||||
under the ~d~ key for =delete=. We moved ~SPC w c~ and ~SPC w C~ to ~SPC w d~
|
under the ~d~ key for =delete=. We moved ~SPC w c~ and ~SPC w C~ to ~SPC w d~
|
||||||
and ~SPC w D~.
|
and ~SPC w D~.
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ windows and buffers. The result is detailed here:
|
||||||
- ~SPC b K~ (kill other buffers) is now ~SPC b m~ to map with ~SPC w m~
|
- ~SPC b K~ (kill other buffers) is now ~SPC b m~ to map with ~SPC w m~
|
||||||
(maximize buffer/window which effectively delete other windows).
|
(maximize buffer/window which effectively delete other windows).
|
||||||
- ~SPC b D~ now kills a buffer using =ace-window=.
|
- ~SPC b D~ now kills a buffer using =ace-window=.
|
||||||
- Buffer actions don’t delete the windows by default, use the universal
|
- Buffer actions don't delete the windows by default, use the universal
|
||||||
prefix argument to do so, for instance ~SPC u SPC b d~ and ~SPC u SPC b D~
|
prefix argument to do so, for instance ~SPC u SPC b d~ and ~SPC u SPC b D~
|
||||||
will delete the buffer and also the window. Another example is
|
will delete the buffer and also the window. Another example is
|
||||||
~SPC u SPC b m~ to maximize a buffer.
|
~SPC u SPC b m~ to maximize a buffer.
|
||||||
|
@ -276,7 +276,7 @@ Another example to select all the packages except =fancy-battery=:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Improved stability
|
** Improved stability
|
||||||
This is one of the Achilles’ heel of Spacemacs. We rely on bleeding edge version
|
This is one of the Achilles' heel of Spacemacs. We rely on bleeding edge version
|
||||||
of packages from =melpa= repository to install a fresh version of Spacemacs. If
|
of packages from =melpa= repository to install a fresh version of Spacemacs. If
|
||||||
the repository is down then no sugar, try again later.
|
the repository is down then no sugar, try again later.
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ supported extension.
|
||||||
|
|
||||||
For instance, when opening an Elixir file with extension =.ex= Spacemacs will
|
For instance, when opening an Elixir file with extension =.ex= Spacemacs will
|
||||||
ask to install the =elixir= layer if it is not already used. The =elixir= layer
|
ask to install the =elixir= layer if it is not already used. The =elixir= layer
|
||||||
is automatically added to the dotfile so it won’t be uninstalled after a
|
is automatically added to the dotfile so it won't be uninstalled after a
|
||||||
restart.
|
restart.
|
||||||
|
|
||||||
By default this feature is _disabled_, you have to opt-in for it by setting
|
By default this feature is _disabled_, you have to opt-in for it by setting
|
||||||
|
@ -312,7 +312,7 @@ values:
|
||||||
- =unused= to lazy install only layers not listed in
|
- =unused= to lazy install only layers not listed in
|
||||||
=dotspacemacs-configuration-layers=
|
=dotspacemacs-configuration-layers=
|
||||||
- =all= to lazy install any layer supporting lazy installation (i.e. even the
|
- =all= to lazy install any layer supporting lazy installation (i.e. even the
|
||||||
used layers won’t be installed at startup until you open a file with a
|
used layers won't be installed at startup until you open a file with a
|
||||||
supported extension).
|
supported extension).
|
||||||
|
|
||||||
** A better hybrid editing style
|
** A better hybrid editing style
|
||||||
|
@ -341,7 +341,7 @@ layer to your dotfile and reloading it with ~SPC f e R~!
|
||||||
|
|
||||||
The level of feature of the =ivy= layer is pretty on par with the =helm= layer,
|
The level of feature of the =ivy= layer is pretty on par with the =helm= layer,
|
||||||
this is a fantastic work and it demonstrates all the power of a community-driven
|
this is a fantastic work and it demonstrates all the power of a community-driven
|
||||||
configuration. I’m really excited by this new feature and how it is so easy to
|
configuration. I'm really excited by this new feature and how it is so easy to
|
||||||
enjoy it. Nice work guys!
|
enjoy it. Nice work guys!
|
||||||
|
|
||||||
** Better transient-states
|
** Better transient-states
|
||||||
|
@ -481,11 +481,11 @@ previous stable state if required.
|
||||||
** More consistent window behaviour
|
** More consistent window behaviour
|
||||||
One of the main focus for 0.201 will be to integrate [[https://github.com/bmag/emacs-purpose][emacs-purpose]]. It is a
|
One of the main focus for 0.201 will be to integrate [[https://github.com/bmag/emacs-purpose][emacs-purpose]]. It is a
|
||||||
package to display buffer in the same windows. The current pull request is very
|
package to display buffer in the same windows. The current pull request is very
|
||||||
popular and I’m sure you’ll like what it will bring to the Spacemacs experience.
|
popular and I'm sure you'll like what it will bring to the Spacemacs experience.
|
||||||
|
|
||||||
** New layers
|
** New layers
|
||||||
Pull requests with new layers are low on the priority list because reviewing
|
Pull requests with new layers are low on the priority list because reviewing
|
||||||
them is more time consuming. For 0.201 I’ll focus on all the pull requests with
|
them is more time consuming. For 0.201 I'll focus on all the pull requests with
|
||||||
new layers in order to speed up the merge so you can expect more new layers for
|
new layers in order to speed up the merge so you can expect more new layers for
|
||||||
0.201 than 0.200.
|
0.201 than 0.200.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue