From 7a9c45527744adb9f32e209d8599eb55e92e5c94 Mon Sep 17 00:00:00 2001 From: emacspace Date: Sun, 12 May 2019 07:27:10 +0000 Subject: [PATCH] documentation formatting: Sun May 12 07:27:10 UTC 2019 --- layers/+lang/alda/README.org | 14 +- layers/LAYERS.org | 1 + layers/LAYERS_WIP.org | 3512 +++++++++++++++++----------------- 3 files changed, 1776 insertions(+), 1751 deletions(-) diff --git a/layers/+lang/alda/README.org b/layers/+lang/alda/README.org index 3a63d013c..3af9cf3e5 100644 --- a/layers/+lang/alda/README.org +++ b/layers/+lang/alda/README.org @@ -1,10 +1,18 @@ #+TITLE: Alda Layer +#+TAGS: layer|uncategorized + +* Table of Contents :TOC_4_gh:noexport: +- [[#description][Description]] + - [[#features][Features:]] +- [[#install][Install]] +- [[#key-bindings][Key bindings]] + * Description Alda is a music composition language allowing music to easily be written and edited in a text file. -This layer adds keybindings 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 Alda server if it is not running. @@ -19,9 +27,9 @@ You will also want to ensure that you have installed [[https://github.com/alda-l can play your code. * Key bindings -When alda-mode is active in an Alda file, you can use these keybindings: +When alda-mode is active in an Alda file, you can use these key bindings: -| Key Binding | Description | +| Key binding | Description | |-------------+---------------------------------| | ~SPC m r~ | Play region (selected text) | | ~SPC m c~ | Play block (paragraph on point) | diff --git a/layers/LAYERS.org b/layers/LAYERS.org index 49904803f..c822e46d8 100644 --- a/layers/LAYERS.org +++ b/layers/LAYERS.org @@ -88,6 +88,7 @@ * Programming and markup languages - [[file:+lang/agda/README.org][agda]] +- [[file:+lang/alda/README.org][alda]] - [[file:+lang/asciidoc/README.org][asciidoc]] - [[file:+lang/asm/README.org][asm]] - [[file:+lang/autohotkey/README.org][autohotkey]] diff --git a/layers/LAYERS_WIP.org b/layers/LAYERS_WIP.org index e80f112d6..76e08f3a8 100644 --- a/layers/LAYERS_WIP.org +++ b/layers/LAYERS_WIP.org @@ -7,50 +7,50 @@ - [[#rcirc-layer][RCIRC layer]] - [[#slack-layer][Slack layer]] - [[#checkers][Checkers]] - - [[#syntax-checking-layer][Syntax Checking layer]] - [[#spell-checking-layer][Spell Checking layer]] + - [[#syntax-checking-layer][Syntax Checking layer]] - [[#completion][Completion]] - - [[#templates-layer][Templates layer]] - - [[#helm-layer][Helm layer]] - [[#auto-completion-layer][Auto-completion layer]] + - [[#helm-layer][Helm layer]] - [[#ivy-layer][Ivy layer]] + - [[#templates-layer][Templates layer]] - [[#e-mail][E-mail]] + - [[#gnus-layer][Gnus layer]] - [[#mu4e-layer][Mu4e layer]] - [[#notmuch-layer][Notmuch layer]] - - [[#gnus-layer][Gnus layer]] - [[#file-trees][File trees]] - - [[#treemacs-layer][Treemacs layer]] - [[#neotree-layer][Neotree layer]] + - [[#treemacs-layer][Treemacs layer]] - [[#fonts][Fonts]] - [[#unicode-fonts-layer][unicode-fonts layer]] - [[#emacs][Emacs]] - - [[#smex-layer][Smex layer]] + - [[#better-defaults-layer][Better Defaults layer]] + - [[#ibuffer-layer][IBuffer layer]] - [[#org-layer][Org layer]] - [[#semantic-layer][Semantic layer]] - - [[#better-defaults-layer][Better Defaults layer]] + - [[#smex-layer][Smex layer]] - [[#typography-layer][Typography layer]] - - [[#ibuffer-layer][IBuffer layer]] - [[#frameworks][Frameworks]] - [[#django-layer][Django layer]] - [[#react-layer][React layer]] - - [[#emberjs-layer][emberjs layer]] - [[#ruby-on-rails-layer][Ruby on Rails layer]] + - [[#emberjs-layer][emberjs layer]] - [[#phoenix-layer][phoenix layer]] - [[#fun][Fun]] - - [[#selectric-layer][selectric layer]] - - [[#games-layer][Games layer]] - [[#emoji-layer][Emoji layer]] + - [[#games-layer][Games layer]] + - [[#selectric-layer][selectric layer]] - [[#xkcd-layer][xkcd layer]] - [[#internationalization][internationalization]] - - [[#japanese-layer][Japanese layer]] - [[#chinese-layer][Chinese layer]] + - [[#japanese-layer][Japanese layer]] - [[#keyboard-layout-layer][keyboard-layout layer]] - [[#miscellaneous][Miscellaneous]] - - [[#multiple-cursors-layer][multiple-cursors layer]] - [[#parinfer-layer][Parinfer layer]] - - [[#nlinum-layer][nlinum layer]] - [[#copy-as-format-layer][copy-as-format layer]] - [[#ietf-layer][ietf layer]] + - [[#multiple-cursors-layer][multiple-cursors layer]] + - [[#nlinum-layer][nlinum layer]] - [[#music][Music]] - [[#spotify-layer][Spotify layer]] - [[#operating-systems][Operating systems]] @@ -59,176 +59,177 @@ - [[#pair-programming][Pair programming]] - [[#floobits-layer][Floobits layer]] - [[#readers][Readers]] - - [[#pdf-layer][PDF layer]] - - [[#epub-layer][epub layer]] - [[#dash-layer][Dash layer]] - [[#deft-layer][Deft layer]] - [[#elfeed-layer][Elfeed layer]] + - [[#pdf-layer][PDF layer]] - [[#speed-reading-layer][Speed Reading layer]] + - [[#epub-layer][epub layer]] - [[#programming-languages][Programming languages]] - [[#general-purpose][General-purpose]] - [[#imperative][Imperative]] - [[#forth-layer][Forth layer]] - [[#asm-layer][asm layer]] - [[#source-control][Source control]] - - [[#version-control-layer][Version-Control layer]] + - [[#git-layer][Git layer]] - [[#github-layer][GitHub layer]] - [[#perforce-layer][Perforce layer]] - - [[#git-layer][Git layer]] + - [[#version-control-layer][Version-Control layer]] - [[#spacemacs][Spacemacs]] - [[#distributions][Distributions]] - [[#spacemacs-docker-distribution][spacemacs-docker distribution]] - [[#utilities][Utilities]] - [[#spacemacs-purpose-layer][Spacemacs-purpose layer]] - [[#tagging][Tagging]] - - [[#helm-gtags-layer][Helm Gtags layer]] - [[#cscope-layer][Cscope layer]] + - [[#helm-gtags-layer][Helm Gtags layer]] - [[#themes][Themes]] - - [[#themes-megapack-layer][Themes Megapack layer]] - [[#colors-layer][Colors layer]] + - [[#themes-megapack-layer][Themes Megapack layer]] - [[#theming-layer][Theming layer]] - [[#tools][Tools]] - - [[#cfengine-layer][CFEngine layer]] - - [[#node-layer][Node layer]] - [[#ansible-layer][Ansible layer]] + - [[#cfengine-layer][CFEngine layer]] + - [[#cmake-layer][CMake layer]] + - [[#chrome-layer][Chrome layer]] + - [[#dap-layer][DAP layer]] + - [[#docker-layer][Docker layer]] + - [[#finance-layer][Finance layer]] + - [[#geolocation-layer][Geolocation layer]] - [[#lsp-layer][LSP layer]] - - [[#command-log-layer][command-log layer]] - - [[#restclient-layer][Restclient layer]] - - [[#import-js-layer][import-js layer]] - - [[#systemd-layer][systemd layer]] - - [[#saltstack-layer][Saltstack layer]] + - [[#node-layer][Node layer]] + - [[#pandoc-layer][Pandoc layer]] + - [[#pass-layer][Pass layer]] + - [[#prodigy-layer][Prodigy layer]] + - [[#puppet-layer][Puppet layer]] - [[#ranger-layer][Ranger layer]] - [[#rebox-layer][Rebox layer]] - - [[#dap-layer][DAP layer]] - - [[#bm-layer][bm layer]] + - [[#restclient-layer][Restclient layer]] + - [[#saltstack-layer][Saltstack layer]] + - [[#shell-layer][Shell layer]] + - [[#sphinx-layer][Sphinx layer]] + - [[#tern-layer][Tern layer]] - [[#terraform-layer][Terraform layer]] + - [[#tmux-layer][Tmux layer]] - [[#transmission-layer][Transmission layer]] - - [[#docker-layer][Docker layer]] - [[#vagrant-layer][Vagrant layer]] - [[#ycmd-layer][YCMD layer]] - - [[#sphinx-layer][Sphinx layer]] - - [[#xclipboard-layer][xclipboard layer]] - - [[#shell-layer][Shell layer]] - - [[#tern-layer][Tern layer]] - - [[#fasd-layer][fasd layer]] - - [[#finance-layer][Finance layer]] - - [[#tmux-layer][Tmux layer]] - - [[#chrome-layer][Chrome layer]] - - [[#web-beautify-layer][web-beautify layer]] - - [[#nginx-layer][nginx layer]] - - [[#pass-layer][Pass layer]] - - [[#geolocation-layer][Geolocation layer]] - - [[#prodigy-layer][Prodigy layer]] - - [[#cmake-layer][CMake layer]] - - [[#imenu-list-layer][imenu-list layer]] + - [[#bm-layer][bm layer]] + - [[#command-log-layer][command-log layer]] - [[#debug-layer][debug layer]] + - [[#fasd-layer][fasd layer]] + - [[#imenu-list-layer][imenu-list layer]] + - [[#import-js-layer][import-js layer]] + - [[#nginx-layer][nginx layer]] - [[#prettier-layer][prettier layer]] - - [[#pandoc-layer][Pandoc layer]] - - [[#puppet-layer][Puppet layer]] + - [[#systemd-layer][systemd layer]] + - [[#web-beautify-layer][web-beautify layer]] + - [[#xclipboard-layer][xclipboard layer]] - [[#vim][Vim]] + - [[#evil-commentary-layer][Evil-commentary layer]] - [[#evil-snipe-layer][Evil-snipe layer]] - [[#vim-empty-lines-layer][Vim-empty-lines layer]] - - [[#evil-commentary-layer][Evil-commentary layer]] - [[#vinegar-layer][Vinegar layer]] - [[#web-services][Web services]] + - [[#confluence-layer][Confluence layer]] - [[#evernote-layer][Evernote layer]] + - [[#search-engine-layer][Search Engine layer]] - [[#twitter-layer][Twitter layer]] - [[#wakatime-layer][Wakatime layer]] - - [[#confluence-layer][Confluence layer]] - - [[#search-engine-layer][Search Engine layer]] - [[#readmeorg-files-that-need-proper-tags][README.org files that need proper tags]] - - [[#coffeescript-layer][CoffeeScript layer]] - - [[#spacemacs-project-layer][spacemacs-project layer]] - - [[#erlang-layer][Erlang layer]] - - [[#json-layer][JSON layer]] - - [[#spacemacs-evil-layer][spacemacs-evil layer]] - - [[#crystal-layer][crystal layer]] - - [[#javascript-layer][JavaScript layer]] - - [[#emacs-lisp-layer][Emacs Lisp layer]] - - [[#ocaml-layer][Ocaml layer]] - - [[#ruby-layer][Ruby layer]] - - [[#bibtex-layer][BibTeX layer]] - - [[#spacemacs-visual-layer][spacemacs-visual layer]] - - [[#perl6-layer][perl6 layer]] - - [[#sml-layer][SML layer]] - - [[#factor-layer][Factor Layer]] - - [[#octave-layer][Octave layer]] - - [[#vimscript-language-layer][Vimscript language layer]] - - [[#elixir-layer][Elixir layer]] - - [[#semantic-web-layer][Semantic Web layer]] - - [[#spacemacs-navigation-layer][spacemacs-navigation layer]] - - [[#spacemacs-layouts-layer][spacemacs-layouts layer]] - - [[#gpu-layer][GPU layer]] - - [[#spacemacs-distribution][spacemacs distribution]] - - [[#spacemacs-org-layer][spacemacs-org layer]] - - [[#graphviz-layer][graphviz layer]] - - [[#scheme-layer][Scheme layer]] - - [[#markdown-layer][Markdown layer]] - - [[#yaml-layer][YAML layer]] - - [[#python-layer][Python layer]] - - [[#kotlin-layer][kotlin layer]] - - [[#spacemacs-defaults][spacemacs-defaults]] - - [[#elm-layer][Elm layer]] - - [[#nyan-mode][nyan-mode]] - - [[#go-layer][GO layer]] - - [[#c-layer][C# layer]] - - [[#asciidoc-layer][Asciidoc layer]] - - [[#dhall-layer][Dhall layer]] - - [[#groovy-layer][Groovy layer]] - - [[#purescript-layer][Purescript layer]] - - [[#idris-layer][Idris layer]] - - [[#rust-layer][Rust layer]] - - [[#spacemacs-editing-layer][spacemacs-editing layer]] - - [[#jsonnet-layer][jsonnet layer]] - - [[#scala-layer][Scala layer]] - - [[#f-layer][F# layer]] - - [[#spacemacs-modeline-layer][spacemacs-modeline layer]] - - [[#pact-layer][Pact layer]] - - [[#spacemacs-base-distribution][spacemacs-base distribution]] - - [[#extra-languages][Extra Languages]] - - [[#spacemacs-misc-layer][spacemacs-misc layer]] - - [[#typescript-layer][TypeScript layer]] - - [[#latex-layer][LaTeX layer]] - - [[#d-language-layer][D language layer]] - [[#agda-layer][Agda layer]] - - [[#spacemacs-completion-layer][spacemacs-completion layer]] - - [[#ess-r-layer][ESS (R) layer]] - - [[#haskell-layer][Haskell layer]] - - [[#spacemacs-language-layer][spacemacs-language layer]] - - [[#sql-layer][SQL layer]] - - [[#php-layer][PHP layer]] - - [[#julia-layer][julia layer]] - - [[#ipython-notebook-layer][IPython Notebook layer]] - - [[#protocol-buffers-layer][Protocol Buffers layer]] - - [[#nim-layer][Nim layer]] - - [[#coq-layer][Coq layer]] - - [[#yang-layer][yang layer]] - - [[#lua-layer][Lua layer]] - - [[#plantuml-layer][plantuml layer]] - - [[#spacemacs-editing-visual-layer][spacemacs-editing-visual layer]] - - [[#java-layer][Java layer]] - - [[#windows-scripting-layer][Windows Scripting layer]] - - [[#prolog-layer][prolog layer]] - - [[#dart-layer][dart layer]] - - [[#perl5-layer][Perl5 layer]] - - [[#faust-layer][faust layer]] - - [[#spacemacs-bootstrap-distribution][spacemacs-bootstrap distribution]] - - [[#shell-scripts-layer][Shell Scripts layer]] - - [[#cc-layer][C/C++ layer]] - - [[#jr-concurrent-programming-language-layer][JR Concurrent Programming Language layer]] - - [[#restructuredtext-layer][reStructuredText layer]] - - [[#csv-layer][CSV layer]] + - [[#alda-layer][Alda Layer]] + - [[#asciidoc-layer][Asciidoc layer]] - [[#autohotkey-layer][Autohotkey layer]] - - [[#hy-layer][Hy layer]] - - [[#swift-layer][Swift layer]] - - [[#common-lisp-layer][Common Lisp layer]] - - [[#html-layer][HTML layer]] + - [[#bibtex-layer][BibTeX layer]] + - [[#c-layer][C# layer]] + - [[#cc-layer][C/C++ layer]] + - [[#csv-layer][CSV layer]] - [[#clojure-layer][Clojure layer]] + - [[#coffeescript-layer][CoffeeScript layer]] + - [[#common-lisp-layer][Common Lisp layer]] + - [[#coq-layer][Coq layer]] + - [[#d-language-layer][D language layer]] + - [[#dhall-layer][Dhall layer]] + - [[#ess-r-layer][ESS (R) layer]] + - [[#elixir-layer][Elixir layer]] + - [[#elm-layer][Elm layer]] + - [[#emacs-lisp-layer][Emacs Lisp layer]] + - [[#erlang-layer][Erlang layer]] + - [[#extra-languages][Extra Languages]] + - [[#f-layer][F# layer]] + - [[#factor-layer][Factor Layer]] + - [[#go-layer][GO layer]] + - [[#gpu-layer][GPU layer]] + - [[#groovy-layer][Groovy layer]] + - [[#html-layer][HTML layer]] + - [[#haskell-layer][Haskell layer]] + - [[#hy-layer][Hy layer]] + - [[#ipython-notebook-layer][IPython Notebook layer]] + - [[#idris-layer][Idris layer]] + - [[#jr-concurrent-programming-language-layer][JR Concurrent Programming Language layer]] + - [[#json-layer][JSON layer]] + - [[#java-layer][Java layer]] + - [[#javascript-layer][JavaScript layer]] + - [[#latex-layer][LaTeX layer]] + - [[#lua-layer][Lua layer]] + - [[#markdown-layer][Markdown layer]] + - [[#nim-layer][Nim layer]] + - [[#ocaml-layer][Ocaml layer]] + - [[#octave-layer][Octave layer]] + - [[#php-layer][PHP layer]] + - [[#pact-layer][Pact layer]] + - [[#perl5-layer][Perl5 layer]] + - [[#protocol-buffers-layer][Protocol Buffers layer]] + - [[#purescript-layer][Purescript layer]] + - [[#python-layer][Python layer]] - [[#racket-layer][Racket layer]] + - [[#ruby-layer][Ruby layer]] + - [[#rust-layer][Rust layer]] + - [[#sml-layer][SML layer]] + - [[#sql-layer][SQL layer]] + - [[#scala-layer][Scala layer]] + - [[#scheme-layer][Scheme layer]] + - [[#semantic-web-layer][Semantic Web layer]] + - [[#shell-scripts-layer][Shell Scripts layer]] + - [[#swift-layer][Swift layer]] + - [[#typescript-layer][TypeScript layer]] + - [[#vimscript-language-layer][Vimscript language layer]] + - [[#windows-scripting-layer][Windows Scripting layer]] + - [[#yaml-layer][YAML layer]] + - [[#crystal-layer][crystal layer]] + - [[#dart-layer][dart layer]] + - [[#faust-layer][faust layer]] + - [[#graphviz-layer][graphviz layer]] + - [[#jsonnet-layer][jsonnet layer]] + - [[#julia-layer][julia layer]] + - [[#kotlin-layer][kotlin layer]] + - [[#nyan-mode][nyan-mode]] + - [[#perl6-layer][perl6 layer]] + - [[#plantuml-layer][plantuml layer]] + - [[#prolog-layer][prolog layer]] + - [[#restructuredtext-layer][reStructuredText layer]] + - [[#spacemacs-distribution][spacemacs distribution]] + - [[#spacemacs-base-distribution][spacemacs-base distribution]] + - [[#spacemacs-bootstrap-distribution][spacemacs-bootstrap distribution]] + - [[#spacemacs-completion-layer][spacemacs-completion layer]] + - [[#spacemacs-defaults][spacemacs-defaults]] + - [[#spacemacs-editing-layer][spacemacs-editing layer]] + - [[#spacemacs-editing-visual-layer][spacemacs-editing-visual layer]] + - [[#spacemacs-evil-layer][spacemacs-evil layer]] + - [[#spacemacs-language-layer][spacemacs-language layer]] + - [[#spacemacs-layouts-layer][spacemacs-layouts layer]] + - [[#spacemacs-misc-layer][spacemacs-misc layer]] + - [[#spacemacs-modeline-layer][spacemacs-modeline layer]] + - [[#spacemacs-navigation-layer][spacemacs-navigation layer]] + - [[#spacemacs-org-layer][spacemacs-org layer]] + - [[#spacemacs-project-layer][spacemacs-project layer]] + - [[#spacemacs-visual-layer][spacemacs-visual layer]] + - [[#yang-layer][yang layer]] * Chats ** ERC layer -[[file:+chat/erc/README.org][file:+chat/erc/README.org]] +[[file:+chat/erc/README.org][+chat/erc/README.org]] Layer for [[http://www.emacswiki.org/emacs/ERC][ERC IRC chat]]. @@ -246,7 +247,7 @@ Features: using the =emoji= layer or having a proper font) :clap: ** Jabber layer -[[file:+chat/jabber/README.org][file:+chat/jabber/README.org]] +[[file:+chat/jabber/README.org][+chat/jabber/README.org]] This layer adds support for the Jabber (XMPP) client for Emacs @@ -254,7 +255,7 @@ Features: - Use Jabber without having to leave Spacemacs ** RCIRC layer -[[file:+chat/rcirc/README.org][file:+chat/rcirc/README.org]] +[[file:+chat/rcirc/README.org][+chat/rcirc/README.org]] This layer provide support for [[http://www.gnu.org/software/emacs/manual/html_mono/rcirc.html][rcirc]] with optional support for authinfo and ZNC. @@ -269,7 +270,7 @@ Features: using the =emoji= layer or having a proper font) :clap: ** Slack layer -[[file:+chat/slack/README.org][file:+chat/slack/README.org]] +[[file:+chat/slack/README.org][+chat/slack/README.org]] This layer provides an interface to the Slack chat service via the emacs-slack package. Where possible, this layer aims to reuse key bindings from the IRC @@ -281,17 +282,8 @@ Features: - Notifications with [[https://github.com/jwiegley/alert][alert.el]] * Checkers -** Syntax Checking layer -[[file:+checkers/syntax-checking/README.org][file:+checkers/syntax-checking/README.org]] - -This layer adds on the fly syntax checking to all supported language layers. - -Features: -- Support for automatic syntax checking with [[http://www.flycheck.org/][Flycheck]] for various language layers -- Tooltip syntax errors with =popwin= - ** Spell Checking layer -[[file:+checkers/spell-checking/README.org][file:+checkers/spell-checking/README.org]] +[[file:+checkers/spell-checking/README.org][+checkers/spell-checking/README.org]] This layer provides spell checking capabilities to Spacemacs. @@ -301,19 +293,29 @@ Features: - Optional correction popups, controlled by =enable-flyspell-auto-completion= variable. - [[https://github.com/nschum/auto-dictionary-mode][Auto dictionary mode]] for some languages. -* Completion -** Templates layer -[[file:+completion/templates/README.org][file:+completion/templates/README.org]] +** Syntax Checking layer +[[file:+checkers/syntax-checking/README.org][+checkers/syntax-checking/README.org]] -This layer provides templates to Spacemacs. A template consists of text that is -automatically inserted into a new file when it is opened. This is done via -[[https://github.com/mineo/yatemplate][yatemplate]], which leverages [[https://github.com/joaotavora/yasnippet][yasnippet]]. +This layer adds on the fly syntax checking to all supported language layers. Features: -- Auto-insert snippets when creating specific new files. +- Support for automatic syntax checking with [[http://www.flycheck.org/][Flycheck]] for various language layers +- Tooltip syntax errors with =popwin= + +* Completion +** Auto-completion layer +[[file:+completion/auto-completion/README.org][+completion/auto-completion/README.org]] + +This layer adds auto-completion to all supported language layers. + +Features: +- Support for code completion with [[http://company-mode.github.io/][company]] or [[https://github.com/auto-complete/auto-complete][auto-complete]] for various language layers +- Frequency-based suggestions via [[https://github.com/company-mode/company-statistics][company-statistics]] for =company= +- Integration with [[https://github.com/capitaomorte/yasnippet][yasnippet]] and [[https://github.com/abo-abo/auto-yasnippet][auto-yasnippet]] +- Automatic configuration of [[https://www.emacswiki.org/emacs/HippieExpand][hippie-expand]] ** Helm layer -[[file:+completion/helm/README.org][file:+completion/helm/README.org]] +[[file:+completion/helm/README.org][+completion/helm/README.org]] This layer enables Helm everywhere in Spacemacs. The alternative to this layer is the Ivy layer which brings the same level of integration as Helm. @@ -332,19 +334,8 @@ Features: - Detailed configuration parameters for helms appearance - Intuitive =transient state= -** Auto-completion layer -[[file:+completion/auto-completion/README.org][file:+completion/auto-completion/README.org]] - -This layer adds auto-completion to all supported language layers. - -Features: -- Support for code completion with [[http://company-mode.github.io/][company]] or [[https://github.com/auto-complete/auto-complete][auto-complete]] for various language layers -- Frequency-based suggestions via [[https://github.com/company-mode/company-statistics][company-statistics]] for =company= -- Integration with [[https://github.com/capitaomorte/yasnippet][yasnippet]] and [[https://github.com/abo-abo/auto-yasnippet][auto-yasnippet]] -- Automatic configuration of [[https://www.emacswiki.org/emacs/HippieExpand][hippie-expand]] - ** Ivy layer -[[file:+completion/ivy/README.org][file:+completion/ivy/README.org]] +[[file:+completion/ivy/README.org][+completion/ivy/README.org]] This layer enables Ivy for completion. It will replace the default completion by [[https://github.com/emacs-helm/helm][Helm]]. @@ -363,9 +354,29 @@ Features: - Intuitive =transient state= - Advanced buffer information with =ivy-rich= +** Templates layer +[[file:+completion/templates/README.org][+completion/templates/README.org]] + +This layer provides templates to Spacemacs. A template consists of text that is +automatically inserted into a new file when it is opened. This is done via +[[https://github.com/mineo/yatemplate][yatemplate]], which leverages [[https://github.com/joaotavora/yasnippet][yasnippet]]. + +Features: +- Auto-insert snippets when creating specific new files. + * E-mail +** Gnus layer +[[file:+email/gnus/README.org][+email/gnus/README.org]] + +This layer integrates a general purpose email/newsgroup client into Spacemacs. + +Features: +- Support for reading RSS feeds, newsgroups and mails directly within emacs via [[http://www.gnus.org/][Gnus]]. +- Support for beautiful HTML mails generated from any =org= buffer. +- Support for credential managment via [[https://gnupg.org/][GnuPG]]. + ** Mu4e layer -[[file:+email/mu4e/README.org][file:+email/mu4e/README.org]] +[[file:+email/mu4e/README.org][+email/mu4e/README.org]] This layer adds support for the Mu4e email client. @@ -379,7 +390,7 @@ Features: - Notifications using [[https://github.com/iqbalansari/mu4e-alert][mu4e-alert]] ** Notmuch layer -[[file:+email/notmuch/README.org][file:+email/notmuch/README.org]] +[[file:+email/notmuch/README.org][+email/notmuch/README.org]] Notmuch offers a fast, global-search and tag-based email system to use within your text editor or in a terminal. @@ -390,19 +401,20 @@ Features: - Email searching - Email tagging -** Gnus layer -[[file:+email/gnus/README.org][file:+email/gnus/README.org]] +* File trees +** Neotree layer +[[file:+filetree/neotree/README.org][+filetree/neotree/README.org]] -This layer integrates a general purpose email/newsgroup client into Spacemacs. +This layer setups a file tree navigator buffer using Neotree (replacing the Treemacs layer). Features: -- Support for reading RSS feeds, newsgroups and mails directly within emacs via [[http://www.gnus.org/][Gnus]]. -- Support for beautiful HTML mails generated from any =org= buffer. -- Support for credential managment via [[https://gnupg.org/][GnuPG]]. +- intuitive evil key bindings integration +- supports multiple themes +- transient state by pressing on ~?~ +- version-control integration -* File trees ** Treemacs layer -[[file:+filetree/treemacs/README.org][file:+filetree/treemacs/README.org]] +[[file:+filetree/treemacs/README.org][+filetree/treemacs/README.org]] This layer sets up a file navigation and project explorer side-window via [[https://github.com/Alexander-Miller/treemacs][Treemacs]]. @@ -427,20 +439,9 @@ readme]]. In a short summary Treemacs offers the following: - Optional =filewatch-mode= to automatically refresh the view after (and only after) changes to the shown filesystem. -** Neotree layer -[[file:+filetree/neotree/README.org][file:+filetree/neotree/README.org]] - -This layer setups a file tree navigator buffer using Neotree (replacing the Treemacs layer). - -Features: -- intuitive evil key bindings integration -- supports multiple themes -- transient state by pressing on ~?~ -- version-control integration - * Fonts ** unicode-fonts layer -[[file:+fonts/unicode-fonts/README.org][file:+fonts/unicode-fonts/README.org]] +[[file:+fonts/unicode-fonts/README.org][+fonts/unicode-fonts/README.org]] This layer adds support for the [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package. It is recommended to install the fonts listed in the [[https://github.com/rolandwalker/unicode-fonts#quickstart][Quickstart]] section of the unicode-fonts README. @@ -452,16 +453,35 @@ Features: =unicode-fonts-force-multi-color-on-mac= set to non nil). * Emacs -** Smex layer -[[file:+emacs/smex/README.org][file:+emacs/smex/README.org]] +** Better Defaults layer +[[file:+emacs/better-defaults/README.org][+emacs/better-defaults/README.org]] -This layer provides a more traditional alternative to =helm-M-x= based on =ido=. +This layer enhances the default commands of Emacs and is primarily intended to +be used with the =emacs= editing style as it does not change anything in the Vim +key bindings. + +However the =emacs= editing style is not required, you can still use this layer +while you are using the =vim= editing style if you have some kind of mixed +style. + +The commands defined in this layer are taken from various sources like [[https://github.com/bbatsov/prelude][Prelude]]. Features: -- Provides an alternative way for =helm-M-x= based on =ido= and [[https://github.com/nonsequitur/smex][smex]] +- 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. +- 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 layer +[[file:+emacs/ibuffer/README.org][+emacs/ibuffer/README.org]] + +This layer configures Emacs IBuffer for Spacemacs. + +Features: +- Grouping of buffers by major-modes +- Grouping of buffers by projects ** Org layer -[[file:+emacs/org/README.org][file:+emacs/org/README.org]] +[[file:+emacs/org/README.org][+emacs/org/README.org]] This layer enables [[http://orgmode.org/][org mode]] for Spacemacs. @@ -474,7 +494,7 @@ Features: - Project-specific TODOs via [[https://github.com/IvanMalison/org-projectile][org-projectile]] ** Semantic layer -[[file:+emacs/semantic/README.org][file:+emacs/semantic/README.org]] +[[file:+emacs/semantic/README.org][+emacs/semantic/README.org]] CEDET is a *C*ollection of *E*macs *D*evelopment *E*nvironment *T*ools written with the end goal of creating an advanced development environment in Emacs. @@ -499,26 +519,16 @@ Features: - Support Lisp source code formatting with [[https://github.com/tuhdo/semantic-refactor][semantic-refactor]]. See [[https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos-elisp.org][this page]] for demonstration of Lisp formatting features. -** Better Defaults layer -[[file:+emacs/better-defaults/README.org][file:+emacs/better-defaults/README.org]] +** Smex layer +[[file:+emacs/smex/README.org][+emacs/smex/README.org]] -This layer enhances the default commands of Emacs and is primarily intended to -be used with the =emacs= editing style as it does not change anything in the Vim -key bindings. - -However the =emacs= editing style is not required, you can still use this layer -while you are using the =vim= editing style if you have some kind of mixed -style. - -The commands defined in this layer are taken from various sources like [[https://github.com/bbatsov/prelude][Prelude]]. +This layer provides a more traditional alternative to =helm-M-x= based on =ido=. 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. -- =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~. +- Provides an alternative way for =helm-M-x= based on =ido= and [[https://github.com/nonsequitur/smex][smex]] ** Typography layer -[[file:+emacs/typography/README.org][file:+emacs/typography/README.org]] +[[file:+emacs/typography/README.org][+emacs/typography/README.org]] This layer provides support for typographic text editing in Spacemacs. @@ -529,18 +539,9 @@ Features: - Tildify Mode automatically inserts non-breaking spaces where required (Only available on Emacs 25). -** IBuffer layer -[[file:+emacs/ibuffer/README.org][file:+emacs/ibuffer/README.org]] - -This layer configures Emacs IBuffer for Spacemacs. - -Features: -- Grouping of buffers by major-modes -- Grouping of buffers by projects - * Frameworks ** Django layer -[[file:+frameworks/django/README.org][file:+frameworks/django/README.org]] +[[file:+frameworks/django/README.org][+frameworks/django/README.org]] This layer adds support for the Python web framework [[https://www.djangoproject.com/][Django]] to Spacemacs. @@ -553,7 +554,7 @@ Features: - Control of [[http://south.aeracode.org/][South]] database migration tool ** React layer -[[file:+frameworks/react/README.org][file:+frameworks/react/README.org]] +[[file:+frameworks/react/README.org][+frameworks/react/README.org]] ES6 and JSX ready configuration layer for React It will automatically recognize =.jsx= files and files with =react= imported. @@ -566,8 +567,20 @@ Features: - js2-refactor - js-doc +** Ruby on Rails layer +[[file:+frameworks/ruby-on-rails/README.org][+frameworks/ruby-on-rails/README.org]] + +This layer aims at providing support for the Ruby on Rails framework. + +Features: +- Quick file navigation with with [[https://github.com/asok/projectile-rails][projectile-rails]] +- Run server +- Run generators +- Rake runner +- Interactive Rails console + ** emberjs layer -[[file:+frameworks/emberjs/README.org][file:+frameworks/emberjs/README.org]] +[[file:+frameworks/emberjs/README.org][+frameworks/emberjs/README.org]] This enables helpers for working with Ember.js projects. @@ -596,20 +609,8 @@ Features: - Key bindings for generators and also easily revert generator actions - Ability to build, start server, and run tests -** Ruby on Rails layer -[[file:+frameworks/ruby-on-rails/README.org][file:+frameworks/ruby-on-rails/README.org]] - -This layer aims at providing support for the Ruby on Rails framework. - -Features: -- Quick file navigation with with [[https://github.com/asok/projectile-rails][projectile-rails]] -- Run server -- Run generators -- Rake runner -- Interactive Rails console - ** phoenix layer -[[file:+frameworks/phoenix/README.org][file:+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. @@ -617,20 +618,19 @@ Features: - Key bindings for navigation to files * Fun -** selectric layer -[[file:+fun/selectric/README.org][file:+fun/selectric/README.org]] +** Emoji layer +[[file:+fun/emoji/README.org][+fun/emoji/README.org]] -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 -still wish to enjoy the sound. +This layer adds support for Emoji emoticons from [[https://www.webpagefx.com/tools/emoji-cheat-sheet/][emoji-cheat-sheet]]. Features: -- Brings back fond memories about your first programming job where you started - with that big mechanical keyboard and the small monochrom display working on - the latest IBM Iseries server. +- Browse Emoji in a dedicated buffer +- Display Emoji images in buffer +- Insert one or several Emoji with an helm front-end +- Completion of Emojis using [[https://github.com/dunn/company-emoji][company-emoji]] ** Games layer -[[file:+fun/games/README.org][file:+fun/games/README.org]] +[[file:+fun/games/README.org][+fun/games/README.org]] This layer allows you to play evilified games in spacemacs. @@ -641,19 +641,20 @@ Features: - Tetris - Typit -** Emoji layer -[[file:+fun/emoji/README.org][file:+fun/emoji/README.org]] +** selectric layer +[[file:+fun/selectric/README.org][+fun/selectric/README.org]] -This layer adds support for Emoji emoticons from [[https://www.webpagefx.com/tools/emoji-cheat-sheet/][emoji-cheat-sheet]]. +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 +still wish to enjoy the sound. Features: -- Browse Emoji in a dedicated buffer -- Display Emoji images in buffer -- Insert one or several Emoji with an helm front-end -- Completion of Emojis using [[https://github.com/dunn/company-emoji][company-emoji]] +- Brings back fond memories about your first programming job where you started + with that big mechanical keyboard and the small monochrom display working on + the latest IBM Iseries server. ** xkcd layer -[[file:+fun/xkcd/README.org][file:+fun/xkcd/README.org]] +[[file:+fun/xkcd/README.org][+fun/xkcd/README.org]] This layer adds a [[http://xkcd.com/][xkcd]] navigation mode using [[https://github.com/vibhavp/emacs-xkcd][emacs-xkcd]]. @@ -664,8 +665,24 @@ Features: - Cache the comics in =.cache/xkcd= * internationalization +** Chinese layer +[[file:+intl/chinese/README.org][+intl/chinese/README.org]] + +This layer adds support for traditional Chinese script to Spacemacs. + +Features: +- Support for the [[https://en.wikipedia.org/wiki/Pinyin][Pinyin(拼音)]] input method via [[https://github.com/tumashu/chinese-pyim][chinese-pyim]]. +- Support for the [[https://en.wikipedia.org/wiki/Wubi_method][Wubi(五笔)]] input method via [[https://github.com/andyque/chinese-wbim][chinese-wbim]]. +- Integration of the native input method framework [[https://en.wikipedia.org/wiki/Fcitx][fcitx]] via [[https://github.com/cute-jumper/fcitx.el][cute-jumper/fcitx.el]]. +- Integration of the [[https://en.wikipedia.org/wiki/Youdao][Youdao(有道) Dictionary]] via [[https://github.com/xuchunyang/youdao-dictionary.el][youdao-dictionary]]. +- Support for file searches in =dired= using Chinese Pinyin characters via [[https://github.com/redguardtoo/find-by-pinyin-dired][find-by-pinyin-dired]]. +- Support for jumping to Chinese Pinyin characters with =ace-jump-mode= via [[https://github.com/cute-jumper/ace-pinyin][ace-pinyin]]. +- Support for conversion between simplified and traditional Chinese texts via [[https://github.com/gucong/emacs-chinese-conv/][chinese-conv]]. +- Automatic visual separation of Chinese and Latin characters via [[https://github.com/coldnew/pangu-spacing][coldnew/pangu-spacing]]. +- Automatic joining of consecutive Chinese lines into a single long line without unwanted space when exporting org-mode to html. + ** Japanese layer -[[file:+intl/japanese/README.org][file:+intl/japanese/README.org]] +[[file:+intl/japanese/README.org][+intl/japanese/README.org]] This Layer adds Japanese related packages. @@ -681,24 +698,8 @@ Features: - Join consecutive Japanese lines into a single long line without unwanted space when exporting org-mode to html. -** Chinese layer -[[file:+intl/chinese/README.org][file:+intl/chinese/README.org]] - -This layer adds support for traditional Chinese script to Spacemacs. - -Features: -- Support for the [[https://en.wikipedia.org/wiki/Pinyin][Pinyin(拼音)]] input method via [[https://github.com/tumashu/chinese-pyim][chinese-pyim]]. -- Support for the [[https://en.wikipedia.org/wiki/Wubi_method][Wubi(五笔)]] input method via [[https://github.com/andyque/chinese-wbim][chinese-wbim]]. -- Integration of the native input method framework [[https://en.wikipedia.org/wiki/Fcitx][fcitx]] via [[https://github.com/cute-jumper/fcitx.el][cute-jumper/fcitx.el]]. -- Integration of the [[https://en.wikipedia.org/wiki/Youdao][Youdao(有道) Dictionary]] via [[https://github.com/xuchunyang/youdao-dictionary.el][youdao-dictionary]]. -- Support for file searches in =dired= using Chinese Pinyin characters via [[https://github.com/redguardtoo/find-by-pinyin-dired][find-by-pinyin-dired]]. -- Support for jumping to Chinese Pinyin characters with =ace-jump-mode= via [[https://github.com/cute-jumper/ace-pinyin][ace-pinyin]]. -- Support for conversion between simplified and traditional Chinese texts via [[https://github.com/gucong/emacs-chinese-conv/][chinese-conv]]. -- Automatic visual separation of Chinese and Latin characters via [[https://github.com/coldnew/pangu-spacing][coldnew/pangu-spacing]]. -- Automatic joining of consecutive Chinese lines into a single long line without unwanted space when exporting org-mode to html. - ** keyboard-layout layer -[[file:+intl/keyboard-layout/README.org][file:+intl/keyboard-layout/README.org]] +[[file:+intl/keyboard-layout/README.org][+intl/keyboard-layout/README.org]] This layer configures some key bindings in Spacemacs, to make it compatible with keyboard layouts that differs from the traditional =en-us= =QWERTY= layout. @@ -709,14 +710,8 @@ Features: - Remap missing commands automatically to elsewhere in the layout * Miscellaneous -** multiple-cursors layer -[[file:+misc/multiple-cursors/README.org][file:+misc/multiple-cursors/README.org]] - -Features: -- support for multiple cursors. - ** Parinfer layer -[[file:+misc/parinfer/README.org][file:+misc/parinfer/README.org]] +[[file:+misc/parinfer/README.org][+misc/parinfer/README.org]] This layer provides an implementation of [[https://shaunlebron.github.io/parinfer/][parinfer]], a lisp editing paradigm that controls indentation based on parentheses or vice versa. @@ -724,8 +719,33 @@ controls indentation based on parentheses or vice versa. Features: - Automatic managment of parenthesis in clojure, emacs lisp, common-lisp and scheme following the parinfer editing paradigm. +** copy-as-format layer +[[file:+misc/copy-as-format/README.org][+misc/copy-as-format/README.org]] + +This layer adds support for [[https://github.com/sshaw/copy-as-format][copy-as-format]]. + +Features: +- Function to copy buffer locations as GitHub/Slack/JIRA/HipChat/... formatted code + +** ietf layer +[[file:+misc/ietf/README.org][+misc/ietf/README.org]] + +The =IETF= layer collects various useful packages for participating in the +Internet Engineering Task Force ([[https://www.ietf.org]]). + +Features: +- Fetching and opening IETF documents. +- Viewing IETF documents. +- Writing IETF documents. + +** multiple-cursors layer +[[file:+misc/multiple-cursors/README.org][+misc/multiple-cursors/README.org]] + +Features: +- support for multiple cursors. + ** nlinum layer -[[file:+misc/nlinum/README.org][file:+misc/nlinum/README.org]] +[[file:+misc/nlinum/README.org][+misc/nlinum/README.org]] This layer provides various styles of line numbering in Spacemacs. It replaces =linum= and =linum-relative= with the improved =nlinum= and =nlinum-relative= @@ -739,28 +759,9 @@ Features: - Support for classic ascending line numbering. - Support for line numbering relative to the current cursor position. -** copy-as-format layer -[[file:+misc/copy-as-format/README.org][file:+misc/copy-as-format/README.org]] - -This layer adds support for [[https://github.com/sshaw/copy-as-format][copy-as-format]]. - -Features: -- Function to copy buffer locations as GitHub/Slack/JIRA/HipChat/... formatted code - -** ietf layer -[[file:+misc/ietf/README.org][file:+misc/ietf/README.org]] - -The =IETF= layer collects various useful packages for participating in the -Internet Engineering Task Force ([[https://www.ietf.org]]). - -Features: -- Fetching and opening IETF documents. -- Viewing IETF documents. -- Writing IETF documents. - * Music ** Spotify layer -[[file:+music/spotify/README.org][file:+music/spotify/README.org]] +[[file:+music/spotify/README.org][+music/spotify/README.org]] This layer integrates an online music service into Spacemacs. @@ -769,7 +770,7 @@ Features: * Operating systems ** NixOS layer -[[file:+os/nixos/README.org][file:+os/nixos/README.org]] +[[file:+os/nixos/README.org][+os/nixos/README.org]] This layer adds tools for better integration of emacs in NixOS. @@ -779,7 +780,7 @@ Features: - Helm Lookup for NixOS Options [[https://github.com/travisbhartwell/nix-emacs/blob/master/helm-nixos-options.el][helm-nixos-options]] ** OSX layer -[[file:+os/osx/README.org][file:+os/osx/README.org]] +[[file:+os/osx/README.org][+os/osx/README.org]] Spacemacs is not just emacs+vim. It can have OSX key bindings too! This layer globally defines common OSX key bindings. @@ -791,7 +792,7 @@ Features: * Pair programming ** Floobits layer -[[file:+pair-programming/floobits/README.org][file:+pair-programming/floobits/README.org]] +[[file:+pair-programming/floobits/README.org][+pair-programming/floobits/README.org]] This layer adds support for the peer programming tool [[https://github.com/Floobits/floobits-emacs][floobits]] to Spacemacs. @@ -802,8 +803,39 @@ Features: - Follow recent changes by other users * Readers +** Dash layer +[[file:+readers/dash/README.org][+readers/dash/README.org]] + +This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows. + +Features: +- Searching for word at point in offline api browser’s UI. +- 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://zealdocs.org/][zeal]] offline api browser for Linux. + +** Deft layer +[[file:+readers/deft/README.org][+readers/deft/README.org]] + +This layer adds a search driven note taking system into Spacemacs. + +Features: +- Browsing and creating notes with a powerfull search function via [[http://jblevins.org/projects/deft/][Deft]]. +- Integration of =org-mode= as note editor. +- Configurable list of extensions to recognize as notes. + +** Elfeed layer +[[file:+readers/elfeed/README.org][+readers/elfeed/README.org]] + +This layer integrates a web feed reader into spacemacs. + +Features: +- Support for reading RSS and Atom feeds directly within emacs via [[https://github.com/skeeto/elfeed][Elfeed]]. +- Support for managing feeds via org files supplied by [[https://github.com/remyhonig/elfeed-org][elfeed-org]]. +- Support for displaying feed database content in the browser via [[https://github.com/skeeto/elfeed#web-interface][web interface]]. + ** PDF layer -[[file:+readers/pdf/README.org][file:+readers/pdf/README.org]] +[[file:+readers/pdf/README.org][+readers/pdf/README.org]] This layer enables support for PDF with the [[https://github.com/politza/pdf-tools][pdf-tools]] package. @@ -821,8 +853,16 @@ Features: - Manipulate annotations. - Fit PDF to screen. +** Speed Reading layer +[[file:+readers/speed-reading/README.org][+readers/speed-reading/README.org]] + +A speed reading mode for Emacs. + +Features: +- Support for =speed-reading= of arbitrary texts + ** epub layer -[[file:+readers/epub/README.org][file:+readers/epub/README.org]] +[[file:+readers/epub/README.org][+readers/epub/README.org]] This layer provides support for reading EPUB-formatted eBooks in Spacemacs using the excellent [[https://github.com/wasamasa/nov.el][nov.el]] package. @@ -838,50 +878,11 @@ Features: - Metadata display - Image rescaling -** Dash layer -[[file:+readers/dash/README.org][file:+readers/dash/README.org]] - -This layer integrates offline api browsers into emacs. It provides one for OS X, Linux and Windows. - -Features: -- Searching for word at point in offline api browser’s UI. -- 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://zealdocs.org/][zeal]] offline api browser for Linux. - -** Deft layer -[[file:+readers/deft/README.org][file:+readers/deft/README.org]] - -This layer adds a search driven note taking system into Spacemacs. - -Features: -- Browsing and creating notes with a powerfull search function via [[http://jblevins.org/projects/deft/][Deft]]. -- Integration of =org-mode= as note editor. -- Configurable list of extensions to recognize as notes. - -** Elfeed layer -[[file:+readers/elfeed/README.org][file:+readers/elfeed/README.org]] - -This layer integrates a web feed reader into spacemacs. - -Features: -- Support for reading RSS and Atom feeds directly within emacs via [[https://github.com/skeeto/elfeed][Elfeed]]. -- Support for managing feeds via org files supplied by [[https://github.com/remyhonig/elfeed-org][elfeed-org]]. -- Support for displaying feed database content in the browser via [[https://github.com/skeeto/elfeed#web-interface][web interface]]. - -** Speed Reading layer -[[file:+readers/speed-reading/README.org][file:+readers/speed-reading/README.org]] - -A speed reading mode for Emacs. - -Features: -- Support for =speed-reading= of arbitrary texts - * Programming languages ** General-purpose *** Imperative **** Forth layer -[[file:+lang/forth/README.org][file:+lang/forth/README.org]] +[[file:+lang/forth/README.org][+lang/forth/README.org]] This layer adds basic support for the Forth family of languages to spacemacs. @@ -892,7 +893,7 @@ Features: - Passing interactive commands to current =Forth= session. **** asm layer -[[file:+lang/asm/README.org][file:+lang/asm/README.org]] +[[file:+lang/asm/README.org][+lang/asm/README.org]] This layer adds support for Assembly code. The built-in major mode for editing assembly code in Emacs is =asm-mode=. @@ -909,38 +910,8 @@ Features: - Imenu integration. * Source control -** Version-Control layer -[[file:+source-control/version-control/README.org][file:+source-control/version-control/README.org]] - -This layers adds general configuration for [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Control.html][Emacs VC]]. -It should work with all VC backends such as Git, Mercurial, Bazaar, SVN, etc... - -Features: -- highlights uncommitted changes in the fringe or margin with [[https://github.com/dgutov/diff-hl][diff-hl]], [[https://github.com/syohex/emacs-git-gutter][git-gutter]], or [[https://github.com/nonsequitur/git-gutter-plus][git-gutter+]] -- adds vcs transient-state ~SPC g.~ to allow quick navigation and modification of buffer hunks. - -** GitHub layer -[[file:+source-control/github/README.org][file:+source-control/github/README.org]] - -This layers adds support for [[http://github.com][GitHub]]. - -Features: -- [[https://github.com/vermiculus/magithub][magithub]]: Magit-integrated interface to [[https://hub.github.com/][hub]] command line -- [[https://github.com/magit/forge][forge]]: integration with various forges, such as GitHub and GitLab. -- [[https://github.com/defunkt/gist.el][gist.el]]: full-featured mode to browse and post GitHub gists. -- [[https://github.com/sshaw/git-link][git-link]]: quickly generate URLs for commits or files. -- [[https://github.com/dgtized/github-clone.el][github-clone]] allows for easy cloning and forking of repositories. - -** Perforce layer -[[file:+source-control/perforce/README.org][file:+source-control/perforce/README.org]] - -This layer integrates =Perforce= SCM system into spacemacs. - -Features: -- Support for running [[https://www.perforce.com/][Perforce]] (p4) SCM commands directly from emacs. - ** Git layer -[[file:+source-control/git/README.org][file:+source-control/git/README.org]] +[[file:+source-control/git/README.org][+source-control/git/README.org]] This layers adds extensive support for [[http://git-scm.com/][git]] to Spacemacs. @@ -956,10 +927,40 @@ Features: New to Magit? Checkout the [[https://magit.vc/about/][official intro]]. +** GitHub layer +[[file:+source-control/github/README.org][+source-control/github/README.org]] + +This layers adds support for [[http://github.com][GitHub]]. + +Features: +- [[https://github.com/vermiculus/magithub][magithub]]: Magit-integrated interface to [[https://hub.github.com/][hub]] command line +- [[https://github.com/magit/forge][forge]]: integration with various forges, such as GitHub and GitLab. +- [[https://github.com/defunkt/gist.el][gist.el]]: full-featured mode to browse and post GitHub gists. +- [[https://github.com/sshaw/git-link][git-link]]: quickly generate URLs for commits or files. +- [[https://github.com/dgtized/github-clone.el][github-clone]] allows for easy cloning and forking of repositories. + +** Perforce layer +[[file:+source-control/perforce/README.org][+source-control/perforce/README.org]] + +This layer integrates =Perforce= SCM system into spacemacs. + +Features: +- Support for running [[https://www.perforce.com/][Perforce]] (p4) SCM commands directly from emacs. + +** Version-Control layer +[[file:+source-control/version-control/README.org][+source-control/version-control/README.org]] + +This layers adds general configuration for [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Control.html][Emacs VC]]. +It should work with all VC backends such as Git, Mercurial, Bazaar, SVN, etc... + +Features: +- highlights uncommitted changes in the fringe or margin with [[https://github.com/dgutov/diff-hl][diff-hl]], [[https://github.com/syohex/emacs-git-gutter][git-gutter]], or [[https://github.com/nonsequitur/git-gutter-plus][git-gutter+]] +- adds vcs transient-state ~SPC g.~ to allow quick navigation and modification of buffer hunks. + * Spacemacs ** Distributions *** spacemacs-docker distribution -[[file:+distributions/spacemacs-docker/README.org][file:+distributions/spacemacs-docker/README.org]] +[[file:+distributions/spacemacs-docker/README.org][+distributions/spacemacs-docker/README.org]] Spacemacs distribution that aims to automate dependency installation for Spacemacs layers and provide well tested Docker based development environment @@ -981,7 +982,7 @@ Features: ** Utilities *** Spacemacs-purpose layer -[[file:+spacemacs/spacemacs-purpose/README.org][file:+spacemacs/spacemacs-purpose/README.org]] +[[file:+spacemacs/spacemacs-purpose/README.org][+spacemacs/spacemacs-purpose/README.org]] 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 @@ -1002,8 +1003,19 @@ Features: - Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation. * Tagging +** Cscope layer +[[file:+tags/cscope/README.org][+tags/cscope/README.org]] + +This layer provides bindings for using [[http://cscope.sourceforge.net][Cscope]] and [[https://github.com/portante/pycscope][PyCscope]] in Spacemacs. + +See [[https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Similar-Tools][here]] for a comparison between =Cscope= and other similar tools (such as gtags). + +Features: +- Tag indexing and searching for C-C++ via [[http://cscope.sourceforge.net][Cscope]] +- Tag indexing and searching for python via [[https://github.com/portante/pycscope][PyCscope]] + ** Helm Gtags layer -[[file:+tags/gtags/README.org][file:+tags/gtags/README.org]] +[[file:+tags/gtags/README.org][+tags/gtags/README.org]] =counsel-gtags=, =helm-gtags= and =ggtags= are clients for GNU Global. GNU Global is a source code tagging system that allows querying symbol locations in @@ -1027,29 +1039,9 @@ Features: - Enables =eldoc= in modes that otherwise might not support it. - Enables =company complete= in modes that otherwise might not support it. -** Cscope layer -[[file:+tags/cscope/README.org][file:+tags/cscope/README.org]] - -This layer provides bindings for using [[http://cscope.sourceforge.net][Cscope]] and [[https://github.com/portante/pycscope][PyCscope]] in Spacemacs. - -See [[https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Similar-Tools][here]] for a comparison between =Cscope= and other similar tools (such as gtags). - -Features: -- Tag indexing and searching for C-C++ via [[http://cscope.sourceforge.net][Cscope]] -- Tag indexing and searching for python via [[https://github.com/portante/pycscope][PyCscope]] - * Themes -** Themes Megapack layer -[[file:+themes/themes-megapack/README.org][file:+themes/themes-megapack/README.org]] - -This layer installs around 100 themes for Emacs. - -Features: -- Have access to all included themes in this [[http://themegallery.robdor.com][theme gallery]] from [[http://www.twitter.com/robmerrell][Rob Merrell]]. -- Easily try a theme by invoking helm-themes with: ~SPC T s~. - ** Colors layer -[[file:+themes/colors/README.org][file:+themes/colors/README.org]] +[[file:+themes/colors/README.org][+themes/colors/README.org]] This layer colors your life by enhancing the existing coloration of identifiers as well as providing you with a more colorful process indicator. @@ -1062,8 +1054,17 @@ Features: [[https://jblevins.org/log/rainbow-mode][rainbow-mode]]. - Display a Nyan cat progress bar in the mode-line with [[https://github.com/syl20bnr/nyan-mode][nyan-mode]]. +** Themes Megapack layer +[[file:+themes/themes-megapack/README.org][+themes/themes-megapack/README.org]] + +This layer installs around 100 themes for Emacs. + +Features: +- Have access to all included themes in this [[http://themegallery.robdor.com][theme gallery]] from [[http://www.twitter.com/robmerrell][Rob Merrell]]. +- Easily try a theme by invoking helm-themes with: ~SPC T s~. + ** Theming layer -[[file:+themes/theming/README.org][file:+themes/theming/README.org]] +[[file:+themes/theming/README.org][+themes/theming/README.org]] This layer allows for a simple way of modifying themes. @@ -1073,8 +1074,18 @@ Features: - Includes three additional layer variables for tweaking headings. * Tools +** Ansible layer +[[file:+tools/ansible/README.org][+tools/ansible/README.org]] + +This layer adds support for editing Ansible configuration files in Spacemacs. + +Features: +- Syntax highlighting for Ansible-flavored YAML and Jinja2 templates. +- Auto-completion via =company-ansible=. +- Integration of =ansible-vault= into emacs for automatic encryption/decryption of files. + ** CFEngine layer -[[file:+tools/cfengine/README.org][file:+tools/cfengine/README.org]] +[[file:+tools/cfengine/README.org][+tools/cfengine/README.org]] This layer adds support for CFEngine policies to Spacemacs. @@ -1084,134 +1095,29 @@ Features: - Auto completion via =company= integration. - Execution of =cfengine3= =SRC= blocks in =org-mode= via =ob-cfengine3= package. -** Node layer -[[file:+tools/node/README.org][file:+tools/node/README.org]] +** CMake layer +[[file:+tools/cmake/README.org][+tools/cmake/README.org]] -This layer introduces packages that target Node.js. Currently this layer should -not be used directly, as it will be used by other layers. +This layer adds support [[https://cmake.org/][CMake]] scripts. Features: -- Integration of packages necessary to execute node.js modules from other layers. +- Support for CMake configure/build (with limited support for other build systems), + automatic generation of =compile_commands.json= (compile flags), on-the-fly configuration + of flycheck, company-clang and RTags (if installed) with [[https://github.com/atilaneves/cmake-ide][cmake-ide]]. +- Run selected test using =Helm= interface via =helm-ctest=. -** Ansible layer -[[file:+tools/ansible/README.org][file:+tools/ansible/README.org]] +** Chrome layer +[[file:+tools/chrome/README.org][+tools/chrome/README.org]] -This layer adds support for editing Ansible configuration files in Spacemacs. +This layer provides some integration with the Google Chrome browser. Features: -- Syntax highlighting for Ansible-flavored YAML and Jinja2 templates. -- Auto-completion via =company-ansible=. -- Integration of =ansible-vault= into emacs for automatic encryption/decryption of files. - -** LSP layer -[[file:+tools/lsp/README.org][file:+tools/lsp/README.org]] - -This layer adds support for basic language server protocol packages speaking -[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]]. - -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 -details. -=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server. - -Features: -- Cross references (definitions, references, document symbol, workspace symbol - search and others) -- Workspace-wide symbol rename -- Symbol highlighting -- Flycheck -- Completion with =company-lsp= -- Signature help with eldoc -- Symbol documentation in a child frame (=lsp-ui-doc=) -- Navigation using imenu -- Consistent core key bindings in LSP modes - -** command-log layer -[[file:+tools/command-log/README.org][file:+tools/command-log/README.org]] - -This layer adds a handy command demonstration mode to Spacemacs. - -Features: -- Support for logging all entered keys and triggered commands in a designated buffer via [[https://github.com/lewang/command-log-mode][command-log-mode]]. -- Provides the best way to demonstrate the connection between keystrokes and commands in emacs. -- Provides an easy way to create command logs for training classes. - -** Restclient layer -[[file:+tools/restclient/README.org][file:+tools/restclient/README.org]] - -This layer provides a REPL-like interface for http requests. - -Features: -- REPL for http requests via [[https://github.com/pashky/restclient.el][restclient]] -- Alternative =org= integration via [[http://github.com/zweifisch/ob-http][ob-http]] - -** import-js layer -[[file:+tools/import-js/README.org][file:+tools/import-js/README.org]] - -This layer adds support for [[https://github.com/Galooshi/import-js][import-js]] - -Features: -- Import Javascript/Typescript modules to buffer -- Import missing modules and remove unused one -- Go to module location - -** systemd layer -[[file:+tools/systemd/README.org][file:+tools/systemd/README.org]] - -This layer adds support for editing =systemd= configuration files in Spacemacs. - -Features: -- Syntax highlighting -- Auto completion -- Syntax checking via =systemd-analyze= - -** Saltstack layer -[[file:+tools/salt/README.org][file:+tools/salt/README.org]] - -This layer provides syntax highlighting for Saltstack files. - -Features: -- Syntax highlighting -- Display of salt documentation - -** Ranger layer -[[file:+tools/ranger/README.org][file:+tools/ranger/README.org]] - -This layer brings Ranger features to spacemacs from the =ranger= package. - -To use this configuration layer, add it to your =~/.spacemacs=. You will need to -add =ranger= to the existing =dotspacemacs-configuration-layers= list in this -file. - -To default with preview enabled when entering ranger: - -#+BEGIN_SRC emacs-lisp - (setq-default dotspacemacs-configuration-layers - '(ranger :variables - ranger-show-preview t)) -#+END_SRC - -Features: -- use ranger to display dired with ranger like preview and stacked parent windows. - -** Rebox layer -[[file:+tools/rebox/README.org][file:+tools/rebox/README.org]] - -This layer adds support for [[https://github.com/lewang/rebox2][rebox2]] package which is a minor-mode allowing -to easily add ASCII text boxes to a buffer. - -A nice video demonstration by the package author can be found [[https://www.youtube.com/watch?v=53YeTdVtDkU][here]]. - -Features: -- Auto-wrap correctly in comments, -- Auto-fill correctly in comments, -- Boxes auto-adapt as text is inserted or deleted, -- ~S-RET~ to continue a comment on the next line, -- Kill/yank within the box, -- Apparently works well with ancient =filladpt-mode= (see authors video). +- Edit text boxes with Emacs using [[https://github.com/stsquad/emacs_chrome][edit-server]] +- Write markdown in Emacs and realtime show in chrome using [[https://github.com/mola-T/flymd][flymd]] +- gmail message mode uses standard markdown key bindings ** DAP layer -[[file:+tools/dap/README.org][file:+tools/dap/README.org]] +[[file:+tools/dap/README.org][+tools/dap/README.org]] Experimental integrated visual debugger using [[https://code.visualstudio.com/docs/extensionAPI/api-debugging][Debug Adapter Protocol]]. @@ -1234,8 +1140,251 @@ Fully featured IDE-like debugger providing: - Debug/Run configurations - Debug REPL +** Docker layer +[[file:+tools/docker/README.org][+tools/docker/README.org]] + +This layer integrates basic container management into Spacemacs. + +Features: +- Syntax highlighting for =Docker= files +- =Docker= build integration +- =TRAMP= access to running Docker containers +- =Docker= container and image management via [[https://github.com/Silex/docker.el][docker.el]] +- =docker-compose= integration via [[https://github.com/Silex/docker.el][docker.el]] +- Syntax checking via [[https://github.com/hadolint/hadolint][hadolint]] + +** Finance layer +[[file:+tools/finance/README.org][+tools/finance/README.org]] + +This layer integrates a full fledged accounting system into Spacemacs. + +Features: +- Support for maintaining a double-entry accounting system run by text files via [[https://www.emacswiki.org/emacs/LedgerMode][ledger-mode]]. +- Display of finance reports directly within emacs. +- Integration of emacs calculator mode for editing post amounts. +- Support for easy account reconciliation via =Ledger-Reconcile=. +- Extended support for ~evil~ style editing with [[https://github.com/atheriel/evil-ledger][evil-ledger]]. + +** Geolocation layer +[[file:+tools/geolocation/README.org][+tools/geolocation/README.org]] + +This layer offers location sensitive adjustments to Emacs. + +Features: +- Supports the following adjustments: + - 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]] + - Integration with OS X’s CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]] + - Manual location setting via variables in your dotfile + +** LSP layer +[[file:+tools/lsp/README.org][+tools/lsp/README.org]] + +This layer adds support for basic language server protocol packages speaking +[[https://microsoft.github.io/language-server-protocol/specification][language server protocol]]. + +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 +details. +=M-x lsp-describe-session= in a LSP buffer to list capabilities of the server. + +Features: +- Cross references (definitions, references, document symbol, workspace symbol + search and others) +- Workspace-wide symbol rename +- Symbol highlighting +- Flycheck +- Completion with =company-lsp= +- Signature help with eldoc +- Symbol documentation in a child frame (=lsp-ui-doc=) +- Navigation using imenu +- Consistent core key bindings in LSP modes + +** Node layer +[[file:+tools/node/README.org][+tools/node/README.org]] + +This layer introduces packages that target Node.js. Currently this layer should +not be used directly, as it will be used by other layers. + +Features: +- Integration of packages necessary to execute node.js modules from other layers. + +** Pandoc layer +[[file:+tools/pandoc/README.org][+tools/pandoc/README.org]] + +This layer adds support for [[http://pandoc.org/][Pandoc]]. + +Pandoc is a universal document converter. It makes it easy to e.g. convert a +Markdown file to org mode or vice versa. It can also export your text to PDF or +DOCX. + +Features: +- Mode independent document conversions via =global pandoc menu= +- =Org-export= integration via [[https://github.com/kawabata/ox-pandoc][ox-pandoc]] + +** Pass layer +[[file:+tools/pass/README.org][+tools/pass/README.org]] + +This layer adds intregration with [[http://www.passwordstore.org/][pass]], the unix password manager. +You must have ~pass~ installed and available in your path for this layer to +function properly. + +Features: +- Use Spacemacs as your password manager + +** Prodigy layer +[[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 +within Emacs, check the package’s documentation for more details. + +It is recommended to put your prodigy services in the =dotspacemacs/user-config= +part of your =~/.spacemacs= file. + +Features: +- Managing of pre-declared services from within emacs +- Showing of process output in special buffers +- Filtering of processes for tags or names + +** Puppet layer +[[file:+tools/puppet/README.org][+tools/puppet/README.org]] + +This layer provides support for the Puppet DSL to Spacemacs. + +Features: +- Syntax highlighting via [[https://github.com/voxpupuli/puppet-mode][puppet-mode]] +- Syntax-checking via [[http://puppet-lint.com/][puppet-lint]] +- Navigation commands to jump between blocks +- Applying the content of the current manifest directly from emacs + +** Ranger layer +[[file:+tools/ranger/README.org][+tools/ranger/README.org]] + +This layer brings Ranger features to spacemacs from the =ranger= package. + +To use this configuration layer, add it to your =~/.spacemacs=. You will need to +add =ranger= to the existing =dotspacemacs-configuration-layers= list in this +file. + +To default with preview enabled when entering ranger: + +#+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-configuration-layers + '(ranger :variables + ranger-show-preview t)) +#+END_SRC + +Features: +- use ranger to display dired with ranger like preview and stacked parent windows. + +** Rebox layer +[[file:+tools/rebox/README.org][+tools/rebox/README.org]] + +This layer adds support for [[https://github.com/lewang/rebox2][rebox2]] package which is a minor-mode allowing +to easily add ASCII text boxes to a buffer. + +A nice video demonstration by the package author can be found [[https://www.youtube.com/watch?v=53YeTdVtDkU][here]]. + +Features: +- Auto-wrap correctly in comments, +- Auto-fill correctly in comments, +- Boxes auto-adapt as text is inserted or deleted, +- ~S-RET~ to continue a comment on the next line, +- Kill/yank within the box, +- Apparently works well with ancient =filladpt-mode= (see authors video). + +** Restclient layer +[[file:+tools/restclient/README.org][+tools/restclient/README.org]] + +This layer provides a REPL-like interface for http requests. + +Features: +- REPL for http requests via [[https://github.com/pashky/restclient.el][restclient]] +- Alternative =org= integration via [[http://github.com/zweifisch/ob-http][ob-http]] + +** Saltstack layer +[[file:+tools/salt/README.org][+tools/salt/README.org]] + +This layer provides syntax highlighting for Saltstack files. + +Features: +- Syntax highlighting +- Display of salt documentation + +** Shell layer +[[file:+tools/shell/README.org][+tools/shell/README.org]] + +This layer configures the various shells available in Emacs. + +Features: +- Shell integration + +** Sphinx layer +[[file:+tools/sphinx/README.org][+tools/sphinx/README.org]] + +The layer adds support for the documentation generation system =Sphinx= to +the =restructuredtext= layer. + +Features: +- Support for =Sphinx= project compilation +- Support for opening =Sphinx= project target +- Support for opening =Sphinx= config file + +** Tern layer +[[file:+tools/tern/README.org][+tools/tern/README.org]] + +This layer adds support for [[http://ternjs.net/][tern]] stand-alone code-analysis engine for +JavaScript. + +Features: +- TODO: list the feature of tern supported by tern package + +** Terraform layer +[[file:+tools/terraform/README.org][+tools/terraform/README.org]] + +This layer provides basic support for Terraform =.tf= files. + +Features: +- Basic syntax highlighting via [[https://github.com/syohex/emacs-terraform-mode][terraform-mode]] +- Auto formatting on save via =terraform fmt= + +** Tmux layer +[[file:+tools/tmux/README.org][+tools/tmux/README.org]] + +This layer adds basic =tmux= key bindings to Spacemacs. + +Features: +- Calling of =tmux= navigation commands directly from emacs via [[https://github.com/keith/evil-tmux-navigator][evil-tmux-navigator]]. + +** Transmission layer +[[file:+tools/transmission/README.org][+tools/transmission/README.org]] + +This layer integrates a BitTorrent client into Spacemacs. + +Features: +- Integration of [[https://transmissionbt.com/][Transmission]] into emacs. + +** Vagrant layer +[[file:+tools/vagrant/README.org][+tools/vagrant/README.org]] + +This layer adds support for working with Vagrant using [[https://github.com/ottbot/vagrant.el][vagrant.el]] and +[[https://github.com/dougm/vagrant-tramp][vagrant-tramp]]. + +Features: +- Manage boxes (under the ~SPC a V~ prefix) +- Remote editing on Vagrant boxes via Tramp + +** YCMD layer +[[file:+tools/ycmd/README.org][+tools/ycmd/README.org]] + +This layer adds [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]] support. + +Features: +- [[https://github.com/Valloric/YouCompleteMe][YouCompleteMe]] based code-completion +- Integrations with company, flycheck, and eldoc + ** bm layer -[[file:+tools/bm/README.org][file:+tools/bm/README.org]] +[[file:+tools/bm/README.org][+tools/bm/README.org]] [[https://github.com/joodland/bm/blob/master/README.md][BM]] provides visible, buffer local, bookmarks and the ability to jump forward and backward to the next bookmark. @@ -1252,210 +1401,18 @@ Features: - List bookmarks (in all buffers) in a separate buffer. - Cycle through bookmarks in all open buffers. -** Terraform layer -[[file:+tools/terraform/README.org][file:+tools/terraform/README.org]] +** command-log layer +[[file:+tools/command-log/README.org][+tools/command-log/README.org]] -This layer provides basic support for Terraform =.tf= files. +This layer adds a handy command demonstration mode to Spacemacs. Features: -- Basic syntax highlighting via [[https://github.com/syohex/emacs-terraform-mode][terraform-mode]] -- Auto formatting on save via =terraform fmt= - -** Transmission layer -[[file:+tools/transmission/README.org][file:+tools/transmission/README.org]] - -This layer integrates a BitTorrent client into Spacemacs. - -Features: -- Integration of [[https://transmissionbt.com/][Transmission]] into emacs. - -** Docker layer -[[file:+tools/docker/README.org][file:+tools/docker/README.org]] - -This layer integrates basic container management into Spacemacs. - -Features: -- Syntax highlighting for =Docker= files -- =Docker= build integration -- =TRAMP= access to running Docker containers -- =Docker= container and image management via [[https://github.com/Silex/docker.el][docker.el]] -- =docker-compose= integration via [[https://github.com/Silex/docker.el][docker.el]] -- Syntax checking via [[https://github.com/hadolint/hadolint][hadolint]] - -** Vagrant layer -[[file:+tools/vagrant/README.org][file:+tools/vagrant/README.org]] - -This layer adds support for working with Vagrant using [[https://github.com/ottbot/vagrant.el][vagrant.el]] and -[[https://github.com/dougm/vagrant-tramp][vagrant-tramp]]. - -Features: -- Manage boxes (under the ~SPC a V~ prefix) -- Remote editing on Vagrant boxes via Tramp - -** YCMD layer -[[file:+tools/ycmd/README.org][file:+tools/ycmd/README.org]] - -This layer adds [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]] support. - -Features: -- [[https://github.com/Valloric/YouCompleteMe][YouCompleteMe]] based code-completion -- Integrations with company, flycheck, and eldoc - -** Sphinx layer -[[file:+tools/sphinx/README.org][file:+tools/sphinx/README.org]] - -The layer adds support for the documentation generation system =Sphinx= to -the =restructuredtext= layer. - -Features: -- Support for =Sphinx= project compilation -- Support for opening =Sphinx= project target -- Support for opening =Sphinx= config file - -** xclipboard layer -[[file:+tools/xclipboard/README.org][file:+tools/xclipboard/README.org]] - -=xclipboard= integration layer. - -Features: -- adds copy support to the X-clipboard from the terminal. -- adds paste support to the X-clipboard from the terminal. - -** Shell layer -[[file:+tools/shell/README.org][file:+tools/shell/README.org]] - -This layer configures the various shells available in Emacs. - -Features: -- Shell integration - -** Tern layer -[[file:+tools/tern/README.org][file:+tools/tern/README.org]] - -This layer adds support for [[http://ternjs.net/][tern]] stand-alone code-analysis engine for -JavaScript. - -Features: -- TODO: list the feature of tern supported by tern package - -** fasd layer -[[file:+tools/fasd/README.org][file:+tools/fasd/README.org]] - -This layer integrates the [[https://github.com/clvv/fasd][fasd]] command line tool into spacemacs. - -Features: -- Adds easy shortcuts to reference recent files and directories. -- Provides =fasd= with recent open file lists from emacs. -- Allows to filter =fasd= results with =helm= or =ivy=. - -** Finance layer -[[file:+tools/finance/README.org][file:+tools/finance/README.org]] - -This layer integrates a full fledged accounting system into Spacemacs. - -Features: -- Support for maintaining a double-entry accounting system run by text files via [[https://www.emacswiki.org/emacs/LedgerMode][ledger-mode]]. -- Display of finance reports directly within emacs. -- Integration of emacs calculator mode for editing post amounts. -- Support for easy account reconciliation via =Ledger-Reconcile=. -- Extended support for ~evil~ style editing with [[https://github.com/atheriel/evil-ledger][evil-ledger]]. - -** Tmux layer -[[file:+tools/tmux/README.org][file:+tools/tmux/README.org]] - -This layer adds basic =tmux= key bindings to Spacemacs. - -Features: -- Calling of =tmux= navigation commands directly from emacs via [[https://github.com/keith/evil-tmux-navigator][evil-tmux-navigator]]. - -** Chrome layer -[[file:+tools/chrome/README.org][file:+tools/chrome/README.org]] - -This layer provides some integration with the Google Chrome browser. - -Features: -- Edit text boxes with Emacs using [[https://github.com/stsquad/emacs_chrome][edit-server]] -- Write markdown in Emacs and realtime show in chrome using [[https://github.com/mola-T/flymd][flymd]] -- gmail message mode uses standard markdown key bindings - -** web-beautify layer -[[file:+tools/web-beautify/README.org][file:+tools/web-beautify/README.org]] - -This layer adds support for [[https://github.com/yasuyk/web-beautify][web-beautify]]. - -Features: -- Format buffer to be beautiful - -** nginx layer -[[file:+tools/nginx/README.org][file:+tools/nginx/README.org]] - -This layer adds support for configuring [[http://nginx.org][nginx]] a powerful alternative for -the apache web server. - -Features: -- Syntax highlighting of nginx configuration files via [[https://github.com/ajc/nginx-mode][nginx-mode]]. -- Syntax-aware indentation - -** Pass layer -[[file:+tools/pass/README.org][file:+tools/pass/README.org]] - -This layer adds intregration with [[http://www.passwordstore.org/][pass]], the unix password manager. -You must have ~pass~ installed and available in your path for this layer to -function properly. - -Features: -- Use Spacemacs as your password manager - -** Geolocation layer -[[file:+tools/geolocation/README.org][file:+tools/geolocation/README.org]] - -This layer offers location sensitive adjustments to Emacs. - -Features: -- Supports the following adjustments: - - 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]] - - Integration with OS X’s CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]] - - Manual location setting via variables in your dotfile - -** Prodigy layer -[[file:+tools/prodigy/README.org][file:+tools/prodigy/README.org]] - -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. - -It is recommended to put your prodigy services in the =dotspacemacs/user-config= -part of your =~/.spacemacs= file. - -Features: -- Managing of pre-declared services from within emacs -- Showing of process output in special buffers -- Filtering of processes for tags or names - -** CMake layer -[[file:+tools/cmake/README.org][file:+tools/cmake/README.org]] - -This layer adds support [[https://cmake.org/][CMake]] scripts. - -Features: -- Support for CMake configure/build (with limited support for other build systems), - automatic generation of =compile_commands.json= (compile flags), on-the-fly configuration - of flycheck, company-clang and RTags (if installed) with [[https://github.com/atilaneves/cmake-ide][cmake-ide]]. -- Run selected test using =Helm= interface via =helm-ctest=. - -** imenu-list layer -[[file:+tools/imenu-list/README.org][file:+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 is similar to `SPC j i` but displayed in a persistent sidebar instead of -a completion buffer. - -Features: -- IDE like outline view of current buffer showing all significant symbols in one view +- Support for logging all entered keys and triggered commands in a designated buffer via [[https://github.com/lewang/command-log-mode][command-log-mode]]. +- Provides the best way to demonstrate the connection between keystrokes and commands in emacs. +- Provides an easy way to create command logs for training classes. ** debug layer -[[file:+tools/debug/README.org][file:+tools/debug/README.org]] +[[file:+tools/debug/README.org][+tools/debug/README.org]] This layer adds interactive debuggers for multiple languages using [[https://github.com/realgud/realgud][realgud]]. @@ -1465,41 +1422,94 @@ Features: - Advanced features like stack frame navigation and mouse support - Extensible framework for [[https://github.com/realgud/realgud/wiki/How-to-add-a-new-debugger][adding]] your own external debuggers +** fasd layer +[[file:+tools/fasd/README.org][+tools/fasd/README.org]] + +This layer integrates the [[https://github.com/clvv/fasd][fasd]] command line tool into spacemacs. + +Features: +- Adds easy shortcuts to reference recent files and directories. +- Provides =fasd= with recent open file lists from emacs. +- Allows to filter =fasd= results with =helm= or =ivy=. + +** imenu-list layer +[[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 is similar to `SPC j i` but displayed in a persistent sidebar instead of +a completion buffer. + +Features: +- IDE like outline view of current buffer showing all significant symbols in one view + +** import-js layer +[[file:+tools/import-js/README.org][+tools/import-js/README.org]] + +This layer adds support for [[https://github.com/Galooshi/import-js][import-js]] + +Features: +- Import Javascript/Typescript modules to buffer +- Import missing modules and remove unused one +- Go to module location + +** nginx layer +[[file:+tools/nginx/README.org][+tools/nginx/README.org]] + +This layer adds support for configuring [[http://nginx.org][nginx]] a powerful alternative for +the apache web server. + +Features: +- Syntax highlighting of nginx configuration files via [[https://github.com/ajc/nginx-mode][nginx-mode]]. +- Syntax-aware indentation + ** prettier layer -[[file:+tools/prettier/README.org][file:+tools/prettier/README.org]] +[[file:+tools/prettier/README.org][+tools/prettier/README.org]] This layer adds support for [[https://github.com/prettier/prettier][prettier]] Features: - Format buffer in a consistent style -** Pandoc layer -[[file:+tools/pandoc/README.org][file:+tools/pandoc/README.org]] +** systemd layer +[[file:+tools/systemd/README.org][+tools/systemd/README.org]] -This layer adds support for [[http://pandoc.org/][Pandoc]]. - -Pandoc is a universal document converter. It makes it easy to e.g. convert a -Markdown file to org mode or vice versa. It can also export your text to PDF or -DOCX. +This layer adds support for editing =systemd= configuration files in Spacemacs. Features: -- Mode independent document conversions via =global pandoc menu= -- =Org-export= integration via [[https://github.com/kawabata/ox-pandoc][ox-pandoc]] +- Syntax highlighting +- Auto completion +- Syntax checking via =systemd-analyze= -** Puppet layer -[[file:+tools/puppet/README.org][file:+tools/puppet/README.org]] +** web-beautify layer +[[file:+tools/web-beautify/README.org][+tools/web-beautify/README.org]] -This layer provides support for the Puppet DSL to Spacemacs. +This layer adds support for [[https://github.com/yasuyk/web-beautify][web-beautify]]. Features: -- Syntax highlighting via [[https://github.com/voxpupuli/puppet-mode][puppet-mode]] -- Syntax-checking via [[http://puppet-lint.com/][puppet-lint]] -- Navigation commands to jump between blocks -- Applying the content of the current manifest directly from emacs +- Format buffer to be beautiful + +** xclipboard layer +[[file:+tools/xclipboard/README.org][+tools/xclipboard/README.org]] + +=xclipboard= integration layer. + +Features: +- adds copy support to the X-clipboard from the terminal. +- adds paste support to the X-clipboard from the terminal. * Vim +** Evil-commentary layer +[[file:+vim/evil-commentary/README.org][+vim/evil-commentary/README.org]] + +This layer replaces [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commenter]] with [[https://github.com/linktohack/evil-commentary][evil-commentary]] for those +who prefer the behaviour of [[https://github.com/tpope/vim-commentary][vim-commentary]]. + +Features: +- Provides the original vim behaviour for commenting out lines via [[https://github.com/linktohack/evil-commentary][evil-commentary]]. + ** Evil-snipe layer -[[file:+vim/evil-snipe/README.org][file:+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. @@ -1510,7 +1520,7 @@ Features: - Support for alternative motions based on configurable regexps. ** Vim-empty-lines layer -[[file:+vim/vim-empty-lines/README.org][file:+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 who desire behaviour closer to =vim=’s. @@ -1526,17 +1536,8 @@ Features: - Emulation of original vim behaviour. - Brings you as close to vim as one can be without using vim itself. -** Evil-commentary layer -[[file:+vim/evil-commentary/README.org][file:+vim/evil-commentary/README.org]] - -This layer replaces [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commenter]] with [[https://github.com/linktohack/evil-commentary][evil-commentary]] for those -who prefer the behaviour of [[https://github.com/tpope/vim-commentary][vim-commentary]]. - -Features: -- Provides the original vim behaviour for commenting out lines via [[https://github.com/linktohack/evil-commentary][evil-commentary]]. - ** Vinegar layer -[[file:+vim/vinegar/README.org][file:+vim/vinegar/README.org]] +[[file:+vim/vinegar/README.org][+vim/vinegar/README.org]] This layer is a port of vim-vinegar for emacs. @@ -1554,8 +1555,17 @@ Features: - right mouse click moves up directory if in blank space or shows context menu * Web services +** Confluence layer +[[file:+web-services/confluence/README.org][+web-services/confluence/README.org]] + +This layer adds support for Atlassian [[https://www.atlassian.com/software/confluence][Confluence]]. + +Features: +- Creating/editing of Confluence pages +- Exporting of org buffers to Confluence =wiki= format + ** Evernote layer -[[file:+web-services/evernote/README.org][file:+web-services/evernote/README.org]] +[[file:+web-services/evernote/README.org][+web-services/evernote/README.org]] This layer adds support for the famous [[https://evernote.com/][Evernote]] note taking service to Spacemacs. It does so by grouping together various packages to work with [[https://evernote.com/][Evernote]]. @@ -1565,8 +1575,16 @@ Features: - Search for notes using keywords - Move notes between notebooks +** Search Engine layer +[[file:+web-services/search-engine/README.org][+web-services/search-engine/README.org]] + +This layer adds support for the [[https://github.com/hrs/engine-mode][Search Engine]] package. + +Features: +- Browser search integration + ** Twitter layer -[[file:+web-services/twitter/README.org][file:+web-services/twitter/README.org]] +[[file:+web-services/twitter/README.org][+web-services/twitter/README.org]] This layer adds Twitter support to Spacemacs via the package [[https://github.com/hayamiz/twittering-mode][twittering-mode]]. @@ -1592,7 +1610,7 @@ Features: - Secure connection via HTTPS (cURL, GNU Wget, OpenSSL or GnuTLS is required) ** Wakatime layer -[[file:+web-services/wakatime/README.org][file:+web-services/wakatime/README.org]] +[[file:+web-services/wakatime/README.org][+web-services/wakatime/README.org]] This layer adds support for Wakatime. @@ -1606,167 +1624,63 @@ P.S. wakati means time in Swahili Features: - Integration with Wakatime cloud based time tracking service -** Confluence layer -[[file:+web-services/confluence/README.org][file:+web-services/confluence/README.org]] - -This layer adds support for Atlassian [[https://www.atlassian.com/software/confluence][Confluence]]. - -Features: -- Creating/editing of Confluence pages -- Exporting of org buffers to Confluence =wiki= format - -** Search Engine layer -[[file:+web-services/search-engine/README.org][file:+web-services/search-engine/README.org]] - -This layer adds support for the [[https://github.com/hrs/engine-mode][Search Engine]] package. - -Features: -- Browser search integration - * README.org files that need proper tags -** CoffeeScript layer -[[file:+lang/coffeescript/README.org][file:+lang/coffeescript/README.org]] +** Agda layer +[[file:+lang/agda/README.org][+lang/agda/README.org]] -This layer adds support for the CoffeeScript language using [[https://github.com/defunkt/coffee-mode][coffee-mode]]. +This layer adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php][Agda]] programming language. Features: -- Syntax highlighting -- Auto-completion with =auto-completion= layer -- Syntax checking and linting with =syntax-checking= layer -- =Org-Babel= integration -- REPL support +- Faces redefined to correctly play with themes. +- Spacemacs bindings to Agda’s interactive tools. -** spacemacs-project layer -[[file:+spacemacs/spacemacs-project/README.org][file:+spacemacs/spacemacs-project/README.org]] +*This layer is in construction, it needs your contributions and bug reports.* -This layer tweaks =projectile= to integrate nicely into Spacemacs. +** Alda Layer +[[file:+lang/alda/README.org][+lang/alda/README.org]] + +Alda is a music composition language allowing music to easily be written and +edited in a text file. + +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 +Alda server if it is not running. Features: -- Setup of =projectile= key bindings, including functions for project search, switching, version control and compilation. -- Additional path helper functions, to copy the location of a buffer relative to the project root. +- Syntax highlighting for Alda files. +- Play portions of a buffer, or the entire buffer, + through a running Alda server. -** Erlang layer -[[file:+lang/erlang/README.org][file:+lang/erlang/README.org]] +** Asciidoc layer +[[file:+lang/asciidoc/README.org][+lang/asciidoc/README.org]] -This layer adds very basic support for Erlang to Spacemacs. +This layer adds [[https://asciidoctor.org][AsciiDoc]] markup language support to Spacemacs. Features: -- Syntax highlighting -- Syntax checking via =Flycheck= integration -- Auto-completion via =Company= integration +- asciidoc format support via [[https://github.com/sensorflo/adoc-mode][adoc-mode]] +- =.adoc= files are associated with =adoc-mode= by default -** JSON layer -[[file:+lang/json/README.org][file:+lang/json/README.org]] +** Autohotkey layer +[[file:+lang/autohotkey/README.org][+lang/autohotkey/README.org]] -This layer adds support for JSON files with [[https://github.com/joshwnj/json-mode][json-mode]] +Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or +[[http://ahkscript.org][AutoHotkey_L]]. + +Using a combined implementation of ahk-mode from Xah Lee’s =xahk-mode= +and Robert Widhopf-Fenk’s =autohotkey-mode=. Updated with the latest +ahk and ahk_l commands found in the latest revision of +[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]]. + +Contributed and maintained by [[https://www.github.com/ralesi][Rich Alesi]]. Features: -- Syntax highlighting - Auto-completion -- Get the path to a JSON value with [[https://github.com/Sterlingg/json-snatcher][json-snatcher]] -- Navigate JSON hierarchy with [[https://github.com/DamienCassou/json-navigator][json-nagivator]] -- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] or [[https://github.com/prettier/prettier][prettier]] - -** spacemacs-evil layer -[[file:+spacemacs/spacemacs-evil/README.org][file:+spacemacs/spacemacs-evil/README.org]] - -This layer adds various adjustments to packages to create an evilified experience -througout the entirety of Spacemacs. - -Features: -- Add evil tutorial with =evil-tutor= -- Add relative line number with =linun-relative= (only in Emacs 25.x and older) -- Add escaping under ~fd~ by default with =evil-escape= -- Add occurences count in mode-line when searching a buffer -- Add support for lisp structure manipulation with =evil-lisp-state= -- Add safe structural editing of lisp dialects with =evil-cleverparens= -- Add =evil-exchange= to swap text -- Add easy live editing of multiple occurences with =evil-iedit-state= -- Add new vim text objects for indentation with =evil-indent-plus= -- Add operations to align text with =evil-lion= -- Easy management of comments with =evil-nerd-commenter= -- Nagivation between pairs with =evil-matchit= -- Advanced navigation on brackets with =evil-unimpaired= -- Easy increment and decrement of numbers with =evil-number= -- Support for additional vim movements via =evil-args= -- Support for surrounding the marked area with a given character via =evil-surround= -- Evilification of various modes if the editing style is =vim= or =hybrid= -- Improves the comment function to be able to also do the inverse operation -- Persistent highlight of searched text with =evil-search-highlight-persist= -- Display tidles in non-buffer area with =vi-tilde-fringe= - -** crystal layer -[[file:+lang/crystal/README.org][file:+lang/crystal/README.org]] - -This layer provides support for the Crystal language. - -Features: -- =crystal tool format= on file save -- integration [[https://play.crystal-lang.org][play.crystal-lang.org]] using [[https://github.com/veelenga/play-crystal.el][play-crystal.el]] -- Linting with flycheck -- test runner (=crystal spec=) -- =crystal tool= integration -- Interactive REPL ([[https://github.com/brantou/inf-crystal.el][inf-crystal.el]] and [[https://github.com/crystal-community/icr][icr]]) -- static code analysis using [[https://github.com/veelenga/ameba.el][ameba]] - -** JavaScript layer -[[file:+lang/javascript/README.org][file:+lang/javascript/README.org]] - -This layer adds support for the JavaScript language using [[https://github.com/mooz/js2-mode][js2-mode]]. - -Features: -- Multiple backends support: Tern and LSP -- Smart code folding -- Refactoring: done using [[https://github.com/magnars/js2-refactor.el][js2-refactor]]. -- Auto-completion and documentation -- REPL available via [[https://github.com/skeeto/skewer-mode][skewer-mode]] and [[https://github.com/pandeiro/livid-mode][livid-mode]] -- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] - -** Emacs Lisp layer -[[file:+lang/emacs-lisp/README.org][file:+lang/emacs-lisp/README.org]] - -This layer gathers all the configuration related to emacs-lisp. This should -always be in your dotfile, it is not recommended to uninstall it. - -Features: -- Auto-completion using company -- Linting using flycheck integration -- Linting package file metadata using [[https://github.com/purcell/flycheck-package][flycheck-package]] -- Repl support via =IELM= -- Support for specific lisp navigation styles via =emacs-lisp-mode= -- Auto-compile via [[https://github.com/tarsius/auto-compile][auto-compile]] package -- Debuggin via [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html#Edebug][edebug]] -- Ert test runner with [[https://github.com/tonini/overseer.el][overseer]] -- Nameless package prefix with optional [[https://github.com/Malabarba/Nameless][nameless]] -- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] -- Visual feedback when evaluation using [[https://github.com/hchbaw/eval-sexp-fu.el][eval-sexp-fu]] - -** Ocaml layer -[[file:+lang/ocaml/README.org][file:+lang/ocaml/README.org]] - -This is a very basic layer for editing ocaml files. - -Features: -- Syntax highlighting (major-mode) via [[https://github.com/ocaml/tuareg][tuareg-mode]] -- Error reporting, completion and type display via [[https://github.com/ocaml/merlin][merlin]] -- auto-completion with company mode via [[https://github.com/ocaml/merlin][merlin]] -- syntax-checking via [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] (or alternatively [[https://github.com/ocaml/merlin][merlin]]) - -** Ruby layer -[[file:+lang/ruby/README.org][file:+lang/ruby/README.org]] - -This layer provides support for the Ruby programming language. - -Features: -- Version manager (rbenv, rvm or chruby) -- Integration with bundler -- Test runner (ruby-test and rspec) -- Rake runner -- Linter (rubocop) -- Interactive REPL and code navigation (robe) +- Documentation Lookup +- Execute Code Snippets +- Correct Indentation and Commenting ** BibTeX layer -[[file:+lang/bibtex/README.org][file:+lang/bibtex/README.org]] +[[file:+lang/bibtex/README.org][+lang/bibtex/README.org]] BibTeX and BibLaTeX files are a common way to manage bibliographies. The format was original designed to work with LaTeX files and subsequently has been adopted @@ -1779,80 +1693,152 @@ Features: - Utilities for automatically adding entries from different data sources. - Support for inserting citations in various other modes. -** spacemacs-visual layer -[[file:+spacemacs/spacemacs-visual/README.org][file:+spacemacs/spacemacs-visual/README.org]] +** C# layer +[[file:+lang/csharp/README.org][+lang/csharp/README.org]] -This layer adds various modes to enhance Spacemacs visual appearance. +This layer adds support for C# language using the [[https://github.com/OmniSharp/omnisharp-roslyn][omnisharp-roslyn]] language +server and corresponding [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]] package. + +Please report any issues encountered to [[https://github.com/OmniSharp/omnisharp-emacs/issues][omnisharp-emacs issue page on github]]. +PRs are welcome too! Features: -- Automatic colorization of compilation buffers via =ansi-colors=. -- Support for resuming the last layout when starting Spacemacs via =desktop=. -- Support for showing a thin vertical line to indicate the fill column - via =fill-column-indicator=. -- Automatic highlighting of =TODO-tags= in programming and text modes - via =hl-todo=. -- Support for temporary windows which close automatically via =popwin=. -- Support for text zooming via =zoom-frm=. +- Syntax checking with flycheck (when =syntax-checking= layer is used) +- Support for auto-completion (when =auto-completion= layer is used) +- Refactoring +- Navigation to cross-references +- Inspecting types in metadata -** perl6 layer -[[file:+lang/perl6/README.org][file:+lang/perl6/README.org]] +** C/C++ layer +[[file:+lang/c-c++/README.org][+lang/c-c++/README.org]] -This layer provides an environment for the [[https://perl6.org/][Perl 6 Programming Language]]. +This layer adds configuration for C/C++ language. Features: -- Jump to definition & Code completion via [[https://github.com/universal-ctags/ctags][ctags-universal]] -- Syntax checking via [[https://github.com/hinrik/flycheck-perl6][flycheck-perl6]] and =perl6 -c= -- Syntax highlighting & Syntax indentation via [[https://github.com/hinrik/perl6-mode][perl6-mode]] -- =META6.json= highlighting via [[https://github.com/joshwnj/json-mode][json-mode]] -- Provides Evil text objects for: - - double-angle-brackets - - corner-brackets - - single-quotation-marks - - double-quotation-marks +- Support syntax checking via flycheck with Clang. +- Support for disassembly of code with [[https://github.com/jart/disaster][disaster]]. +- Support code reformatting with [[http://clang.llvm.org/docs/ClangFormat.html][clang-format]]. +- Display function or variable definition at the bottom. (when =semantic= layer + is included) +- Display current function cursor is in at the top. See [[https://github.com/tuhdo/semantic-stickyfunc-enhance][stickyfunc-demos]] for + demos in some programming languages. (when =semantic= layer is included) +- Support common refactoring with [[https://github.com/tuhdo/semantic-refactor][semantic-refactor]]. See [[https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos.org][srefactor-demos]] for + demonstration of refactoring features. (when =semantic= layer is included) +- Support code navigation via cscope (when =cscope= layer is included) and gtags. +- Support auto-completion (when =auto-completion= layer is included) via + company-clang (when =c-c++-enable-clang-support= is turned on), or + company-ycmd (when =ycmd= layer is included). +- Support for [[https://github.com/realgud/realgud][realgud]] debugger. +- Support for [[https://github.com/Andersbakken/rtags][rtags]]. +- Support for [[https://github.com/cquery-project/cquery][cquery]] or [[https://github.com/MaskRay/ccls][ccls]] as an lsp backend. -** SML layer -[[file:+lang/sml/README.org][file:+lang/sml/README.org]] +** CSV layer +[[file:+lang/csv/README.org][+lang/csv/README.org]] -Adds support for the [[http://www.smlnj.org][SML]] programming language to Spacemacs. +This layer adds tools for better integration of CSV files in Spacemacs. + +Features: +- Detecting of fields for various separators +- Aligning of fields +- Traversal of fields +- Killing of fields +- Sorting of rows +- Transposing of rows/columns +- Intelligent yanking of fields + +** Clojure layer +[[file:+lang/clojure/README.org][+lang/clojure/README.org]] + +This layer adds support for [[https://clojure.org/][Clojure]] language using [[https://github.com/clojure-emacs/cider][CIDER]]. + +Features: +- REPL via [[https://github.com/clojure-emacs/cider][CIDER]] +- Code formatting via [[https://github.com/clojure-emacs/cider][CIDER]] using [[https://github.com/weavejester/cljfmt][Cljfmt]] +- Refactoring via [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]] +- Aligning of code forms via [[https://github.com/clojure-emacs/clojure-mode][clojure-mode]] +- Debugging with [[https://github.com/clojure-emacs/sayid][sayid]] +- Clojure cheatsheet +- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] + +** CoffeeScript layer +[[file:+lang/coffeescript/README.org][+lang/coffeescript/README.org]] + +This layer adds support for the CoffeeScript language using [[https://github.com/defunkt/coffee-mode][coffee-mode]]. Features: - Syntax highlighting -- Integration of the =SML Repl= into emacs -- Basic completion of SML forms via =sml-electric-space= - -** Factor Layer -[[file:+lang/factor/README.org][file:+lang/factor/README.org]] - -A spacemacs layer for Factor language support. - -Features: -- Syntax Highlighting -- Factor REPL integration -- Auto-Completion in REPL -- Scaffolding support -- Refactoring support - -** Octave layer -[[file:+lang/octave/README.org][file:+lang/octave/README.org]] - -This layer adds support for =GNU Octave= files to Spacemacs. - -Features: -- Syntax highlighting for =.m= files via [[https://www.gnu.org/software/emacs/manual/html_mono/octave-mode.html][octave-mode]]. +- Auto-completion with =auto-completion= layer +- Syntax checking and linting with =syntax-checking= layer +- =Org-Babel= integration - REPL support -- Support for directly running =Octave= scripts from emacs. -- Integration with =Octaves= documentation search function. -** Vimscript language layer -[[file:+lang/vimscript/README.org][file:+lang/vimscript/README.org]] +** Common Lisp layer +[[file:+lang/common-lisp/README.org][+lang/common-lisp/README.org]] -This layer adds basic support for vimscript and pentadactyl config files. +This layer provides support for Common Lisp to Spacemacs. Features: - Syntax highlighting +- Auto-completion using company +- Repl support via [[https://github.com/slime/slime][SLIME]] +- Support for specific lisp navigation styles via =common-lisp-mode= +- Support for [[http://www.sbcl.org/][sbcl]] backend or any other =common-lisp= implementation + +** Coq layer +[[file:+lang/coq/README.org][+lang/coq/README.org]] + +This layer adds support for the [[https://coq.inria.fr/][Coq]] proof assistant (adapted from [[https://github.com/tchajed/spacemacs-coq][spacemacs-coq]]) to Spacemacs. + +Features: +- Syntax highlighting +- Syntax-checking +- Auto-completion +- Debugging of mathematical proofs from within emacs using a special proof layout +- Replacement of certain constants with the correct mathematical signs +- Inserting of certain preconfigured proof elements + +** D language layer +[[file:+lang/d/README.org][+lang/d/README.org]] + +This simple layer adds support for the [[http://dlang.org/][D language]] to Spacemacs. + +Features: +- Syntax highlighting +- Auto completion via =company= +- Syntax checking via =flycheck= + +** Dhall layer +[[file:+lang/dhall/README.org][+lang/dhall/README.org]] + +This layer adds support for the [[https://dhall-lang.org/][Dhall Configuration Language]], a non-repetitive +alternate to YAML. + +Features: +- Syntax highlighting for ~.dhall~ source files +- Automatic buffer reformatting on save (configurable) +- Type error display in side-buffer + +*Note:* You will need a ~dhall~ binary on your ~PATH~. Official releases [[https://github.com/dhall-lang/dhall-haskell/releases][can be +found here]]. + +** ESS (R) layer +[[file:+lang/ess/README.org][+lang/ess/README.org]] + +This layer adds support for statistical programming languages to Spacemacs. + +Features: +- Syntax highlighting +- Auto-completion +- Syntax-checking via [[https://github.com/jimhester/lintr][lintr]] +- Additional data viewer for R via [[https://github.com/myuhe/ess-R-data-view.el][ess-R-data-view]] +- Support for Org-Babel +- Showing of inline help for =R= constructs +- Repl support via =R terminal= +- Support for =S=, =SAS= and =R= +- Much more via the [[https://ess.r-project.org/Manual/ess.html#Current-Features][ESS Project]] ** Elixir layer -[[file:+lang/elixir/README.org][file:+lang/elixir/README.org]] +[[file:+lang/elixir/README.org][+lang/elixir/README.org]] This layer adds support for [[http://elixir-lang.org/][Elixir]]. @@ -1872,49 +1858,118 @@ Features: - Flycheck support for [[https://github.com/rrrene/credo][credo]] - Flycheck support for test results -** Semantic Web layer -[[file:+lang/semantic-web/README.org][file:+lang/semantic-web/README.org]] +** Elm layer +[[file:+lang/elm/README.org][+lang/elm/README.org]] -This layer adds support for RDF files in N3 and [[https://www.w3.org/TR/turtle/][Turtle syntax]] using [[https://bitbucket.org/nxg/ttl-mode][ttl-mode]] -and for [[https://www.w3.org/TR/sparql11-query/][SPARQL]] queries using [[https://github.com/ljos/sparql-mode][sparql-mode]]. +This layer adds support for [[http://elm-lang.org][Elm]]. -SPARQL-mode supports the execution of queries. When first called, you will be -prompted for a SPARQL HTTP endpoint in the minibuffer, which defaults to -[[http://localhost:2020/]]. Once set, it will be used for all subsequent queries in -that buffer. Results will be displayed in another buffer in CSV format. +It relies on [[https://github.com/jcollard/elm-mode][elm-mode]] and [[https://github.com/bsermons/flycheck-elm][flycheck-elm]]. Features: -- Provides an alternative way to search the web using SPARQL queries. +- Syntax highlighting. +- Intelligent indentation +- Auto-completion integration for company (default) or auto-complete modes, + with using elm-oracle +- Syntax checking support using flycheck +- Integration with elm-make +- Integration with elm-repl +- Integration with elm-reactor +- Integration with elm-package -** spacemacs-navigation layer -[[file:+spacemacs/spacemacs-navigation/README.org][file:+spacemacs/spacemacs-navigation/README.org]] +** Emacs Lisp layer +[[file:+lang/emacs-lisp/README.org][+lang/emacs-lisp/README.org]] -This layer adds general navigation functions to all supported layers. +This layer gathers all the configuration related to emacs-lisp. This should +always be in your dotfile, it is not recommended to uninstall it. Features: -- Support for ace-links in - - =spacemacs= buffer - - =info-mode= - - =help-mode= - - =eww-mode= -- Support for keeping the cursor centered on the screen -- Evilified version of =doc-view-mode= -- Tweaks for =golden-ratio-mode= -- Support for =paradox= a modern emacs package manager -- Shortcuts for restarting =emacs= -- Shortcuts for easily switching between windows +- Auto-completion using company +- Linting using flycheck integration +- Linting package file metadata using [[https://github.com/purcell/flycheck-package][flycheck-package]] +- Repl support via =IELM= +- Support for specific lisp navigation styles via =emacs-lisp-mode= +- Auto-compile via [[https://github.com/tarsius/auto-compile][auto-compile]] package +- Debuggin via [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html#Edebug][edebug]] +- Ert test runner with [[https://github.com/tonini/overseer.el][overseer]] +- Nameless package prefix with optional [[https://github.com/Malabarba/Nameless][nameless]] +- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] +- Visual feedback when evaluation using [[https://github.com/hchbaw/eval-sexp-fu.el][eval-sexp-fu]] -** spacemacs-layouts layer -[[file:+spacemacs/spacemacs-layouts/README.org][file:+spacemacs/spacemacs-layouts/README.org]] +** Erlang layer +[[file:+lang/erlang/README.org][+lang/erlang/README.org]] -This layer adds support for distinct layouts/workspaces to Spacemacs. +This layer adds very basic support for Erlang to Spacemacs. Features: -- Support for distinct layouts via =eyebrowse= -- Integration with =helm= and =ivy= to search for buffers within layouts +- Syntax highlighting +- Syntax checking via =Flycheck= integration +- Auto-completion via =Company= integration + +** Extra Languages +[[file:+lang/major-modes/README.org][+lang/major-modes/README.org]] + +This layer adds a number of packages for less common languages and major modes. + +Features: +- Support for: + - Arch Linux PKGBUILDs + - Arduino + - Android Logcat (not associated with any file types by default) + - Gentoo ebuilds + - Hoon + - Kivy + - MATLAB + - QML + - OpenScad + - Stan + - Thrift + - Vala + - Wolfram Language / Mathematica + +** F# layer +[[file:+lang/fsharp/README.org][+lang/fsharp/README.org]] + +This layer adds support for F# language using [[https://github.com/fsharp/fsharpbinding][fsharpbinding]] and [[https://github.com/fsharp/fsharpbinding][fsharp-mode]]. + +Features: +- Syntax highlighting +- Code completion +- Flycheck integration +- REPL +- Compile/Run/Interpreter and info tooltip shortcuts + +** Factor Layer +[[file:+lang/factor/README.org][+lang/factor/README.org]] + +A spacemacs layer for Factor language support. + +Features: +- Syntax Highlighting +- Factor REPL integration +- Auto-Completion in REPL +- Scaffolding support +- Refactoring support + +** GO layer +[[file:+lang/go/README.org][+lang/go/README.org]] + +This layer adds extensive support for go to Spacemacs. + +Features: +- gofmt/goimports on file save (to enable, see [[file:+lang/go/README.org][Configuration]]) +- Auto-completion using [[https://github.com/nsf/gocode/tree/master/emacs][go-autocomplete]] (with the =auto-completion= layer) +- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]] +- Refactoring with [[http://gorefactor.org/][godoctor]] +- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]] +- Linting with flycheck’s built-in checkers or flycheck-gometalinter +- Coverage profile visualization +- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]] +- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]] +- Fill a structure with default values using the [[https://github.com/davidrjenni/reftools/tree/master/cmd/fillstruct][fillstruct]] +- LSP backend ** GPU layer -[[file:+lang/gpu/README.org][file:+lang/gpu/README.org]] +[[file:+lang/gpu/README.org][+lang/gpu/README.org]] This layer adds support for GPU related languages like CUDA, OpenCL and various Shader formats to Spacemacs. @@ -1940,63 +1995,152 @@ Features: - =.frag= (Shaders) - =.comp= (Shaders) -** spacemacs distribution -[[file:+distributions/spacemacs/README.org][file:+distributions/spacemacs/README.org]] +** Groovy layer +[[file:+lang/groovy/README.org][+lang/groovy/README.org]] -This is the default distribution for Spacemacs. +This layer supports [[http://www.groovy-lang.org/][Groovy]] development in Spacemacs. Features: -- Easy access to the Spacemacs experience by adding below auxiliary layers - to the base distribution. - - helm - - treemacs - - spacemacs-completion - - spacemacs-layouts - - spacemacs-editing - - spacemacs-editing-visual - - spacemacs-evil - - spacemacs-language - - spacemacs-misc - - spacemacs-modeline - - spacemacs-navigation - - spacemacs-org - - spacemacs-purpose - - spacemacs-visual +- Basic dabbrev auto-completion with company +- Auto-generate imports with [[https://github.com/mbezjak/emacs-groovy-imports][groovy-imports]] +- Groovy REPL integration -** spacemacs-org layer -[[file:+spacemacs/spacemacs-org/README.org][file:+spacemacs/spacemacs-org/README.org]] +** HTML layer +[[file:+lang/html/README.org][+lang/html/README.org]] -This layer tweaks =org-mode= to integrate nicely into Spacemacs. +This layer adds support for editing HTML and CSS. Features: -- Configuration for =flyspell= to check =org-buffers= for typos. -- Support for automatically generated Table-Of-Contents via =toc-org=. -- Support for custom bullet markers via =org-bullets=. -- Support for a special view mode for org documents via =space-doc=. +- Editing HTML and CSS file using [[http://web-mode.org/][web-mode]] +- Support for Sass/Scss and Less files +- Generate HTML and CSS coding using [[https://github.com/smihica/emmet-mode][emmet-mode]] +- Tags navigation on key ~%~ using [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] +- Support for editing Slim and Pug templates using [[https://github.com/slim-template/emacs-slim][slim-mode]] and [[https://github.com/hlissner/emacs-pug-mode][pug-mode]] +- See the effects of typed HTML using [[https://github.com/skeeto/impatient-mode][impatient-mode]] +- imenu support for CSS and Sass through [[https://github.com/hlissner/emacs-counsel-css][counsel-css]] +- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] -** graphviz layer -[[file:+lang/graphviz/README.org][file:+lang/graphviz/README.org]] +** Haskell layer +[[file:+lang/haskell/README.org][+lang/haskell/README.org]] -This layer adds support for the open-source graph declaration system graphviz to Spacemacs. +This layer adds support for the [[https://www.haskell.org/][Haskell]] language. Features: -- Syntax highlighting for =.dot= files -- Integration of a live-preview of =.dot= files via [[https://github.com/ppareit/graphviz-dot-mode][graphviz-dot-mode]]. -- Control of the graphviz compiler directly from emacs. -- Support for formatting =.dot= files automatically. +- syntax highlighting for [[https://github.com/haskell/haskell-mode][haskell source]], [[https://github.com/haskell/haskell-mode][cabal files]], [[https://github.com/bgamari/cmm-mode][C-- source]], +- auto-completion with one of the selected backends (=intero=, =dante=, =ghci= or + =ghc-mod=). -** Scheme layer -[[file:+lang/scheme/README.org][file:+lang/scheme/README.org]] +*This layer is under construction, it needs your contributions and bug reports.* -This layer adds support for Scheme via [[http://geiser.nongnu.org][Geiser]]. Note that combined usage of racket-mode and geiser has not been tested. +** Hy layer +[[file:+lang/hy/README.org][+lang/hy/README.org]] + +This layer adds support for the Hy language based on Python. Features: -- Support the Scheme compiler [[https://www.call-cc.org/][Chicken]] -- Support for the extension language platform [[https://www.gnu.org/software/guile/][Guile]] -- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] +- syntax-highlighting +- Auto-completion +- Code Navigation +- Python test runners (see [[file:+lang/hy/../python/README.org][python layer]]) +- Virtual Environment using [[https://github.com/jorgenschaefer/pyvenv][pyvenv]] and [[https://github.com/yyuu/pyenv][pyenv]] +- Org Babel support + +** IPython Notebook layer +[[file:+lang/ipython-notebook/README.org][+lang/ipython-notebook/README.org]] + +This layer adds support for the package =emacs-ipython-notebook=. + +Do not hesitate to check the original package README [[https://github.com/millejoh/emacs-ipython-notebook][here]]. Also the wiki has +lots of informative stuff. + +Features: +- Key bindings available through transient-state or leader key +- Lazy-loading + +** Idris layer +[[file:+lang/idris/README.org][+lang/idris/README.org]] + +This layer adds support for the [[https://www.idris-lang.org/][Idris]] language to Spacemacs. + +Features: +- Syntax highlighting +- Syntax checking via =flycheck= +- Integration of the =Idris= REPL +- Integration of the =Idris= build system + +** JR Concurrent Programming Language layer +[[file:+lang/jr/README.org][+lang/jr/README.org]] + +This layer adds syntax highlighting for the [[http://web.cs.ucdavis.edu/~olsson/research/jr/][JR Concurrent Programming Language]]. +JR is the implementation of the [[https://www2.cs.arizona.edu/sr/][SR]] language for Java. + +Features: +- Syntax highlighting + +** JSON layer +[[file:+lang/json/README.org][+lang/json/README.org]] + +This layer adds support for JSON files with [[https://github.com/joshwnj/json-mode][json-mode]] + +Features: +- Syntax highlighting +- Auto-completion +- Get the path to a JSON value with [[https://github.com/Sterlingg/json-snatcher][json-snatcher]] +- Navigate JSON hierarchy with [[https://github.com/DamienCassou/json-navigator][json-nagivator]] +- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] or [[https://github.com/prettier/prettier][prettier]] + +** Java layer +[[file:+lang/java/README.org][+lang/java/README.org]] + +This layer adds support for the Java language. + +Features: +- Support for the following backends: + - [[https://github.com/mopemope/meghanada-emacs][Meghanada]] client/server (default), + - [[http://eclim.org][Eclim]] client/server, + - [[https://ensime.github.io/][ENSIME]] client/server. + - [[https://github.com/emacs-lsp/lsp-java][LSP Java]] client/server. +- Each provides: + - Auto-completion using company + - Linting using flycheck integration + - Maven and Gradle integration + +** JavaScript layer +[[file:+lang/javascript/README.org][+lang/javascript/README.org]] + +This layer adds support for the JavaScript language using [[https://github.com/mooz/js2-mode][js2-mode]]. + +Features: +- Multiple backends support: Tern and LSP +- Smart code folding +- Refactoring: done using [[https://github.com/magnars/js2-refactor.el][js2-refactor]]. +- Auto-completion and documentation +- REPL available via [[https://github.com/skeeto/skewer-mode][skewer-mode]] and [[https://github.com/pandeiro/livid-mode][livid-mode]] +- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] + +** LaTeX layer +[[file:+lang/latex/README.org][+lang/latex/README.org]] + +This layer adds support for LaTeX files with [[https://savannah.gnu.org/projects/auctex/][AucTeX]]. + +Features: +- Auto-build with [[https://github.com/tom-tan/auctex-latexmk/][auctex-latexmk]] +- Auto-completion with [[https://github.com/alexeyr/company-auctex][company-auctex]] +- Tags navigation on ~%~ with [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] +- Labels, references, citations and index entries management with [[http://www.gnu.org/software/emacs/manual/html_node/reftex/index.html][RefTeX]] + +** Lua layer +[[file:+lang/lua/README.org][+lang/lua/README.org]] + +This layer adds support for editing Lua. + +Features: +- Editing lua files using [[https://github.com/immerrr/lua-mode][lua-mode]] +- Sending code to a lua REPL +- Code linting using [[https://github.com/mpeterv/luacheck][Luacheck]] ** Markdown layer -[[file:+lang/markdown/README.org][file:+lang/markdown/README.org]] +[[file:+lang/markdown/README.org][+lang/markdown/README.org]] This layer adds markdown support to Spacemacs. @@ -2007,17 +2151,102 @@ Features: - Completion of Emojis using [[https://github.com/dunn/company-emoji][company-emoji]] (still needs a way of showing, either using the =emoji= layer or having a proper font) :clap: -** YAML layer -[[file:+lang/yaml/README.org][file:+lang/yaml/README.org]] +** Nim layer +[[file:+lang/nim/README.org][+lang/nim/README.org]] -This layer provides support for the YAML file format. +This layer adds support for the multi-paradigm language =Nim=. + +Features: +- Code completion. +- Jump to definition. +- Syntax checking. + +** Ocaml layer +[[file:+lang/ocaml/README.org][+lang/ocaml/README.org]] + +This is a very basic layer for editing ocaml files. + +Features: +- Syntax highlighting (major-mode) via [[https://github.com/ocaml/tuareg][tuareg-mode]] +- Error reporting, completion and type display via [[https://github.com/ocaml/merlin][merlin]] +- auto-completion with company mode via [[https://github.com/ocaml/merlin][merlin]] +- syntax-checking via [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] (or alternatively [[https://github.com/ocaml/merlin][merlin]]) + +** Octave layer +[[file:+lang/octave/README.org][+lang/octave/README.org]] + +This layer adds support for =GNU Octave= files to Spacemacs. + +Features: +- Syntax highlighting for =.m= files via [[https://www.gnu.org/software/emacs/manual/html_mono/octave-mode.html][octave-mode]]. +- REPL support +- Support for directly running =Octave= scripts from emacs. +- Integration with =Octaves= documentation search function. + +** PHP layer +[[file:+lang/php/README.org][+lang/php/README.org]] + +This layer adds PHP language support to Spacemacs. + +Features: +- Edit PHP files using [[https://github.com/ejmr/php-mode][php-mode]] +- Edit Drupal files +- Complete and jump to define with [[https://github.com/xcwen/ac-php][company-php]] +- Run tests with PHPUnit +- Reformat code with PHP CBF + +The =gtags= layer is recommended to benefit from better =eldoc= and +=helm-gtags=. + +** Pact layer +[[file:+lang/pact/README.org][+lang/pact/README.org]] + +This layer adds support for the [[https://github.com/kadena-io/pact][Pact Smart Contract Language]]. + +Features: +- Syntax highlighting for ~.pact~ source files +- Easy interaction with an embedded Pact REPL +- Flycheck integration + +*Note:* You will need a ~pact~ binary on your ~PATH~ for REPL features to function. + +** Perl5 layer +[[file:+lang/perl5/README.org][+lang/perl5/README.org]] + +This layer adds support for the Perl5 language. + +Features: +- Syntactic and semantic checking using [[https://github.com/flycheck/flycheck][flycheck]] +- Auto-completion using [[https://github.com/CeleritasCelery/company-plsense][company-plsense]] +- Format code with =perltidy= +- Jump to symbol definition +- Interactive debug via [[https://github.com/realgud/realgud][realgud]] with [[http://search.cpan.org/~rocky/Devel-Trepan-0.73/lib/Devel/Trepan.pm][trepan.pl]] + +** Protocol Buffers layer +[[file:+lang/protobuf/README.org][+lang/protobuf/README.org]] + +Highlighting and syntax checking for [[https://developers.google.com/protocol-buffers/][Protocol Buffer]] files. Features: - Syntax highlighting -- Syntax checking via [[http://www.flycheck.org/en/latest/languages.html#yaml][flycheck]] +- Syntax checking using Flycheck (=protoc= compiler must be available) +- Correct indentation and commenting +- Quickly browse file contents using imenu (default key binding ~SPC j i~). + +** Purescript layer +[[file:+lang/purescript/README.org][+lang/purescript/README.org]] + +This layer provides basic Purescript editing support for spacemacs. + +Features: +- Syntax highlighting through [[https://github.com/dysinger/purescript-mode][purescript-mode]] +- Automatic insert of imports through [[https://github.com/epost/psc-ide-emacs][psc-ide-emacs]] +- REPL through [[https://github.com/ardumont/emacs-psci][psci]] +- Syntax checking through flycheck +- Autocompletion through company ** Python layer -[[file:+lang/python/README.org][file:+lang/python/README.org]] +[[file:+lang/python/README.org][+lang/python/README.org]] This layer adds support for the Python language. @@ -2039,8 +2268,265 @@ Features: - Fix a missing import statement with [[https://github.com/anachronic/importmagic.el][importmagic]] - Pip package manager with [[https://github.com/brotzeit/pippel][pippel]] +** Racket layer +[[file:+lang/racket/README.org][+lang/racket/README.org]] + +Adds support for the [[http://racket-lang.org/][Racket]] programming language. + +Features: +- Syntax highlighting with =racket-mode= +- Test runner +- Interactive REPL +- Code navigation with =gtags= +- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] + +** Ruby layer +[[file:+lang/ruby/README.org][+lang/ruby/README.org]] + +This layer provides support for the Ruby programming language. + +Features: +- Version manager (rbenv, rvm or chruby) +- Integration with bundler +- Test runner (ruby-test and rspec) +- Rake runner +- Linter (rubocop) +- Interactive REPL and code navigation (robe) + +** Rust layer +[[file:+lang/rust/README.org][+lang/rust/README.org]] + +This layer supports [[https://www.rust-lang.org][Rust]] development in Spacemacs. + +Features: +- Auto-completion and navigation support through [[https://github.com/emacs-lsp/lsp-rust][lsp]] or [[https://github.com/phildawes/racer][Racer]] +- support for the Rust package manager [[http://doc.crates.io/index.html][Cargo]] + +** SML layer +[[file:+lang/sml/README.org][+lang/sml/README.org]] + +Adds support for the [[http://www.smlnj.org][SML]] programming language to Spacemacs. + +Features: +- Syntax highlighting +- Integration of the =SML Repl= into emacs +- Basic completion of SML forms via =sml-electric-space= + +** SQL layer +[[file:+lang/sql/README.org][+lang/sql/README.org]] + +This layer adds support for a wide range of SQL dialects to Spacemacs. + +Features: +- Syntax highlighting for the following SQL dialects + - ANSI + - DB2 + - Informix + - Ingres + - Interbase + - Linter + - Microsoft + - MySQL + - Oracle + - Postgres + - Solid + - SQLite + - Sybase + - Vertica +- Syntax-checking via [[https://github.com/purcell/sqlint][sqlint]] for ANSI SQL. +- Format code with =sqlfmt= +- Snippet insertion for the more general SQL constructs. +- REPL support via =SQLi= buffer. +- Automatic capitalization of keywords. + +** Scala layer +[[file:+lang/scala/README.org][+lang/scala/README.org]] + +This layer adds support for the Scala language to Spacemacs. + +Features: +- Syntax highlighting +- Auto-completion +- Syntax-checking +- Refactoring +- Incremental compilation +- Scala Repl +- Style linting +- Eldoc integration +- Test execution directly from emacs +- Automatic replacement of ASCII arrows with unicode ones +- Automatic starting/stopping of [[https://ensime.github.io/][ENSIME]] IDE server + +** Scheme layer +[[file:+lang/scheme/README.org][+lang/scheme/README.org]] + +This layer adds support for Scheme via [[http://geiser.nongnu.org][Geiser]]. Note that combined usage of racket-mode and geiser has not been tested. + +Features: +- Support the Scheme compiler [[https://www.call-cc.org/][Chicken]] +- Support for the extension language platform [[https://www.gnu.org/software/guile/][Guile]] +- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] + +** Semantic Web layer +[[file:+lang/semantic-web/README.org][+lang/semantic-web/README.org]] + +This layer adds support for RDF files in N3 and [[https://www.w3.org/TR/turtle/][Turtle syntax]] using [[https://bitbucket.org/nxg/ttl-mode][ttl-mode]] +and for [[https://www.w3.org/TR/sparql11-query/][SPARQL]] queries using [[https://github.com/ljos/sparql-mode][sparql-mode]]. + +SPARQL-mode supports the execution of queries. When first called, you will be +prompted for a SPARQL HTTP endpoint in the minibuffer, which defaults to +[[http://localhost:2020/]]. Once set, it will be used for all subsequent queries in +that buffer. Results will be displayed in another buffer in CSV format. + +Features: +- Provides an alternative way to search the web using SPARQL queries. + +** Shell Scripts layer +[[file:+lang/shell-scripts/README.org][+lang/shell-scripts/README.org]] + +This simple layer adds support for shell scripting. + +Supported scripting files: +- =.sh= +- =.fish=: [[https://github.com/fish-shell/fish-shell][fish shell]] + +*Note:* For Windows scripting see the layer =windows-scripts= + +Features: +- Auto-completion using [[https://github.com/Alexander-Miller/company-shell][company-shell]] +- =Sh= scripts linting using [[https://www.shellcheck.net/][shellcheck]] +- =Sh= scripts style checking using [[https://github.com/openstack-dev/bashate][bashate]] + +** Swift layer +[[file:+lang/swift/README.org][+lang/swift/README.org]] + +This layer adds support for Apple’s Swift programming language, used as a +general purpose scripting language. + +Features: +- Syntax highlighting with [[https://github.com/swift-emacs/swift-mode][swift-mode]] +- Indentation +- Code navigation using =imenu= (built-in) +- Automatic syntax checking with =flycheck= (available with the + =syntax-checking= layer) + +** TypeScript layer +[[file:+lang/typescript/README.org][+lang/typescript/README.org]] + +This layer adds support for TypeScript and TSX editing. + +Features: +- Multiple backends support: Tide and LSP +- Eldoc-mode +- Documentation at point +- Auto complete +- Flycheck with linter +- Jump to definition, Jump to type definition +- Find occurrences (Imenu-mode) +- Rename symbol +- tsx mode +- formatting +- TypeScript playground integration + +** Vimscript language layer +[[file:+lang/vimscript/README.org][+lang/vimscript/README.org]] + +This layer adds basic support for vimscript and pentadactyl config files. + +Features: +- Syntax highlighting + +** Windows Scripting layer +[[file:+lang/windows-scripts/README.org][+lang/windows-scripts/README.org]] + +This simple layer adds support for the Powershell scripting language as well +as support for batch files. + +Features: +- Syntax highlighting of powershell =.ps1= files via [[https://github.com/jschaf/powershell.el][powershell.el]] +- Syntax highlighting of batch =.bat= files via [[https://www.emacswiki.org/emacs/DosMode][dos.el]] + +** YAML layer +[[file:+lang/yaml/README.org][+lang/yaml/README.org]] + +This layer provides support for the YAML file format. + +Features: +- Syntax highlighting +- Syntax checking via [[http://www.flycheck.org/en/latest/languages.html#yaml][flycheck]] + +** crystal layer +[[file:+lang/crystal/README.org][+lang/crystal/README.org]] + +This layer provides support for the Crystal language. + +Features: +- =crystal tool format= on file save +- integration [[https://play.crystal-lang.org][play.crystal-lang.org]] using [[https://github.com/veelenga/play-crystal.el][play-crystal.el]] +- Linting with flycheck +- test runner (=crystal spec=) +- =crystal tool= integration +- Interactive REPL ([[https://github.com/brantou/inf-crystal.el][inf-crystal.el]] and [[https://github.com/crystal-community/icr][icr]]) +- static code analysis using [[https://github.com/veelenga/ameba.el][ameba]] + +** dart layer +[[file:+lang/dart/README.org][+lang/dart/README.org]] + +This layer adds support for Dart language, and could be optionally used for Flutter development as well. + +Features: +- Syntax Highlight +- Error checking with ~flycheck~ +- Go to Definition +- Dart Analyzer integration +- Key bindings + +** faust layer +[[file:+lang/faust/README.org][+lang/faust/README.org]] + +This layer adds support for the [[https://en.wikipedia.org/wiki/FAUST_(programming_language)][faust language]] to Spacemacs. + +Features: +- Syntax highlighting +- Auto-completion + +** graphviz layer +[[file:+lang/graphviz/README.org][+lang/graphviz/README.org]] + +This layer adds support for the open-source graph declaration system graphviz to Spacemacs. + +Features: +- Syntax highlighting for =.dot= files +- Integration of a live-preview of =.dot= files via [[https://github.com/ppareit/graphviz-dot-mode][graphviz-dot-mode]]. +- Control of the graphviz compiler directly from emacs. +- Support for formatting =.dot= files automatically. + +** jsonnet layer +[[file:+lang/jsonnet/README.org][+lang/jsonnet/README.org]] + +This layer provides support for [[https://jsonnet.org/][Jsonnet template]] provided by [[https://github.com/mgyucht/jsonnet-mode][jsonnet-mode]]. + +Features: +- syntax highlighting +- buffer formatting +- jump to definition +- buffer evaluation + +** julia layer +[[file:+lang/julia/README.org][+lang/julia/README.org]] + +This layer adds support for [[https://julialang.org][Julia]] to Spacemacs. + +Features: +- Syntax highlighting +- Repl support +- Linting +- Completion +- Jump-to-definition +- Documentation on hover + ** kotlin layer -[[file:+lang/kotlin/README.org][file:+lang/kotlin/README.org]] +[[file:+lang/kotlin/README.org][+lang/kotlin/README.org]] This layer adds support for [[http://kotlinlang.org/][Kotlin]] in Spacemacs @@ -2048,8 +2534,163 @@ Features: - Linting with [[https://github.com/shyiko/ktlint][ktlint]] and [[https://github.com/whirm/flycheck-kotlin][flycheck-kotlin]] - navigation with =ggtags= +** nyan-mode +[[file:+themes/colors/local/nyan-mode/README.org][+themes/colors/local/nyan-mode/README.org]] + +Nyan Mode - Turn your Emacs into Nyanmacs! :) +The mode is an analog indicator of your position in the buffer. The +Cat should go from left to right in your mode-line, as you move your +point from 0% to 100%. + +Features: +- Mind dumbing content included, +- Experimental animation (M-x nyan-start-animation, M-x nyan-stop-animation), +- Wavy rainbow (M-x set-variable nyan-wavy-trail t), +- Music, mplayer is needed (M-x nyan-start-music, M-x nyan-stop-music), +- Customizable properties. + +** perl6 layer +[[file:+lang/perl6/README.org][+lang/perl6/README.org]] + +This layer provides an environment for the [[https://perl6.org/][Perl 6 Programming Language]]. + +Features: +- Jump to definition & Code completion via [[https://github.com/universal-ctags/ctags][ctags-universal]] +- Syntax checking via [[https://github.com/hinrik/flycheck-perl6][flycheck-perl6]] and =perl6 -c= +- Syntax highlighting & Syntax indentation via [[https://github.com/hinrik/perl6-mode][perl6-mode]] +- =META6.json= highlighting via [[https://github.com/joshwnj/json-mode][json-mode]] +- Provides Evil text objects for: + - double-angle-brackets + - corner-brackets + - single-quotation-marks + - double-quotation-marks + +** plantuml layer +[[file:+lang/plantuml/README.org][+lang/plantuml/README.org]] + +This layer enables support for [[https://github.com/skuro/plantuml-mode][plantuml-mode]], which provides +a major-mode for [[http://plantuml.com][plantuml]]. PlantUML is a tool to generate [[https://en.wikipedia.org/wiki/Unified_Modeling_Language][UML diagrams]] from plain-text. + +For help with how to use plantuml, see the [[http://plantuml.com][plantuml website]] and the [[http://plantuml.com/PlantUML_Language_Reference_Guide.pdf][reference guide]]. + +The official file extension supported by this layer is =.pum=. If you want something else, +set it in your =user-config= function of your =~/.spacemacs= file. + +For example, the following diagram can be defined as follows: + +#+BEGIN_SRC plantuml + @startuml + JAremko->robbyoconnor : I think the docs can benefit from some kind of illustration + JAremko<-robbyoconnor : I'm too lazy -- I have actual work to do. I link to the docs. If you can write me a diagram in plantuml, I'll gladly compile and add it. + JAremko->robbyoconnor : *gives ths diagram* + robbyoconnor<-JAremko : *robbyoconnor adds it and JAremko is happy* + ... + robbyoconnor->theOtherPerson : And they thinks it's funny? Yup, they definitely finds it funny. Right? + @enduml +#+END_SRC + +[[file:+lang/plantuml/img/dia.png]] + +Features: +- Syntax highlighting +- Diagram preview in various output formats +- Embedding into org documents +- Controlling the =Plantuml= compiler directly from emacs + +** prolog layer +[[file:+lang/prolog/README.org][+lang/prolog/README.org]] + +This layer adds support for Prolog using the bundled Prolog mode for Emacs. In addition it also adds ediprolog support for better interaction with SWI-Prolog. + +Features: +- Designed for SWI-Prolog as a default, but can be used with other Prologs that Prolog mode supports. +- Interactive consulting and compiling. +- Auto-formatting. +- Apropos and help lookup. + +** reStructuredText layer +[[file:+lang/restructuredtext/README.org][+lang/restructuredtext/README.org]] + +The layer adds ReStructuredText (ReST) support to Spacemacs and adds some +functions to =rst-mode=. + +Note: to add =Sphinx= specific support use the layer =sphinx=. + +Features: +- =rst= files are supported via Emacs built-in =rst.el=. +- Lists are inserted by new functions. +- Directives can be inserted easily. +- auto-completion for directives and options via =auto-complete-rst=. +- snippet support via =yasnippet=. + +** spacemacs distribution +[[file:+distributions/spacemacs/README.org][+distributions/spacemacs/README.org]] + +This is the default distribution for Spacemacs. + +Features: +- Easy access to the Spacemacs experience by adding below auxiliary layers + to the base distribution. + - helm + - treemacs + - spacemacs-completion + - spacemacs-layouts + - spacemacs-editing + - spacemacs-editing-visual + - spacemacs-evil + - spacemacs-language + - spacemacs-misc + - spacemacs-modeline + - spacemacs-navigation + - spacemacs-org + - spacemacs-purpose + - spacemacs-visual + +** spacemacs-base distribution +[[file:+distributions/spacemacs-base/README.org][+distributions/spacemacs-base/README.org]] + +This is the base distribution for Spacemacs. + +Features: +- Minimalistic approach to Spacemacs, contains only the core packages. Good starting + point to make something completely new. This distribution should not be used for + a new standalone Spacemacs installation except you have very good reasons to. + +** spacemacs-bootstrap distribution +[[file:+distributions/spacemacs-bootstrap/README.org][+distributions/spacemacs-bootstrap/README.org]] + +This layer loads the necessary packages for spacemacs to start-up. + +Features: +- Loads =evil= key bindings and macros for auto-evilifcation of maps +- Loads =holy= and =hybrid= modes +- Loads the official Spacemacs theme +- Loads =use-package= which is used to load other packages more easily +- Loads =hydra= which is used to create transient modes +- Loads =which-key= which is used to show key bindings in other modes +- Loads =async= which is used to run background processes +- Loads =bind-map= and =bind-key= which are used to realise various + spacemacs specific key binding commands + +** spacemacs-completion layer +[[file:+spacemacs/spacemacs-completion/README.org][+spacemacs/spacemacs-completion/README.org]] + +This layer does basic setup for completion frameworks like =helm=, =ivy= and +=ido=. + +Its main role is to ensure sane defaults and consistent UI between =helm= +and =ivy= because even when you are using only one of them you could still +need to use the other (for instance a package that supports only =helm=). + +Advanced configuration of these packages can be found in their respective +layers in =+completion= layer directory. + +Features: +- Base preconfiguration of =helm= and =ivy= for other layers to use. +- Basic support for =ido-navigation= configuration and transient state. + ** spacemacs-defaults -[[file:+spacemacs/spacemacs-defaults/README.org][file:+spacemacs/spacemacs-defaults/README.org]] +[[file:+spacemacs/spacemacs-defaults/README.org][+spacemacs/spacemacs-defaults/README.org]] This layer configures mostly Emacs built-in packages to given them better defaults. @@ -2087,140 +2728,8 @@ Features: - winner - zone -** Elm layer -[[file:+lang/elm/README.org][file:+lang/elm/README.org]] - -This layer adds support for [[http://elm-lang.org][Elm]]. - -It relies on [[https://github.com/jcollard/elm-mode][elm-mode]] and [[https://github.com/bsermons/flycheck-elm][flycheck-elm]]. - -Features: -- Syntax highlighting. -- Intelligent indentation -- Auto-completion integration for company (default) or auto-complete modes, - with using elm-oracle -- Syntax checking support using flycheck -- Integration with elm-make -- Integration with elm-repl -- Integration with elm-reactor -- Integration with elm-package - -** nyan-mode -[[file:+themes/colors/local/nyan-mode/README.org][file:+themes/colors/local/nyan-mode/README.org]] - -Nyan Mode - Turn your Emacs into Nyanmacs! :) -The mode is an analog indicator of your position in the buffer. The -Cat should go from left to right in your mode-line, as you move your -point from 0% to 100%. - -Features: -- Mind dumbing content included, -- Experimental animation (M-x nyan-start-animation, M-x nyan-stop-animation), -- Wavy rainbow (M-x set-variable nyan-wavy-trail t), -- Music, mplayer is needed (M-x nyan-start-music, M-x nyan-stop-music), -- Customizable properties. - -** GO layer -[[file:+lang/go/README.org][file:+lang/go/README.org]] - -This layer adds extensive support for go to Spacemacs. - -Features: -- gofmt/goimports on file save (to enable, see [[#configuration][Configuration]]) -- Auto-completion using [[https://github.com/nsf/gocode/tree/master/emacs][go-autocomplete]] (with the =auto-completion= layer) -- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]] -- Refactoring with [[http://gorefactor.org/][godoctor]] -- Edit struct field tag with [[https://github.com/fatih/gomodifytags][gomodifytags]] -- Linting with flycheck’s built-in checkers or flycheck-gometalinter -- Coverage profile visualization -- Test generation with [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]] -- Get packages faster with [[https://github.com/haya14busa/gopkgs][gopkgs]] -- Fill a structure with default values using the [[https://github.com/davidrjenni/reftools/tree/master/cmd/fillstruct][fillstruct]] -- LSP backend - -** C# layer -[[file:+lang/csharp/README.org][file:+lang/csharp/README.org]] - -This layer adds support for C# language using the [[https://github.com/OmniSharp/omnisharp-roslyn][omnisharp-roslyn]] language -server and corresponding [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]] package. - -Please report any issues encountered to [[https://github.com/OmniSharp/omnisharp-emacs/issues][omnisharp-emacs issue page on github]]. -PRs are welcome too! - -Features: -- Syntax checking with flycheck (when =syntax-checking= layer is used) -- Support for auto-completion (when =auto-completion= layer is used) -- Refactoring -- Navigation to cross-references -- Inspecting types in metadata - -** Asciidoc layer -[[file:+lang/asciidoc/README.org][file:+lang/asciidoc/README.org]] - -This layer adds [[https://asciidoctor.org][AsciiDoc]] markup language support to Spacemacs. - -Features: -- asciidoc format support via [[https://github.com/sensorflo/adoc-mode][adoc-mode]] -- =.adoc= files are associated with =adoc-mode= by default - -** Dhall layer -[[file:+lang/dhall/README.org][file:+lang/dhall/README.org]] - -This layer adds support for the [[https://dhall-lang.org/][Dhall Configuration Language]], a non-repetitive -alternate to YAML. - -Features: -- Syntax highlighting for ~.dhall~ source files -- Automatic buffer reformatting on save (configurable) -- Type error display in side-buffer - -*Note:* You will need a ~dhall~ binary on your ~PATH~. Official releases [[https://github.com/dhall-lang/dhall-haskell/releases][can be -found here]]. - -** Groovy layer -[[file:+lang/groovy/README.org][file:+lang/groovy/README.org]] - -This layer supports [[http://www.groovy-lang.org/][Groovy]] development in Spacemacs. - -Features: -- Basic dabbrev auto-completion with company -- Auto-generate imports with [[https://github.com/mbezjak/emacs-groovy-imports][groovy-imports]] -- Groovy REPL integration - -** Purescript layer -[[file:+lang/purescript/README.org][file:+lang/purescript/README.org]] - -This layer provides basic Purescript editing support for spacemacs. - -Features: -- Syntax highlighting through [[https://github.com/dysinger/purescript-mode][purescript-mode]] -- Automatic insert of imports through [[https://github.com/epost/psc-ide-emacs][psc-ide-emacs]] -- REPL through [[https://github.com/ardumont/emacs-psci][psci]] -- Syntax checking through flycheck -- Autocompletion through company - -** Idris layer -[[file:+lang/idris/README.org][file:+lang/idris/README.org]] - -This layer adds support for the [[https://www.idris-lang.org/][Idris]] language to Spacemacs. - -Features: -- Syntax highlighting -- Syntax checking via =flycheck= -- Integration of the =Idris= REPL -- Integration of the =Idris= build system - -** Rust layer -[[file:+lang/rust/README.org][file:+lang/rust/README.org]] - -This layer supports [[https://www.rust-lang.org][Rust]] development in Spacemacs. - -Features: -- Auto-completion and navigation support through [[https://github.com/emacs-lsp/lsp-rust][lsp]] or [[https://github.com/phildawes/racer][Racer]] -- support for the Rust package manager [[http://doc.crates.io/index.html][Cargo]] - ** spacemacs-editing layer -[[file:+spacemacs/spacemacs-editing/README.org][file:+spacemacs/spacemacs-editing/README.org]] +[[file:+spacemacs/spacemacs-editing/README.org][+spacemacs/spacemacs-editing/README.org]] This layer adds packages to improve editing with Spacemacs. @@ -2232,7 +2741,7 @@ Features: - Support for editing files in hex format via =hexl=. - Deletion of consecutive horizontal whitespace with a single key via =hungry-delete=. -- Support for selecting and opening links using =avy= via =link-hint=. +- Support for selecting, copying and opening links using =avy= via =link-hint=. - Adding of sample text via =lorem-ipsum=. - Transient state for moving text via =move-text=. - Support for folding of code via =origami=. @@ -2243,49 +2752,77 @@ Features: - Support for generating UUIDs via =uuidgen=. - Support for conversion between Emacs regexps and PCRE regexps. -** jsonnet layer -[[file:+lang/jsonnet/README.org][file:+lang/jsonnet/README.org]] +** spacemacs-editing-visual layer +[[file:+spacemacs/spacemacs-editing-visual/README.org][+spacemacs/spacemacs-editing-visual/README.org]] -This layer provides support for [[https://jsonnet.org/][Jsonnet template]] provided by [[https://github.com/mgyucht/jsonnet-mode][jsonnet-mode]]. +This layer defines a lot of functions used to visually enhance the currently +edited line in Spacemacs. Features: -- syntax highlighting -- buffer formatting -- jump to definition -- buffer evaluation +- Adaptive wrapping +- Hiding of comments +- Highlighting of columns longer than 80 chars +- Highlighting of different indentations +- Automatic highlighting of numbers +- Automatic highlighting of parentheses -** Scala layer -[[file:+lang/scala/README.org][file:+lang/scala/README.org]] +** spacemacs-evil layer +[[file:+spacemacs/spacemacs-evil/README.org][+spacemacs/spacemacs-evil/README.org]] -This layer adds support for the Scala language to Spacemacs. +This layer adds various adjustments to packages to create an evilified experience +througout the entirety of Spacemacs. Features: -- Syntax highlighting -- Auto-completion -- Syntax-checking -- Refactoring -- Incremental compilation -- Scala Repl -- Style linting -- Eldoc integration -- Test execution directly from emacs -- Automatic replacement of ASCII arrows with unicode ones -- Automatic starting/stopping of [[https://ensime.github.io/][ENSIME]] IDE server +- Add evil tutorial with =evil-tutor= +- Add relative line number with =linun-relative= (only in Emacs 25.x and older) +- Add escaping under ~fd~ by default with =evil-escape= +- Add occurences count in mode-line when searching a buffer +- Add support for lisp structure manipulation with =evil-lisp-state= +- Add safe structural editing of lisp dialects with =evil-cleverparens= +- Add =evil-exchange= to swap text +- Add easy live editing of multiple occurences with =evil-iedit-state= +- Add new vim text objects for indentation with =evil-indent-plus= +- Add operations to align text with =evil-lion= +- Easy management of comments with =evil-nerd-commenter= +- Nagivation between pairs with =evil-matchit= +- Advanced navigation on brackets with =evil-unimpaired= +- Easy increment and decrement of numbers with =evil-number= +- Support for additional vim movements via =evil-args= +- Support for surrounding the marked area with a given character via =evil-surround= +- Evilification of various modes if the editing style is =vim= or =hybrid= +- Improves the comment function to be able to also do the inverse operation +- Persistent highlight of searched text with =evil-search-highlight-persist= +- Display tidles in non-buffer area with =vi-tilde-fringe= -** F# layer -[[file:+lang/fsharp/README.org][file:+lang/fsharp/README.org]] +** spacemacs-language layer +[[file:+spacemacs/spacemacs-language/README.org][+spacemacs/spacemacs-language/README.org]] -This layer adds support for F# language using [[https://github.com/fsharp/fsharpbinding][fsharpbinding]] and [[https://github.com/fsharp/fsharpbinding][fsharp-mode]]. +This layer adds support various language related services to Spacemacs. Features: -- Syntax highlighting -- Code completion -- Flycheck integration -- REPL -- Compile/Run/Interpreter and info tooltip shortcuts +- Show definition of word at point via [[https://github.com/abo-abo/define-word][define-word]]. +- Integration of google-translate into emacs via [[https://github.com/atykhonov/google-translate][google-translate]]. + +** spacemacs-layouts layer +[[file:+spacemacs/spacemacs-layouts/README.org][+spacemacs/spacemacs-layouts/README.org]] + +This layer adds support for distinct layouts/workspaces to Spacemacs. + +Features: +- Support for distinct layouts via =eyebrowse= +- Integration with =helm= and =ivy= to search for buffers within layouts + +** spacemacs-misc layer +[[file:+spacemacs/spacemacs-misc/README.org][+spacemacs/spacemacs-misc/README.org]] + +This layer adds some general packages into Spacemacs. + +Features: +- Support for jumping to definitions via =dumb-jump= or =evil-goto-definition=. +- Support for an easy http request client via =request=. ** spacemacs-modeline layer -[[file:+spacemacs/spacemacs-modeline/README.org][file:+spacemacs/spacemacs-modeline/README.org]] +[[file:+spacemacs/spacemacs-modeline/README.org][+spacemacs/spacemacs-modeline/README.org]] This layer adds various mode-lines to Spacemacs. @@ -2299,585 +2836,64 @@ Features: - The system clock - Display of a small system monitor in a separate mode-line. -** Pact layer -[[file:+lang/pact/README.org][file:+lang/pact/README.org]] +** spacemacs-navigation layer +[[file:+spacemacs/spacemacs-navigation/README.org][+spacemacs/spacemacs-navigation/README.org]] -This layer adds support for the [[https://github.com/kadena-io/pact][Pact Smart Contract Language]]. +This layer adds general navigation functions to all supported layers. Features: -- Syntax highlighting for ~.pact~ source files -- Easy interaction with an embedded Pact REPL -- Flycheck integration +- Support for ace-links in + - =spacemacs= buffer + - =info-mode= + - =help-mode= + - =eww-mode= +- Support for keeping the cursor centered on the screen +- Evilified version of =doc-view-mode= +- Tweaks for =golden-ratio-mode= +- Support for =paradox= a modern emacs package manager +- Shortcuts for restarting =emacs= +- Shortcuts for easily switching between windows -*Note:* You will need a ~pact~ binary on your ~PATH~ for REPL features to function. +** spacemacs-org layer +[[file:+spacemacs/spacemacs-org/README.org][+spacemacs/spacemacs-org/README.org]] -** spacemacs-base distribution -[[file:+distributions/spacemacs-base/README.org][file:+distributions/spacemacs-base/README.org]] - -This is the base distribution for Spacemacs. +This layer tweaks =org-mode= to integrate nicely into Spacemacs. Features: -- Minimalistic approach to Spacemacs, contains only the core packages. Good starting - point to make something completely new. This distribution should not be used for - a new standalone Spacemacs installation except you have very good reasons to. +- Configuration for =flyspell= to check =org-buffers= for typos. +- Support for automatically generated Table-Of-Contents via =toc-org=. +- Support for custom bullet markers via =org-bullets=. +- Support for a special view mode for org documents via =space-doc=. -** Extra Languages -[[file:+lang/major-modes/README.org][file:+lang/major-modes/README.org]] +** spacemacs-project layer +[[file:+spacemacs/spacemacs-project/README.org][+spacemacs/spacemacs-project/README.org]] -This layer adds a number of packages for less common languages and major modes. +This layer tweaks =projectile= to integrate nicely into Spacemacs. Features: -- Support for: - - Arch Linux PKGBUILDs - - Arduino - - Android Logcat (not associated with any file types by default) - - Gentoo ebuilds - - Hoon - - Kivy - - MATLAB - - QML - - OpenScad - - Stan - - Thrift - - Vala - - Wolfram Language / Mathematica +- Setup of =projectile= key bindings, including functions for project search, switching, version control and compilation. +- Additional path helper functions, to copy the location of a buffer relative to the project root. -** spacemacs-misc layer -[[file:+spacemacs/spacemacs-misc/README.org][file:+spacemacs/spacemacs-misc/README.org]] +** spacemacs-visual layer +[[file:+spacemacs/spacemacs-visual/README.org][+spacemacs/spacemacs-visual/README.org]] -This layer adds some general packages into Spacemacs. +This layer adds various modes to enhance Spacemacs visual appearance. Features: -- Support for jumping to definitions via =dumb-jump= or =evil-goto-definition=. -- Support for an easy http request client via =request=. - -** TypeScript layer -[[file:+lang/typescript/README.org][file:+lang/typescript/README.org]] - -This layer adds support for TypeScript and TSX editing. - -Features: -- Multiple backends support: Tide and LSP -- Eldoc-mode -- Documentation at point -- Auto complete -- Flycheck with linter -- Jump to definition, Jump to type definition -- Find occurrences (Imenu-mode) -- Rename symbol -- tsx mode -- formatting -- TypeScript playground integration - -** LaTeX layer -[[file:+lang/latex/README.org][file:+lang/latex/README.org]] - -This layer adds support for LaTeX files with [[https://savannah.gnu.org/projects/auctex/][AucTeX]]. - -Features: -- Auto-build with [[https://github.com/tom-tan/auctex-latexmk/][auctex-latexmk]] -- Auto-completion with [[https://github.com/alexeyr/company-auctex][company-auctex]] -- Tags navigation on ~%~ with [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] -- Labels, references, citations and index entries management with [[http://www.gnu.org/software/emacs/manual/html_node/reftex/index.html][RefTeX]] - -** D language layer -[[file:+lang/d/README.org][file:+lang/d/README.org]] - -This simple layer adds support for the [[http://dlang.org/][D language]] to Spacemacs. - -Features: -- Syntax highlighting -- Auto completion via =company= -- Syntax checking via =flycheck= - -** Agda layer -[[file:+lang/agda/README.org][file:+lang/agda/README.org]] - -This layer adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php][Agda]] programming language. - -Features: -- Faces redefined to correctly play with themes. -- Spacemacs bindings to Agda’s interactive tools. - -*This layer is in construction, it needs your contributions and bug reports.* - -** spacemacs-completion layer -[[file:+spacemacs/spacemacs-completion/README.org][file:+spacemacs/spacemacs-completion/README.org]] - -This layer does basic setup for completion frameworks like =helm=, =ivy= and -=ido=. - -Its main role is to ensure sane defaults and consistent UI between =helm= -and =ivy= because even when you are using only one of them you could still -need to use the other (for instance a package that supports only =helm=). - -Advanced configuration of these packages can be found in their respective -layers in =+completion= layer directory. - -Features: -- Base preconfiguration of =helm= and =ivy= for other layers to use. -- Basic support for =ido-navigation= configuration and transient state. - -** ESS (R) layer -[[file:+lang/ess/README.org][file:+lang/ess/README.org]] - -This layer adds support for statistical programming languages to Spacemacs. - -Features: -- Syntax highlighting -- Auto-completion -- Syntax-checking via [[https://github.com/jimhester/lintr][lintr]] -- Additional data viewer for R via [[https://github.com/myuhe/ess-R-data-view.el][ess-R-data-view]] -- Support for Org-Babel -- Showing of inline help for =R= constructs -- Repl support via =R terminal= -- Support for =S=, =SAS= and =R= -- Much more via the [[https://ess.r-project.org/Manual/ess.html#Current-Features][ESS Project]] - -** Haskell layer -[[file:+lang/haskell/README.org][file:+lang/haskell/README.org]] - -This layer adds support for the [[https://www.haskell.org/][Haskell]] language. - -Features: -- syntax highlighting for [[https://github.com/haskell/haskell-mode][haskell source]], [[https://github.com/haskell/haskell-mode][cabal files]], [[https://github.com/bgamari/cmm-mode][C-- source]], -- auto-completion with one of the selected backends (=intero=, =dante=, =ghci= or - =ghc-mod=). - -*This layer is under construction, it needs your contributions and bug reports.* - -** spacemacs-language layer -[[file:+spacemacs/spacemacs-language/README.org][file:+spacemacs/spacemacs-language/README.org]] - -This layer adds support various language related services to Spacemacs. - -Features: -- Show definition of word at point via [[https://github.com/abo-abo/define-word][define-word]]. -- Integration of google-translate into emacs via [[https://github.com/atykhonov/google-translate][google-translate]]. - -** SQL layer -[[file:+lang/sql/README.org][file:+lang/sql/README.org]] - -This layer adds support for a wide range of SQL dialects to Spacemacs. - -Features: -- Syntax highlighting for the following SQL dialects - - ANSI - - DB2 - - Informix - - Ingres - - Interbase - - Linter - - Microsoft - - MySQL - - Oracle - - Postgres - - Solid - - SQLite - - Sybase - - Vertica -- Syntax-checking via [[https://github.com/purcell/sqlint][sqlint]] for ANSI SQL. -- Format code with =sqlfmt= -- Snippet insertion for the more general SQL constructs. -- REPL support via =SQLi= buffer. -- Automatic capitalization of keywords. - -** PHP layer -[[file:+lang/php/README.org][file:+lang/php/README.org]] - -This layer adds PHP language support to Spacemacs. - -Features: -- Edit PHP files using [[https://github.com/ejmr/php-mode][php-mode]] -- Edit Drupal files -- Complete and jump to define with [[https://github.com/xcwen/ac-php][company-php]] -- Run tests with PHPUnit -- Reformat code with PHP CBF - -The =gtags= layer is recommended to benefit from better =eldoc= and -=helm-gtags=. - -** julia layer -[[file:+lang/julia/README.org][file:+lang/julia/README.org]] - -This layer adds support for [[https://julialang.org][Julia]] to Spacemacs. - -Features: -- Syntax highlighting -- Repl support -- Linting -- Completion -- Jump-to-definition -- Documentation on hover - -** IPython Notebook layer -[[file:+lang/ipython-notebook/README.org][file:+lang/ipython-notebook/README.org]] - -This layer adds support for the package =emacs-ipython-notebook=. - -Do not hesitate to check the original package README [[https://github.com/millejoh/emacs-ipython-notebook][here]]. Also the wiki has -lots of informative stuff. - -Features: -- Key bindings available through transient-state or leader key -- Lazy-loading - -** Protocol Buffers layer -[[file:+lang/protobuf/README.org][file:+lang/protobuf/README.org]] - -Highlighting and syntax checking for [[https://developers.google.com/protocol-buffers/][Protocol Buffer]] files. - -Features: -- Syntax highlighting -- Syntax checking using Flycheck (=protoc= compiler must be available) -- Correct indentation and commenting -- Quickly browse file contents using imenu (default key binding ~SPC j i~). - -** Nim layer -[[file:+lang/nim/README.org][file:+lang/nim/README.org]] - -This layer adds support for the multi-paradigm language =Nim=. - -Features: -- Code completion. -- Jump to definition. -- Syntax checking. - -** Coq layer -[[file:+lang/coq/README.org][file:+lang/coq/README.org]] - -This layer adds support for the [[https://coq.inria.fr/][Coq]] proof assistant (adapted from [[https://github.com/tchajed/spacemacs-coq][spacemacs-coq]]) to Spacemacs. - -Features: -- Syntax highlighting -- Syntax-checking -- Auto-completion -- Debugging of mathematical proofs from within emacs using a special proof layout -- Replacement of certain constants with the correct mathematical signs -- Inserting of certain preconfigured proof elements +- Automatic colorization of compilation buffers via =ansi-colors=. +- Support for resuming the last layout when starting Spacemacs via =desktop=. +- Support for showing a thin vertical line to indicate the fill column + via =fill-column-indicator=. +- Automatic highlighting of =TODO-tags= in programming and text modes + via =hl-todo=. +- Support for temporary windows which close automatically via =popwin=. +- Support for text zooming via =zoom-frm=. ** yang layer -[[file:+lang/yang/README.org][file:+lang/yang/README.org]] +[[file:+lang/yang/README.org][+lang/yang/README.org]] This layer provides support for the YANG file format. Features: - Syntax highlighting - Syntax checking via [[http://www.flycheck.org/en/latest/languages.html#yaml][flycheck]] - -** Lua layer -[[file:+lang/lua/README.org][file:+lang/lua/README.org]] - -This layer adds support for editing Lua. - -Features: -- Editing lua files using [[https://github.com/immerrr/lua-mode][lua-mode]] -- Sending code to a lua REPL -- Code linting using [[https://github.com/mpeterv/luacheck][Luacheck]] - -** plantuml layer -[[file:+lang/plantuml/README.org][file:+lang/plantuml/README.org]] - -This layer enables support for [[https://github.com/skuro/plantuml-mode][plantuml-mode]], which provides -a major-mode for [[http://plantuml.com][plantuml]]. PlantUML is a tool to generate [[https://en.wikipedia.org/wiki/Unified_Modeling_Language][UML diagrams]] from plain-text. - -For help with how to use plantuml, see the [[http://plantuml.com][plantuml website]] and the [[http://plantuml.com/PlantUML_Language_Reference_Guide.pdf][reference guide]]. - -The official file extension supported by this layer is =.pum=. If you want something else, -set it in your =user-config= function of your =~/.spacemacs= file. - -For example, the following diagram can be defined as follows: - -#+BEGIN_SRC plantuml - @startuml - JAremko->robbyoconnor : I think the docs can benefit from some kind of illustration - JAremko<-robbyoconnor : I'm too lazy -- I have actual work to do. I link to the docs. If you can write me a diagram in plantuml, I'll gladly compile and add it. - JAremko->robbyoconnor : *gives ths diagram* - robbyoconnor<-JAremko : *robbyoconnor adds it and JAremko is happy* - ... - robbyoconnor->theOtherPerson : And they thinks it's funny? Yup, they definitely finds it funny. Right? - @enduml -#+END_SRC - -[[file:+lang/plantuml/img/dia.png]] - -Features: -- Syntax highlighting -- Diagram preview in various output formats -- Embedding into org documents -- Controlling the =Plantuml= compiler directly from emacs - -** spacemacs-editing-visual layer -[[file:+spacemacs/spacemacs-editing-visual/README.org][file:+spacemacs/spacemacs-editing-visual/README.org]] - -This layer defines a lot of functions used to visually enhance the currently -edited line in Spacemacs. - -Features: -- Adaptive wrapping -- Hiding of comments -- Highlighting of columns longer than 80 chars -- Highlighting of different indentations -- Automatic highlighting of numbers -- Automatic highlighting of parentheses - -** Java layer -[[file:+lang/java/README.org][file:+lang/java/README.org]] - -This layer adds support for the Java language. - -Features: -- Support for the following backends: - - [[https://github.com/mopemope/meghanada-emacs][Meghanada]] client/server (default), - - [[http://eclim.org][Eclim]] client/server, - - [[https://ensime.github.io/][ENSIME]] client/server. - - [[https://github.com/emacs-lsp/lsp-java][LSP Java]] client/server. -- Each provides: - - Auto-completion using company - - Linting using flycheck integration - - Maven and Gradle integration - -** Windows Scripting layer -[[file:+lang/windows-scripts/README.org][file:+lang/windows-scripts/README.org]] - -This simple layer adds support for the Powershell scripting language as well -as support for batch files. - -Features: -- Syntax highlighting of powershell =.ps1= files via [[https://github.com/jschaf/powershell.el][powershell.el]] -- Syntax highlighting of batch =.bat= files via [[https://www.emacswiki.org/emacs/DosMode][dos.el]] - -** prolog layer -[[file:+lang/prolog/README.org][file:+lang/prolog/README.org]] - -This layer adds support for Prolog using the bundled Prolog mode for Emacs. In addition it also adds ediprolog support for better interaction with SWI-Prolog. - -Features: -- Designed for SWI-Prolog as a default, but can be used with other Prologs that Prolog mode supports. -- Interactive consulting and compiling. -- Auto-formatting. -- Apropos and help lookup. - -** dart layer -[[file:+lang/dart/README.org][file:+lang/dart/README.org]] - -This layer adds support for Dart language, and could be optionally used for Flutter development as well. - -Features: -- Syntax Highlight -- Error checking with ~flycheck~ -- Go to Definition -- Dart Analyzer integration -- Key bindings - -** Perl5 layer -[[file:+lang/perl5/README.org][file:+lang/perl5/README.org]] - -This layer adds support for the Perl5 language. - -Features: -- Syntactic and semantic checking using [[https://github.com/flycheck/flycheck][flycheck]] -- Auto-completion using [[https://github.com/CeleritasCelery/company-plsense][company-plsense]] -- Format code with =perltidy= -- Jump to symbol definition -- Interactive debug via [[https://github.com/realgud/realgud][realgud]] with [[http://search.cpan.org/~rocky/Devel-Trepan-0.73/lib/Devel/Trepan.pm][trepan.pl]] - -** faust layer -[[file:+lang/faust/README.org][file:+lang/faust/README.org]] - -This layer adds support for the [[https://en.wikipedia.org/wiki/FAUST_(programming_language)][faust language]] to Spacemacs. - -Features: -- Syntax highlighting -- Auto-completion - -** spacemacs-bootstrap distribution -[[file:+distributions/spacemacs-bootstrap/README.org][file:+distributions/spacemacs-bootstrap/README.org]] - -This layer loads the necessary packages for spacemacs to start-up. - -Features: -- Loads =evil= key bindings and macros for auto-evilifcation of maps -- Loads =holy= and =hybrid= modes -- Loads the official Spacemacs theme -- Loads =use-package= which is used to load other packages more easily -- Loads =hydra= which is used to create transient modes -- Loads =which-key= which is used to show key bindings in other modes -- Loads =async= which is used to run background processes -- Loads =bind-map= and =bind-key= which are used to realise various - spacemacs specific key binding commands - -** Shell Scripts layer -[[file:+lang/shell-scripts/README.org][file:+lang/shell-scripts/README.org]] - -This simple layer adds support for shell scripting. - -Supported scripting files: -- =.sh= -- =.fish=: [[https://github.com/fish-shell/fish-shell][fish shell]] - -*Note:* For Windows scripting see the layer =windows-scripts= - -Features: -- Auto-completion using [[https://github.com/Alexander-Miller/company-shell][company-shell]] -- =Sh= scripts linting using [[https://www.shellcheck.net/][shellcheck]] -- =Sh= scripts style checking using [[https://github.com/openstack-dev/bashate][bashate]] - -** C/C++ layer -[[file:+lang/c-c++/README.org][file:+lang/c-c++/README.org]] - -This layer adds configuration for C/C++ language. - -Features: -- Support syntax checking via flycheck with Clang. -- Support for disassembly of code with [[https://github.com/jart/disaster][disaster]]. -- Support code reformatting with [[http://clang.llvm.org/docs/ClangFormat.html][clang-format]]. -- Display function or variable definition at the bottom. (when =semantic= layer - is included) -- Display current function cursor is in at the top. See [[https://github.com/tuhdo/semantic-stickyfunc-enhance][stickyfunc-demos]] for - demos in some programming languages. (when =semantic= layer is included) -- Support common refactoring with [[https://github.com/tuhdo/semantic-refactor][semantic-refactor]]. See [[https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos.org][srefactor-demos]] for - demonstration of refactoring features. (when =semantic= layer is included) -- Support code navigation via cscope (when =cscope= layer is included) and gtags. -- Support auto-completion (when =auto-completion= layer is included) via - company-clang (when =c-c++-enable-clang-support= is turned on), or - company-ycmd (when =ycmd= layer is included). -- Support for [[https://github.com/realgud/realgud][realgud]] debugger. -- Support for [[https://github.com/Andersbakken/rtags][rtags]]. -- Support for [[https://github.com/cquery-project/cquery][cquery]] or [[https://github.com/MaskRay/ccls][ccls]] as an lsp backend. - -** JR Concurrent Programming Language layer -[[file:+lang/jr/README.org][file:+lang/jr/README.org]] - -This layer adds syntax highlighting for the [[http://web.cs.ucdavis.edu/~olsson/research/jr/][JR Concurrent Programming Language]]. -JR is the implementation of the [[https://www2.cs.arizona.edu/sr/][SR]] language for Java. - -Features: -- Syntax highlighting - -** reStructuredText layer -[[file:+lang/restructuredtext/README.org][file:+lang/restructuredtext/README.org]] - -The layer adds ReStructuredText (ReST) support to Spacemacs and adds some -functions to =rst-mode=. - -Note: to add =Sphinx= specific support use the layer =sphinx=. - -Features: -- =rst= files are supported via Emacs built-in =rst.el=. -- Lists are inserted by new functions. -- Directives can be inserted easily. -- auto-completion for directives and options via =auto-complete-rst=. -- snippet support via =yasnippet=. - -** CSV layer -[[file:+lang/csv/README.org][file:+lang/csv/README.org]] - -This layer adds tools for better integration of CSV files in Spacemacs. - -Features: -- Detecting of fields for various separators -- Aligning of fields -- Traversal of fields -- Killing of fields -- Sorting of rows -- Transposing of rows/columns -- Intelligent yanking of fields - -** Autohotkey layer -[[file:+lang/autohotkey/README.org][file:+lang/autohotkey/README.org]] - -Syntax highlighting and Emacs functions for use with [[https://autohotkey.com/][AutoHotkey]] or -[[http://ahkscript.org][AutoHotkey_L]]. - -Using a combined implementation of ahk-mode from Xah Lee’s =xahk-mode= -and Robert Widhopf-Fenk’s =autohotkey-mode=. Updated with the latest -ahk and ahk_l commands found in the latest revision of -[[http://fincs.ahk4.net/scite4ahk/][SciTE4AutoHotkey]]. - -Contributed and maintained by [[https://www.github.com/ralesi][Rich Alesi]]. - -Features: -- Auto-completion -- Documentation Lookup -- Execute Code Snippets -- Correct Indentation and Commenting - -** Hy layer -[[file:+lang/hy/README.org][file:+lang/hy/README.org]] - -This layer adds support for the Hy language based on Python. - -Features: -- syntax-highlighting -- Auto-completion -- Code Navigation -- Python test runners (see [[file:+lang/hy/../python/README.org][python layer]]) -- Virtual Environment using [[https://github.com/jorgenschaefer/pyvenv][pyvenv]] and [[https://github.com/yyuu/pyenv][pyenv]] -- Org Babel support - -** Swift layer -[[file:+lang/swift/README.org][file:+lang/swift/README.org]] - -This layer adds support for Apple’s Swift programming language, used as a -general purpose scripting language. - -Features: -- Syntax highlighting with [[https://github.com/swift-emacs/swift-mode][swift-mode]] -- Indentation -- Code navigation using =imenu= (built-in) -- Automatic syntax checking with =flycheck= (available with the - =syntax-checking= layer) - -** Common Lisp layer -[[file:+lang/common-lisp/README.org][file:+lang/common-lisp/README.org]] - -This layer provides support for Common Lisp to Spacemacs. - -Features: -- Syntax highlighting -- Auto-completion using company -- Repl support via [[https://github.com/slime/slime][SLIME]] -- Support for specific lisp navigation styles via =common-lisp-mode= -- Support for [[http://www.sbcl.org/][sbcl]] backend or any other =common-lisp= implementation - -** HTML layer -[[file:+lang/html/README.org][file:+lang/html/README.org]] - -This layer adds support for editing HTML and CSS. - -Features: -- Editing HTML and CSS file using [[http://web-mode.org/][web-mode]] -- Support for Sass/Scss and Less files -- Generate HTML and CSS coding using [[https://github.com/smihica/emmet-mode][emmet-mode]] -- Tags navigation on key ~%~ using [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] -- Support for editing Slim and Pug templates using [[https://github.com/slim-template/emacs-slim][slim-mode]] and [[https://github.com/hlissner/emacs-pug-mode][pug-mode]] -- See the effects of typed HTML using [[https://github.com/skeeto/impatient-mode][impatient-mode]] -- imenu support for CSS and Sass through [[https://github.com/hlissner/emacs-counsel-css][counsel-css]] -- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] - -** Clojure layer -[[file:+lang/clojure/README.org][file:+lang/clojure/README.org]] - -This layer adds support for [[https://clojure.org/][Clojure]] language using [[https://github.com/clojure-emacs/cider][CIDER]]. - -Features: -- REPL via [[https://github.com/clojure-emacs/cider][CIDER]] -- Code formatting via [[https://github.com/clojure-emacs/cider][CIDER]] using [[https://github.com/weavejester/cljfmt][Cljfmt]] -- Refactoring via [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]] -- Aligning of code forms via [[https://github.com/clojure-emacs/clojure-mode][clojure-mode]] -- Debugging with [[https://github.com/clojure-emacs/sayid][sayid]] -- Clojure cheatsheet -- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]] - -** Racket layer -[[file:+lang/racket/README.org][file:+lang/racket/README.org]] - -Adds support for the [[http://racket-lang.org/][Racket]] programming language. - -Features: -- Syntax highlighting with =racket-mode= -- Test runner -- Interactive REPL -- Code navigation with =gtags= -- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]