documentation fixes:Wed Oct 17 04:03:28 UTC 2018
This commit is contained in:
parent
4024b60757
commit
0fb6470acf
|
@ -308,27 +308,27 @@ testable layer is enabled in turn.
|
|||
To add tests for a layer, do the following:
|
||||
1. Create a subfolder of =tests/= corresponding to the layer you want to test.
|
||||
2. Write a file called =dotspacemacs.el= in that folder. It should be a minimal
|
||||
dotfile that enables the layer in question (and other layers it may depend
|
||||
on).
|
||||
dotfile that enables the layer in question (and other layers it may depend
|
||||
on).
|
||||
3. Write a number of files with tests. Please try to separate unit and
|
||||
functional tests. Look at existing tests for clues.
|
||||
functional tests. Look at existing tests for clues.
|
||||
4. Write a =Makefile= in that folder. It should define three variables.
|
||||
- a list of additional files to load before testing (relative
|
||||
to the root Spacemacs folder). This should typically be =init.el=.
|
||||
- a list of unit test files in the current folder.
|
||||
- a list of functional test files in the current folder.
|
||||
- a list of additional files to load before testing (relative
|
||||
to the root Spacemacs folder). This should typically be =init.el=.
|
||||
- a list of unit test files in the current folder.
|
||||
- a list of functional test files in the current folder.
|
||||
|
||||
See existing tests for examples.
|
||||
See existing tests for examples.
|
||||
|
||||
#+BEGIN_SRC makefile
|
||||
TEST_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||
#+BEGIN_SRC makefile
|
||||
TEST_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||
|
||||
LOAD_FILES = ...
|
||||
UNIT_TEST_FILES = ...
|
||||
FUNC_TEST_FILES = ...
|
||||
LOAD_FILES = ...
|
||||
UNIT_TEST_FILES = ...
|
||||
FUNC_TEST_FILES = ...
|
||||
|
||||
include ../../spacemacs.mk
|
||||
#+END_SRC
|
||||
include ../../spacemacs.mk
|
||||
#+END_SRC
|
||||
|
||||
5. Add the new test to list of tests in =travis/run_build.sh=.
|
||||
|
||||
|
|
|
@ -405,26 +405,26 @@ More on this in the next section.
|
|||
* The Spacemacs loading process
|
||||
The Spacemacs loading process can be summarized as follows:
|
||||
1. Spacemacs goes through all the enabled layers and evaluates their files.
|
||||
First =layers.el= is loaded to declare layer dependencies. Then =packages.el=
|
||||
and =funcs.el= are loaded, but nothing happens from them since these files
|
||||
only define functions and variables, then the changes introduced by
|
||||
=config.el= are applied.
|
||||
First =layers.el= is loaded to declare layer dependencies. Then =packages.el=
|
||||
and =funcs.el= are loaded, but nothing happens from them since these files
|
||||
only define functions and variables, then the changes introduced by
|
||||
=config.el= are applied.
|
||||
2. Spacemacs checks which packages should be downloaded and installed. To be
|
||||
installed, a package must be
|
||||
- included by a layer that the user has enabled,
|
||||
- not be excluded by any other layer that the user has enabled,
|
||||
- not be excluded by the user herself, and
|
||||
- there must be at least one =<layer>/init-<package>= function defined for
|
||||
it.
|
||||
installed, a package must be
|
||||
- included by a layer that the user has enabled,
|
||||
- not be excluded by any other layer that the user has enabled,
|
||||
- not be excluded by the user herself, and
|
||||
- there must be at least one =<layer>/init-<package>= function defined for
|
||||
it.
|
||||
|
||||
Alternatively, if a package is part of the end user’s
|
||||
=dotspacemacs-additional-packages=, it will also be installed.
|
||||
Alternatively, if a package is part of the end user’s
|
||||
=dotspacemacs-additional-packages=, it will also be installed.
|
||||
3. All packages which should be installed are installed in alphabetical order,
|
||||
=package.el= built-in Emacs library is in charge of implicit dependencies.
|
||||
Installed packages not following the rules of 2. are removed as well as
|
||||
their dependencies if possible. (This last behavior is optional but default.)
|
||||
=package.el= built-in Emacs library is in charge of implicit dependencies.
|
||||
Installed packages not following the rules of 2. are removed as well as
|
||||
their dependencies if possible. (This last behavior is optional but default.)
|
||||
4. The =pre-init=, =init= and =post-init= functions for each installed package
|
||||
are executed in turn.
|
||||
are executed in turn.
|
||||
|
||||
It is step four that interests us. It is very important that a package is not
|
||||
installed if no =init= function is defined for it.
|
||||
|
|
|
@ -90,29 +90,29 @@ recommended.
|
|||
This method is considered secured and is the recommended way to configure
|
||||
rcirc.
|
||||
1) If you want to use =authinfo.gpg= you have to enable the support for it by
|
||||
setting =rcirc-enable-authinfo-support= to =t= in your dotfile:
|
||||
setting =rcirc-enable-authinfo-support= to =t= in your dotfile:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default dotspacemacs-configuration-layers '(
|
||||
(rcirc :variables rcirc-enable-authinfo-support t)))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default dotspacemacs-configuration-layers '(
|
||||
(rcirc :variables rcirc-enable-authinfo-support t)))
|
||||
#+END_SRC
|
||||
|
||||
2) In your =~/.authinfo.gpg= file store your credentials like this:
|
||||
|
||||
#+BEGIN_EXAMPLE
|
||||
machine irc.freenode.net port nickserv user <user> password <passwd>
|
||||
#+END_EXAMPLE
|
||||
#+BEGIN_EXAMPLE
|
||||
machine irc.freenode.net port nickserv user <user> password <passwd>
|
||||
#+END_EXAMPLE
|
||||
|
||||
3) At last you need to provide your servers configuration in the
|
||||
=dotspacemacs/user-config= function of your dotfile:
|
||||
=dotspacemacs/user-config= function of your dotfile:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq rcirc-server-alist
|
||||
'(("irc.freenode.net"
|
||||
:user-name "spacemacs_user"
|
||||
:port "1337"
|
||||
:channels ("#emacs"))))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq rcirc-server-alist
|
||||
'(("irc.freenode.net"
|
||||
:user-name "spacemacs_user"
|
||||
:port "1337"
|
||||
:channels ("#emacs"))))
|
||||
#+END_SRC
|
||||
|
||||
*** Connecting behind a ZNC bouncer and storing the credentials in authinfo
|
||||
This methods is also secured since it uses authinfo _but_ you must secure your
|
||||
|
@ -131,40 +131,40 @@ setup. If it is not the case then it is recommended to read about ZNC
|
|||
**** Note
|
||||
For now authinfo is mandatory to use the ZNC configuration.
|
||||
1) To enable ZNC support set the variable =rcirc-enable-znc-support= to =t= in
|
||||
your dotfile:
|
||||
your dotfile:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default dotspacemacs-configuration-layers '(
|
||||
(rcirc :variables rcirc-enable-znc-support t)))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default dotspacemacs-configuration-layers '(
|
||||
(rcirc :variables rcirc-enable-znc-support t)))
|
||||
#+END_SRC
|
||||
|
||||
2) In your =~/.authinfo.gpg= file store your credentials like this:
|
||||
|
||||
#+BEGIN_EXAMPLE
|
||||
machine freenode.spacemacsserver.me port irc user spacemacs_user/freenode password ZNC_PASSWORD
|
||||
machine geekshed.spacemacsserver.me port irc user spacemacs_user/geekshed password ZNC_PASSWORD
|
||||
#+END_EXAMPLE
|
||||
#+BEGIN_EXAMPLE
|
||||
machine freenode.spacemacsserver.me port irc user spacemacs_user/freenode password ZNC_PASSWORD
|
||||
machine geekshed.spacemacsserver.me port irc user spacemacs_user/geekshed password ZNC_PASSWORD
|
||||
#+END_EXAMPLE
|
||||
|
||||
*Important* =port= must be set to =irc=. This is a convention of the layer to
|
||||
retrieve the credentials for the ZNC configuration.
|
||||
*Important* =port= must be set to =irc=. This is a convention of the layer to
|
||||
retrieve the credentials for the ZNC configuration.
|
||||
3) Then setup your servers configuration using subdomains in the
|
||||
=dotspacemacs/user-config= function of your dotfile. The =:auth= keyword arguments
|
||||
will be replaced by the credentials stored in your =~/.authinfo.gpg=.
|
||||
=dotspacemacs/user-config= function of your dotfile. The =:auth= keyword arguments
|
||||
will be replaced by the credentials stored in your =~/.authinfo.gpg=.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq rcirc-server-alist
|
||||
;; This will replace :auth with the correct thing, see the doc for that function
|
||||
'(("freenode"
|
||||
:host "freenode.spacemacsserver.me"
|
||||
:port "1337"
|
||||
:auth "spacemacs_user/freenode"
|
||||
:channels ("#emacs"))
|
||||
("geekshed"
|
||||
:host "geekshed.spacemacsserver.me"
|
||||
:port "1337"
|
||||
:auth "spacemacs_user/geekshed"
|
||||
:channels ("#jupiterbroadcasting"))))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq rcirc-server-alist
|
||||
;; This will replace :auth with the correct thing, see the doc for that function
|
||||
'(("freenode"
|
||||
:host "freenode.spacemacsserver.me"
|
||||
:port "1337"
|
||||
:auth "spacemacs_user/freenode"
|
||||
:channels ("#emacs"))
|
||||
("geekshed"
|
||||
:host "geekshed.spacemacsserver.me"
|
||||
:port "1337"
|
||||
:auth "spacemacs_user/geekshed"
|
||||
:channels ("#jupiterbroadcasting"))))
|
||||
#+END_SRC
|
||||
|
||||
* Key Bindings
|
||||
|
||||
|
|
|
@ -43,24 +43,24 @@ layer for it to have any effect.
|
|||
You can customize the user experience of auto-completion with the following
|
||||
layer variables:
|
||||
1. =auto-completion-return-key-behavior= set the action to perform when the
|
||||
~RET~ key is pressed, the possible values are:
|
||||
- =complete= completes with the current selection
|
||||
- =nil= does nothing
|
||||
~RET~ key is pressed, the possible values are:
|
||||
- =complete= completes with the current selection
|
||||
- =nil= does nothing
|
||||
2. =auto-completion-tab-key-behavior= set the action to perform when the ~TAB~
|
||||
key is pressed, the possible values are:
|
||||
- =complete= completes with the current selection
|
||||
- =cycle= completes the common prefix and cycle between candidates
|
||||
- =nil= does nothing
|
||||
key is pressed, the possible values are:
|
||||
- =complete= completes with the current selection
|
||||
- =cycle= completes the common prefix and cycle between candidates
|
||||
- =nil= does nothing
|
||||
3. =auto-completion-complete-with-key-sequence= is a string of two characters
|
||||
denoting a key sequence that will perform a =complete action= if the sequence
|
||||
has been entered quickly enough. If its value is =nil= then the feature is
|
||||
disabled.
|
||||
denoting a key sequence that will perform a =complete action= if the sequence
|
||||
has been entered quickly enough. If its value is =nil= then the feature is
|
||||
disabled.
|
||||
4. =auto-completion-complete-with-key-sequence-delay= is the number of seconds
|
||||
to wait for the auto-completion key sequence to be entered. The default value
|
||||
is 0.1 seconds.
|
||||
to wait for the auto-completion key sequence to be entered. The default value
|
||||
is 0.1 seconds.
|
||||
5. =auto-completion-idle-delay= is the number of seconds to wait before suggesting
|
||||
completions. The default value is 0.2 seconds. Set to =nil= to disable
|
||||
automatic suggestions (the ~TAB~ key will still perform completion).
|
||||
completions. The default value is 0.2 seconds. Set to =nil= to disable
|
||||
automatic suggestions (the ~TAB~ key will still perform completion).
|
||||
|
||||
The default configuration of the layer is:
|
||||
|
||||
|
|
|
@ -15,14 +15,14 @@ Dependency installation script for [[https://github.com/syl20bnr/spacemacs/blob/
|
|||
* List of installed software:
|
||||
1. [[http://packages.ubuntu.com/en/xenial/zeal][zeal]] - documentation browser.
|
||||
2. Docsets for layers (if the are used in .spacemacs):
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/clojure/README.org][clojure]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/go/README.org][go]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/html/README.org][html]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/emacs-lisp/README.org][emacs-lisp]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/javascript/README.org][javascript]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Btools/docker/README.org][docker]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/markdown/README.org][markdown]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/python/README.org][python]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/clojure/README.org][clojure]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/go/README.org][go]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/html/README.org][html]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/emacs-lisp/README.org][emacs-lisp]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/javascript/README.org][javascript]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Btools/docker/README.org][docker]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/markdown/README.org][markdown]]
|
||||
- [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/python/README.org][python]]
|
||||
|
||||
* Notes:
|
||||
- You can get more docsets at [[https://kapeli.com/docset_links]]
|
||||
|
|
|
@ -94,7 +94,7 @@ encounters this function it will start the debugger.
|
|||
evilified state otherwise you end up in emacs state and =*Debugging*= is
|
||||
displayed in the mode line.
|
||||
5) Press ~s~ to go to next step up to the opening parenthesis of
|
||||
=(subroutine name)=,
|
||||
=(subroutine name)=,
|
||||
6) Press ~i~ to go into the =subroutine= where you can press ~s~ to step in
|
||||
|
||||
function or press ~o~ to go out of it.
|
||||
|
|
|
@ -36,7 +36,7 @@ richer, IDE-like capabilities. To use this layer with lsp, you must do the
|
|||
following:
|
||||
1. Add =lsp= to =dotspacemacs-configuration-layers=.
|
||||
2. Install =LanguageServer.jl= by invoking =Pkg.add("LanguageServer")= in the
|
||||
Julia REPL.
|
||||
Julia REPL.
|
||||
3. Enable layer integration with lsp as described in section below.
|
||||
|
||||
=LanguageServer.jl= tends to have a very long startup time. In the worst case,
|
||||
|
|
|
@ -40,10 +40,10 @@ initialization tasks which must occur to get the completion working as it should
|
|||
On any new project make sure to perform the following initialization tasks:
|
||||
1. Run the following
|
||||
|
||||
#+BEGIN_SRC shell
|
||||
cd /root/of/project
|
||||
touch .ac-php-conf.json
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC shell
|
||||
cd /root/of/project
|
||||
touch .ac-php-conf.json
|
||||
#+END_SRC
|
||||
|
||||
2. Inside of spacemacs run:
|
||||
= ac-php-remake-tags-all =
|
||||
= ac-php-remake-tags-all =
|
||||
|
|
|
@ -30,33 +30,33 @@ file.
|
|||
1) Install the =ycm= server. Installation instructions can be found [[https://github.com/Valloric/ycmd#user-content-building][here]].
|
||||
2) Set the =ycmd-server-command= variable to reflect the path to the installation:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-server-command '("python" "/path/to/YouCompleteMe/third_party/ycmd/ycmd"))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-server-command '("python" "/path/to/YouCompleteMe/third_party/ycmd/ycmd"))
|
||||
#+END_SRC
|
||||
|
||||
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:
|
||||
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:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-server-command (list "python" (file-truename "~/some/path")))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-server-command (list "python" (file-truename "~/some/path")))
|
||||
#+END_SRC
|
||||
|
||||
3) By default, spacemacs configures ycmd for getting the compilation flags from either
|
||||
a compile_commands.json or a .clang_complete file and get additionnal flags from a
|
||||
.ycm_extra_flags file. If you do not like this behaviour, you can write your own
|
||||
[[https://github.com/Valloric/YouCompleteMe/blob/master/README.md#c-family-semantic-completion][.ycm_extra_conf.py file]]. See [[#configuration][Configuration]] for more details.
|
||||
a compile_commands.json or a .clang_complete file and get additionnal flags from a
|
||||
.ycm_extra_flags file. If you do not like this behaviour, you can write your own
|
||||
[[https://github.com/Valloric/YouCompleteMe/blob/master/README.md#c-family-semantic-completion][.ycm_extra_conf.py file]]. See [[#configuration][Configuration]] for more details.
|
||||
4) Whitelist the file by adding the following to =.spacemacs=:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; In this example we whitelist everything in the Develop folder
|
||||
(setq ycmd-extra-conf-whitelist '("~/Develop/*"))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; In this example we whitelist everything in the Develop folder
|
||||
(setq ycmd-extra-conf-whitelist '("~/Develop/*"))
|
||||
#+END_SRC
|
||||
|
||||
5) The completion is not going to work automatically until we actually force it:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-force-semantic-completion t)
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ycmd-force-semantic-completion t)
|
||||
#+END_SRC
|
||||
|
||||
** Other Requirements
|
||||
This package requires the =auto-completion= layer in order to get actual
|
||||
|
|
Loading…
Reference in New Issue