3326 lines
125 KiB
Org Mode
3326 lines
125 KiB
Org Mode
#+TITLE: Spacemacs layers list
|
|
|
|
* Table of Contents :TOC_5_gh:noexport:
|
|
- [[#description][Description]]
|
|
- [[#chats][Chats]]
|
|
- [[#erc][ERC]]
|
|
- [[#jabber][Jabber]]
|
|
- [[#rcirc][RCIRC]]
|
|
- [[#slack][Slack]]
|
|
- [[#checkers][Checkers]]
|
|
- [[#spell-checking][Spell Checking]]
|
|
- [[#syntax-checking][Syntax Checking]]
|
|
- [[#completion][Completion]]
|
|
- [[#auto-completion][Auto-completion]]
|
|
- [[#compleseus][Compleseus]]
|
|
- [[#helm][Helm]]
|
|
- [[#ivy][Ivy]]
|
|
- [[#templates][Templates]]
|
|
- [[#e-mail][E-mail]]
|
|
- [[#gnus][Gnus]]
|
|
- [[#mu4e][Mu4e]]
|
|
- [[#notmuch][Notmuch]]
|
|
- [[#emacs][Emacs]]
|
|
- [[#better-defaults][Better Defaults]]
|
|
- [[#helpful][Helpful]]
|
|
- [[#ibuffer][IBuffer]]
|
|
- [[#org][Org]]
|
|
- [[#outshine][Outshine]]
|
|
- [[#quickurl][Quickurl]]
|
|
- [[#semantic][Semantic]]
|
|
- [[#smex][Smex]]
|
|
- [[#tabs][Tabs]]
|
|
- [[#typography][Typography]]
|
|
- [[#file-trees][File trees]]
|
|
- [[#neotree][Neotree]]
|
|
- [[#treemacs][Treemacs]]
|
|
- [[#fonts][Fonts]]
|
|
- [[#unicode-fonts][Unicode-fonts]]
|
|
- [[#fun][Fun]]
|
|
- [[#emoji][Emoji]]
|
|
- [[#games][Games]]
|
|
- [[#selectric][Selectric]]
|
|
- [[#xkcd][Xkcd]]
|
|
- [[#internationalization][Internationalization]]
|
|
- [[#chinese][Chinese]]
|
|
- [[#japanese][Japanese]]
|
|
- [[#keyboard-layout][Keyboard-layout]]
|
|
- [[#miscellaneous][Miscellaneous]]
|
|
- [[#copy-as-format][Copy-as-format]]
|
|
- [[#dtrt-indent][Dtrt-indent]]
|
|
- [[#ietf][Ietf]]
|
|
- [[#multiple-cursors][Multiple-cursors]]
|
|
- [[#nav-flash][Nav-flash]]
|
|
- [[#parinfer][Parinfer]]
|
|
- [[#spacemacs-completion][Spacemacs-completion]]
|
|
- [[#spacemacs-defaults][Spacemacs-defaults]]
|
|
- [[#spacemacs-editing][Spacemacs-editing]]
|
|
- [[#spacemacs-editing-visual][Spacemacs-editing-visual]]
|
|
- [[#spacemacs-evil][Spacemacs-evil]]
|
|
- [[#spacemacs-language][Spacemacs-language]]
|
|
- [[#spacemacs-layouts][Spacemacs-layouts]]
|
|
- [[#spacemacs-misc][Spacemacs-misc]]
|
|
- [[#spacemacs-modeline][Spacemacs-modeline]]
|
|
- [[#spacemacs-navigation][Spacemacs-navigation]]
|
|
- [[#spacemacs-org][Spacemacs-org]]
|
|
- [[#spacemacs-project][Spacemacs-project]]
|
|
- [[#spacemacs-purpose][Spacemacs-purpose]]
|
|
- [[#spacemacs-visual][Spacemacs-visual]]
|
|
- [[#music][Music]]
|
|
- [[#alda-layer][Alda Layer]]
|
|
- [[#extempore][Extempore]]
|
|
- [[#pianobar][Pianobar]]
|
|
- [[#spotify][Spotify]]
|
|
- [[#tidalcycles][TidalCycles]]
|
|
- [[#operating-systems][Operating systems]]
|
|
- [[#nixos][NixOS]]
|
|
- [[#osx][OSX]]
|
|
- [[#pair-programming][Pair programming]]
|
|
- [[#floobits][Floobits]]
|
|
- [[#programming-languages][Programming languages]]
|
|
- [[#domain-specific-dsls][Domain-specific (DSLs)]]
|
|
- [[#lisp-dialects][Lisp dialects]]
|
|
- [[#clojure][Clojure]]
|
|
- [[#common-lisp][Common Lisp]]
|
|
- [[#emacs-lisp][Emacs Lisp]]
|
|
- [[#scheme][Scheme]]
|
|
- [[#markup--configuration][Markup & configuration]]
|
|
- [[#asciidoc][Asciidoc]]
|
|
- [[#bibtex][BibTeX]]
|
|
- [[#csv][CSV]]
|
|
- [[#dhall][Dhall]]
|
|
- [[#graphviz][Graphviz]]
|
|
- [[#html][HTML]]
|
|
- [[#json][JSON]]
|
|
- [[#jsonnet][Jsonnet]]
|
|
- [[#latex][LaTeX]]
|
|
- [[#markdown][Markdown]]
|
|
- [[#plantuml][Plantuml]]
|
|
- [[#restructuredtext][ReStructuredText]]
|
|
- [[#semantic-web][Semantic Web]]
|
|
- [[#yaml][YAML]]
|
|
- [[#yang][Yang]]
|
|
- [[#scripting][Scripting]]
|
|
- [[#autohotkey][Autohotkey]]
|
|
- [[#graphql][Graphql]]
|
|
- [[#shell-scripts][Shell Scripts]]
|
|
- [[#vimscript-language][Vimscript language]]
|
|
- [[#windows-scripting][Windows Scripting]]
|
|
- [[#coq][Coq]]
|
|
- [[#elasticsearch][Elasticsearch]]
|
|
- [[#ess-r][ESS (R)]]
|
|
- [[#extra-languages][Extra Languages]]
|
|
- [[#faust][Faust]]
|
|
- [[#gpu][GPU]]
|
|
- [[#kivy][Kivy]]
|
|
- [[#mercury][Mercury]]
|
|
- [[#octave][Octave]]
|
|
- [[#prolog][Prolog]]
|
|
- [[#solidity-layer][Solidity Layer]]
|
|
- [[#sql][SQL]]
|
|
- [[#frameworks][Frameworks]]
|
|
- [[#django][Django]]
|
|
- [[#emberjs][Emberjs]]
|
|
- [[#phoenix][Phoenix]]
|
|
- [[#react][React]]
|
|
- [[#ruby-on-rails][Ruby on Rails]]
|
|
- [[#vue][Vue]]
|
|
- [[#general-purpose][General-purpose]]
|
|
- [[#imperative][Imperative]]
|
|
- [[#asm][Asm]]
|
|
- [[#forth][Forth]]
|
|
- [[#multi-paradigm][Multi-paradigm]]
|
|
- [[#javascript-dialects][JavaScript dialects]]
|
|
- [[#coffeescript][CoffeeScript]]
|
|
- [[#javascript][JavaScript]]
|
|
- [[#purescript][Purescript]]
|
|
- [[#typescript][TypeScript]]
|
|
- [[#c][C#]]
|
|
- [[#cc][C/C++]]
|
|
- [[#crystal][Crystal]]
|
|
- [[#d-language][D language]]
|
|
- [[#dart][Dart]]
|
|
- [[#elixir][Elixir]]
|
|
- [[#erlang][Erlang]]
|
|
- [[#f][F#]]
|
|
- [[#factor-layer][Factor Layer]]
|
|
- [[#go][Go]]
|
|
- [[#groovy][Groovy]]
|
|
- [[#hy][Hy]]
|
|
- [[#java][Java]]
|
|
- [[#jr-concurrent-programming-language][JR Concurrent Programming Language]]
|
|
- [[#julia][Julia]]
|
|
- [[#kotlin][Kotlin]]
|
|
- [[#lua][Lua]]
|
|
- [[#nim][Nim]]
|
|
- [[#ocaml][Ocaml]]
|
|
- [[#pact][Pact]]
|
|
- [[#perl5][Perl5]]
|
|
- [[#php][PHP]]
|
|
- [[#python][Python]]
|
|
- [[#racket][Racket]]
|
|
- [[#raku][Raku]]
|
|
- [[#reasonml][ReasonML]]
|
|
- [[#ruby][Ruby]]
|
|
- [[#rust][Rust]]
|
|
- [[#scala][Scala]]
|
|
- [[#sml][SML]]
|
|
- [[#swift][Swift]]
|
|
- [[#zig][Zig]]
|
|
- [[#purely-functional][Purely functional]]
|
|
- [[#agda][Agda]]
|
|
- [[#elm][Elm]]
|
|
- [[#haskell][Haskell]]
|
|
- [[#idris][Idris]]
|
|
- [[#utilities][Utilities]]
|
|
- [[#conda-layer][Conda Layer]]
|
|
- [[#dotnet][Dotnet]]
|
|
- [[#ipython-notebook][IPython Notebook]]
|
|
- [[#protocol-buffers][Protocol Buffers]]
|
|
- [[#sailfish-os-developer][Sailfish OS developer]]
|
|
- [[#readers][Readers]]
|
|
- [[#dash][Dash]]
|
|
- [[#deft][Deft]]
|
|
- [[#elfeed][Elfeed]]
|
|
- [[#epub][Epub]]
|
|
- [[#pdf][PDF]]
|
|
- [[#speed-reading][Speed Reading]]
|
|
- [[#readmeorg-files-that-need-proper-tags][README.org files that need proper tags]]
|
|
- [[#languagetool][LanguageTool]]
|
|
- [[#source-control][Source control]]
|
|
- [[#git][Git]]
|
|
- [[#github][GitHub]]
|
|
- [[#perforce][Perforce]]
|
|
- [[#version-control][Version-Control]]
|
|
- [[#spacemacs][Spacemacs]]
|
|
- [[#distributions][Distributions]]
|
|
- [[#spacemacs-distribution][Spacemacs distribution]]
|
|
- [[#spacemacs-base-distribution][Spacemacs-base distribution]]
|
|
- [[#spacemacs-bootstrap-distribution][Spacemacs-bootstrap distribution]]
|
|
- [[#tagging][Tagging]]
|
|
- [[#cscope][Cscope]]
|
|
- [[#helm-gtags][Helm Gtags]]
|
|
- [[#themes][Themes]]
|
|
- [[#colors][Colors]]
|
|
- [[#nyan-mode][Nyan-mode]]
|
|
- [[#themes-megapack][Themes Megapack]]
|
|
- [[#theming][Theming]]
|
|
- [[#tools][Tools]]
|
|
- [[#ansible][Ansible]]
|
|
- [[#bm][Bm]]
|
|
- [[#cfengine][CFEngine]]
|
|
- [[#chrome][Chrome]]
|
|
- [[#cmake][CMake]]
|
|
- [[#command-log][Command-log]]
|
|
- [[#dap][DAP]]
|
|
- [[#debug][Debug]]
|
|
- [[#docker][Docker]]
|
|
- [[#eww][Eww]]
|
|
- [[#exwm][EXWM]]
|
|
- [[#fasd][Fasd]]
|
|
- [[#finance][Finance]]
|
|
- [[#geolocation][Geolocation]]
|
|
- [[#imenu-list][Imenu-list]]
|
|
- [[#import-js][Import-js]]
|
|
- [[#kubernetes][Kubernetes]]
|
|
- [[#lsp][LSP]]
|
|
- [[#meson][Meson]]
|
|
- [[#nginx][Nginx]]
|
|
- [[#node][Node]]
|
|
- [[#pandoc][Pandoc]]
|
|
- [[#pass][Pass]]
|
|
- [[#prettier][Prettier]]
|
|
- [[#prodigy][Prodigy]]
|
|
- [[#puppet][Puppet]]
|
|
- [[#ranger][Ranger]]
|
|
- [[#rebox][Rebox]]
|
|
- [[#restclient][Restclient]]
|
|
- [[#saltstack][Saltstack]]
|
|
- [[#shell][Shell]]
|
|
- [[#sphinx][Sphinx]]
|
|
- [[#systemd][Systemd]]
|
|
- [[#tern][Tern]]
|
|
- [[#terraform][Terraform]]
|
|
- [[#tide-layer][Tide Layer]]
|
|
- [[#tmux][Tmux]]
|
|
- [[#transmission][Transmission]]
|
|
- [[#vagrant][Vagrant]]
|
|
- [[#web-beautify][Web-beautify]]
|
|
- [[#xclipboard][Xclipboard]]
|
|
- [[#vim][Vim]]
|
|
- [[#evil-better-jumper][Evil-better-jumper]]
|
|
- [[#evil-commentary][Evil-commentary]]
|
|
- [[#evil-snipe][Evil-snipe]]
|
|
- [[#vim-empty-lines][Vim-empty-lines]]
|
|
- [[#vinegar][Vinegar]]
|
|
- [[#web-services][Web services]]
|
|
- [[#confluence][Confluence]]
|
|
- [[#eaf][Eaf]]
|
|
- [[#evernote][Evernote]]
|
|
- [[#pocket][Pocket]]
|
|
- [[#search-engine][Search Engine]]
|
|
- [[#twitter][Twitter]]
|
|
- [[#wakatime][Wakatime]]
|
|
|
|
* Description
|
|
|
|
THIS FILE IS AUTO-GENERATED!
|
|
Don't edit it directly. See [[https://github.com/syl20bnr/spacemacs/blob/develop/CONTRIBUTING.org#readmeorg-tags]["README.org tags" section of CONTRIBUTING.org for the instructions]].
|
|
|
|
This is an overview of Spacemacs configuration layers. For information about
|
|
configuration layer development see [[https://develop.spacemacs.org/doc/LAYERS.html][Configuration layers development]].
|
|
|
|
* Chats
|
|
** ERC
|
|
[[file:+chat/erc/README.org][+chat/erc/README.org]]
|
|
|
|
Layer for [[http://www.emacswiki.org/emacs/ERC][ERC IRC chat]].
|
|
|
|
Features:
|
|
- Highlight nicks (using [[https://github.com/leathekd/erc-hl-nicks][erc-hl-nicks]])
|
|
- Image inline support (using [[https://github.com/kidd/erc-image.el][erc-image]])
|
|
- Logging to =~/.emacs.d/.cache/erc-logs= and =ViewLogMode= for viewing logs
|
|
(using [[https://github.com/Niluge-KiWi/erc-view-log][erc-view-log]])
|
|
- YouTube videos Thumbnails inline (using [[https://github.com/yhvh/erc-yt][erc-yt]])
|
|
- Social Graph for ERC messages (using [[https://github.com/vibhavp/erc-social-graph][erc-social-graph]])
|
|
- Optional SASL authentication via the variable =erc-enable-sasl-auth=
|
|
(using [[http://emacswiki.org/emacs/ErcSASL][erc-sasl]])
|
|
- D-BUS notifications via the variable =erc-enable-notifications=
|
|
- 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:
|
|
|
|
** Jabber
|
|
[[file:+chat/jabber/README.org][+chat/jabber/README.org]]
|
|
|
|
This layer adds support for the Jabber (XMPP) client for Emacs
|
|
|
|
Features:
|
|
- Use Jabber without having to leave Spacemacs
|
|
|
|
** RCIRC
|
|
[[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.
|
|
|
|
Features:
|
|
- Store channel logs into =~/.emacs.d/.cache/rcirc-logs/<channel>=
|
|
- Support for credentials stored in =~/.authinfo.gpg= (need to have gnutls)
|
|
- Support ZNC support (with optional =~/.authinfo.gpg=)
|
|
- Colored nicknames
|
|
- Real-time change when people use =s/foo/bar/= in chat
|
|
- 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:
|
|
|
|
** Slack
|
|
[[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
|
|
packages in Spacemacs.
|
|
|
|
Features:
|
|
- Real time messaging with [[https://github.com/ahyatt/emacs-websocket][emacs-websocket]]
|
|
- Connect to multiple slack instances
|
|
- Notifications with [[https://github.com/jwiegley/alert][alert.el]]
|
|
|
|
* Checkers
|
|
** Spell Checking
|
|
[[file:+checkers/spell-checking/README.org][+checkers/spell-checking/README.org]]
|
|
|
|
This layer provides spell checking capabilities to Spacemacs.
|
|
|
|
Features:
|
|
- Buffer-wide spell checking via external command (ispell, hunspell, aspell) run through [[http://www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html][Flyspell]].
|
|
- Spell as you type
|
|
- Optional correction popups, controlled by =enable-flyspell-auto-completion= variable.
|
|
- [[https://github.com/nschum/auto-dictionary-mode][Auto dictionary mode]] for some languages.
|
|
|
|
** Syntax Checking
|
|
[[file:+checkers/syntax-checking/README.org][+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=
|
|
|
|
* Completion
|
|
** Auto-completion
|
|
[[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]]
|
|
- Automatic docstring tooltips are provided by [[https://github.com/expez/company-quickhelp][company-quickhelp]]
|
|
|
|
** Compleseus
|
|
[[file:+completion/compleseus/README.org][+completion/compleseus/README.org]]
|
|
|
|
This layer adds a new way of completion provided by the following core packages:
|
|
- =consult=
|
|
- =embark=
|
|
- =marginalia=
|
|
- =orderless=
|
|
- =selectrum= or =vertico=
|
|
|
|
This is an WIP and only supports emacs 27 or later. Please contribute.
|
|
|
|
Features:
|
|
- Same features as =ivy= or =helm=
|
|
|
|
** Helm
|
|
[[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.
|
|
|
|
These completion systems are the central control towers of Spacemacs, they are
|
|
used to manage buffers, projects, search results, configuration layers, toggles
|
|
and more...
|
|
|
|
Mastering your choice of completion system will make you a Spacemacs power user.
|
|
|
|
Features:
|
|
- Project wide =grep= like text search via =helm-dir-smart-do-search=
|
|
- Project wide text replacements using =helm-edit-mode=
|
|
- Buffer wide dynamic text search via =helm-swoop=
|
|
- Fuzzy matching for most =helm-sources=
|
|
- Detailed configuration parameters for helms appearance
|
|
- Intuitive =transient state=
|
|
|
|
** Ivy
|
|
[[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]].
|
|
|
|
These completion systems are the central control towers of Spacemacs, they are
|
|
used to manage buffers, projects, search results, configuration layers, toggles
|
|
and more...
|
|
|
|
Mastering your choice of completion system will make you a Spacemacs power user.
|
|
|
|
Features:
|
|
- Project wide =grep= like text search via =search-auto=
|
|
- Project wide text replacements using =counsel-imenu=
|
|
- Buffer wide dynamic text search via =swiper=
|
|
- Detailed configuration parameters for ivy appearance
|
|
- Intuitive =transient state=
|
|
- Advanced buffer information with =ivy-rich=
|
|
|
|
** Templates
|
|
[[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
|
|
[[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 management via [[https://gnupg.org/][GnuPG]].
|
|
|
|
** Mu4e
|
|
[[file:+email/mu4e/README.org][+email/mu4e/README.org]]
|
|
|
|
This layer adds support for the =Mu4e= email client.
|
|
|
|
Features:
|
|
- Search, read, reply, move, and delete email.
|
|
- Search-based: no folders, only queries.
|
|
- UI optimized for speed: quick keystrokes for common actions.
|
|
- Very extendable and customizable.
|
|
- Integration with Helm.
|
|
- Maildir summary using [[https://github.com/agpchil/mu4e-maildirs-extension][mu4e-mailidirs-extension]]
|
|
- Notifications using [[https://github.com/iqbalansari/mu4e-alert][mu4e-alert]]
|
|
|
|
** Notmuch
|
|
[[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.
|
|
|
|
This layer integrates the Notmuch Emacs package into Spacemacs.
|
|
|
|
Features:
|
|
- Email searching
|
|
- Email tagging
|
|
|
|
* Emacs
|
|
** Better Defaults
|
|
[[file:+emacs/better-defaults/README.org][+emacs/better-defaults/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, but some of the layer bindings might be shadowed by the evil key bindings.
|
|
|
|
The commands defined in this layer are taken from various sources like [[https://github.com/bbatsov/prelude][Prelude]].
|
|
|
|
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~.
|
|
|
|
** Helpful
|
|
[[file:+emacs/helpful/README.org][+emacs/helpful/README.org]]
|
|
|
|
This layer replaces the existing emacs related help buffers with more detailed ones.
|
|
|
|
Features:
|
|
- Better help buffers with [[https://github.com/Wilfred/helpful][helpful]] for emacs related buffers
|
|
- Source code shown implicitly in help buffer for all lisp objects
|
|
- More detailed descriptions in the emacs specific function, variable and key help buffers
|
|
- Better formatted elisp docstrings
|
|
|
|
** IBuffer
|
|
[[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
|
|
[[file:+emacs/org/README.org][+emacs/org/README.org]]
|
|
|
|
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
|
|
|
|
Features:
|
|
- Vim inspired key bindings are provided by [[https://github.com/Somelauw/evil-org-mode][evil-org-mode]]
|
|
- Nicer bullet via [[https://github.com/integral-dw/org-superstar-mode][org-superstar-mode]]
|
|
- A [[https://cirillocompany.de/pages/pomodoro-technique][pomodoro method]] integration via [[https://github.com/lolownia/org-pomodoro][org-pomodoro]]
|
|
- Presentation mode via [[https://github.com/rlister/org-present][org-present]]
|
|
- Insertion of images via [[https://github.com/abo-abo/org-download][org-download]]
|
|
- Project-specific TODOs via [[https://github.com/IvanMalison/org-projectile][org-projectile]]
|
|
- Easy insert of URLs from clipboard with org format via [[https://github.com/rexim/org-cliplink][org-cliplink]]
|
|
- Rich insert of code (into a source block with highlighting, and a link) from other buffers via [[https://github.com/unhammer/org-rich-yank][org-rich-yank]]
|
|
- Pixel-perfect visual alignment for Org and Markdown tables via [[https://github.com/casouri/valign][valign]]
|
|
|
|
** Outshine
|
|
[[file:+emacs/outshine/README.org][+emacs/outshine/README.org]]
|
|
|
|
This layer adds support for [[https://github.com/alphapapa/outshine][outshine]] and [[https://github.com/alphapapa/outorg][outorg]]. They will be enabled in all
|
|
programming modes.
|
|
|
|
Features:
|
|
- Navigate through code buffers via headings like you do with org buffers
|
|
- Edit comments under outline headings in separate org-mode buffers
|
|
|
|
** Quickurl
|
|
[[file:+tools/quickurl/README.org][+tools/quickurl/README.org]]
|
|
|
|
Quickurl is a package in vanilla emacs for saving and inserting URLs. These
|
|
are key bindings for the various methods of insertion, which are not bound by
|
|
default.
|
|
|
|
Features:
|
|
- Key bindings to dispatch Quickurl (which is in vanilla Emacs).
|
|
|
|
** Semantic
|
|
[[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.
|
|
CEDET includes common features such as intelligent completion, source code
|
|
navigation, project management, code generation with templates. CEDET also
|
|
provides a framework for working with programming languages; support for new
|
|
programming languages can be added and use CEDET to provide IDE-like features.
|
|
This framework is called Semantic.
|
|
|
|
Semantic is a package that provides a framework for writing parsers. Parsing is
|
|
a process of analyzing source code based on programming language syntax. The
|
|
packages relies on Semantic for analyzing source code and uses its results to
|
|
perform smart code refactoring that based on code structure of the analyzed
|
|
language, instead of plain text structure. Semantic is the core of CEDET.
|
|
|
|
Features:
|
|
- Display function or variable definition at the bottom.
|
|
- Display current function cursor is in at the top. See
|
|
[[https://github.com/tuhdo/semantic-stickyfunc-enhance][this page]] for demos in some programming languages.
|
|
- Support common C/C++ refactoring with [[https://github.com/tuhdo/semantic-refactor][semantic-refactor]]. See
|
|
[[https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos.org][this page]] for demonstration of refactoring 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.
|
|
|
|
** Smex
|
|
[[file:+emacs/smex/README.org][+emacs/smex/README.org]]
|
|
|
|
This layer provides a more traditional alternative to =helm-M-x= based on =ido=.
|
|
|
|
Features:
|
|
- Provides an alternative way for =helm-M-x= based on =ido= and [[https://github.com/nonsequitur/smex][smex]]
|
|
|
|
** Tabs
|
|
[[file:+emacs/tabs/README.org][+emacs/tabs/README.org]]
|
|
|
|
This layer adds support for tabs. Implementation is done using [[https://github.com/ema2159/centaur-tabs][Centaur Tabs]].
|
|
|
|
Features:
|
|
- Sets up tabs using Centaur tabs as backend
|
|
- Optionally auto hide tabs after delay
|
|
|
|
** Typography
|
|
[[file:+emacs/typography/README.org][+emacs/typography/README.org]]
|
|
|
|
This layer provides support for typographic text editing in Spacemacs.
|
|
|
|
Features:
|
|
- Modes to automatically insert and cycle among typographic characters
|
|
- [[https://github.com/jorgenschaefer/typoel][Typo Mode]] automatically inserts and cycles among typographic Unicode
|
|
characters on some keys.
|
|
- Tildify Mode automatically inserts non-breaking spaces where
|
|
required (Only available on Emacs 25).
|
|
|
|
* File trees
|
|
** Neotree
|
|
[[file:+filetree/neotree/README.org][+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
|
|
|
|
** Treemacs
|
|
[[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]].
|
|
|
|
Features:
|
|
|
|
A detailed overview of the features of Treemacs is available in [[https://github.com/Alexander-Miller/treemacs#detailed-feature-list][the Treemacs
|
|
readme]]. In short, Treemacs offers:
|
|
- Simple and powerful navigation and ability to detail exactly how and where a
|
|
file should be opened.
|
|
- Good looking icons.
|
|
- Display of multiple file trees organized as projects residing in a workspace.
|
|
- Ability to show tags contained in files. Tags are provided by [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html][Imenu]], so nearly
|
|
every filetype is supported.
|
|
- Mouse interface for single and double left clicks in line with modern GUI
|
|
standards (clicking on an icon will also display the file's tags).
|
|
- Location awareness: commands like ~find-file~ or ~magit-status~ will use the
|
|
location of the node at point (with =$HOME= as fallback).
|
|
- Optional fontifying of files based on their git status.
|
|
- Optional collapsing of /single-dir-child/ directories into one.
|
|
- Doing both asynchronously for an imperceptible performance cost.
|
|
- Optional =follow-mode= to automatically focus the currently selected file or tag.
|
|
- Optional =filewatch-mode= to automatically refresh the view after (and only
|
|
after) changes to the shown filesystem.
|
|
|
|
* Fonts
|
|
** Unicode-fonts
|
|
[[file:+fonts/unicode-fonts/README.org][+fonts/unicode-fonts/README.org]]
|
|
|
|
This layer adds support for [[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.
|
|
|
|
Features:
|
|
- Display unicode glyphs using the best available font.
|
|
- Easily override glyphs or sections of glyphs.
|
|
- Display color emoji on both the macOS port version of Emacs and emacs-plus (with
|
|
=unicode-fonts-force-multi-color-on-mac= set to non nil).
|
|
- Enable support for font ligature in Emacs 27 + via [[https://github.com/mickeynp/ligature.el][ligatures.el]].
|
|
|
|
* Fun
|
|
** Emoji
|
|
[[file:+fun/emoji/README.org][+fun/emoji/README.org]]
|
|
|
|
This layer adds support for Emoji emoticons from [[https://www.webpagefx.com/tools/emoji-cheat-sheet/][emoji-cheat-sheet]].
|
|
|
|
Features:
|
|
- Browse Emoji in a dedicated buffer
|
|
- Display Emoji images in buffer
|
|
- Insert one or several Emoji with a helm front-end
|
|
- Completion of Emojis using [[https://github.com/dunn/company-emoji][company-emoji]]
|
|
|
|
** Games
|
|
[[file:+fun/games/README.org][+fun/games/README.org]]
|
|
|
|
This layer allows you to play evilified games in Spacemacs.
|
|
|
|
Features:
|
|
- 2048-game
|
|
- Pacmacs (Pacman for Emacs)
|
|
- Sudoku
|
|
- Tetris
|
|
- Typit
|
|
|
|
** Selectric
|
|
[[file:+fun/selectric/README.org][+fun/selectric/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.
|
|
|
|
Features:
|
|
- Brings back fond memories about your first programming job where you started
|
|
with that big mechanical keyboard and the small monochrome display working on
|
|
the latest IBM Iseries server.
|
|
|
|
** Xkcd
|
|
[[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]].
|
|
|
|
Features:
|
|
- Load a random xkcd
|
|
- Show the text in the modeline
|
|
- Open explanation and current comic in browser
|
|
- Cache the comics in =.cache/xkcd=
|
|
|
|
* Internationalization
|
|
** Chinese
|
|
[[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
|
|
[[file:+intl/japanese/README.org][+intl/japanese/README.org]]
|
|
|
|
This Layer adds Japanese related packages.
|
|
|
|
Features:
|
|
- [[https://github.com/kenjimyzk/evil-tutor-ja][evil-tutor-ja]]: Japanese Vimtutor adapted to Emacs+Evil and wrapped in a major mode
|
|
- [[https://github.com/emacs-jp/migemo][migemo]]: Japanese incremental search through dynamic pattern expansion
|
|
- [[https://github.com/emacs-helm/helm/wiki/Migemo][helm-migemo-mode]]: helm with migemo
|
|
- [[https://github.com/momomo5717/avy-migemo/blob/master/README.jp.org][avy-migemo]]: avy with migemo
|
|
- [[https://github.com/skk-dev/ddskk][ddskk]]: Simple Kana to Kanji conversion program (SKK)
|
|
- [[https://github.com/emacs-jp/japanese-holidays][japanese-holidays]]: calendar functions for the Japanese calendar
|
|
- [[https://github.com/coldnew/pangu-spacing][pangu-spacing]]: emacs minor-mode to add space between Japanese and English
|
|
characters.
|
|
- Join consecutive Japanese lines into a single long line without unwanted space
|
|
when exporting org-mode to html.
|
|
|
|
** Keyboard-layout
|
|
[[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 differ from the traditional =en-us= =QWERTY= layout.
|
|
|
|
Features:
|
|
- Support alternative keyboard layouts within Spacemacs
|
|
- Remap navigation commands to the homerow of your chosen layout
|
|
- Remap missing commands automatically to elsewhere in the layout
|
|
|
|
* Miscellaneous
|
|
** Copy-as-format
|
|
[[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
|
|
|
|
** Dtrt-indent
|
|
[[file:+misc/dtrt-indent/README.org][+misc/dtrt-indent/README.org]]
|
|
|
|
This is a simple layer wrapping the dtrt-indent Emacs package for automatic detection and switching of indentation style.
|
|
|
|
It is automatically enabled using the method [[https://github.com/syl20bnr/spacemacs/issues/3203#issuecomment-264175032][suggested here]].
|
|
|
|
Features:
|
|
- Indentation style detection and automatic configuration to match file in open buffer.
|
|
|
|
** Ietf
|
|
[[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
|
|
[[file:+misc/multiple-cursors/README.org][+misc/multiple-cursors/README.org]]
|
|
|
|
Features:
|
|
- support for multiple cursors.
|
|
|
|
** Nav-flash
|
|
[[file:+misc/nav-flash/README.org][+misc/nav-flash/README.org]]
|
|
|
|
This layer adds [[https://github.com/rolandwalker/nav-flash][nav-flash]] package which temporarily highlights the line
|
|
containing the point, which is sometimes useful for orientation after a
|
|
navigation command.
|
|
|
|
Features:
|
|
- Fancy flashing line on navigation.
|
|
|
|
** Parinfer
|
|
[[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.
|
|
|
|
Features:
|
|
- Automatic management of parenthesis in clojure, emacs lisp, common-lisp and scheme following the parinfer editing paradigm.
|
|
- Powered by a native library in the background
|
|
|
|
** Spacemacs-completion
|
|
[[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][+spacemacs/spacemacs-defaults/README.org]]
|
|
|
|
This layer configures mostly Emacs built-in packages to given them better
|
|
defaults.
|
|
|
|
Features:
|
|
- Configures packages:
|
|
- abbrev
|
|
- archive-mode
|
|
- bookmark
|
|
- conf-mode
|
|
- cus-edit
|
|
- dired
|
|
- dired-x
|
|
- display-line-numbers (only in Emacs 26.x and newer)
|
|
- electric-indent-mode
|
|
- easypg
|
|
- ediff
|
|
- eldoc
|
|
- help-fns+
|
|
- hi-lock
|
|
- image-mode
|
|
- imenu
|
|
- linum (only in Emacs 25.x and older)
|
|
- occur-mode
|
|
- package-menu
|
|
- page-break-lines
|
|
- process-menu
|
|
- quickrun
|
|
- recentf
|
|
- savehist
|
|
- saveplace
|
|
- subword
|
|
- tar-mode
|
|
- uniquify
|
|
- url
|
|
- visual-line-mode
|
|
- whitespace
|
|
- winner
|
|
- zone
|
|
|
|
** Spacemacs-editing
|
|
[[file:+spacemacs/spacemacs-editing/README.org][+spacemacs/spacemacs-editing/README.org]]
|
|
|
|
This layer adds packages to improve editing with Spacemacs.
|
|
|
|
Features:
|
|
- Support for automatic indentation of code via [[https://github.com/Malabarba/aggressive-indent-mode][=aggressive-indent=]].
|
|
- Support for jumping to chars using a decision tree via [[https://github.com/abo-abo/avy][=avy=]].
|
|
- Improvements for evaluating sexps via [[https://github.com/hchbaw/eval-sexp-fu.el/tree/36d2fe3bcf602e15ca10a7f487da103515ef391a][=eval-sexp-fu=]].
|
|
- Selecting and editing of multiple text elements via [[https://github.com/magnars/expand-region.el][=expand-region=]].
|
|
- Support for editing files in hex format via [[https://github.com/emacs-mirror/emacs/blob/master/lisp/hexl.el][=hexl=]].
|
|
- Deletion of consecutive horizontal whitespace with a single key
|
|
via [[https://github.com/nflath/hungry-delete][=hungry-delete=]].
|
|
- Support for selecting, copying and opening links using [[https://github.com/abo-abo/avy][=avy=]] via [[https://github.com/noctuid/link-hint.el][=link-hint=]].
|
|
- Adding of sample text via [[https://github.com/jschaf/emacs-lorem-ipsum][=lorem-ipsum=]].
|
|
- Transient state for moving text via [[https://github.com/emacsfodder/move-text][=move-text=]].
|
|
- Support for folding of code via [[https://github.com/gregsexton/origami.el][=origami=]] and [[https://github.com/alexmurray/evil-vimish-fold][=evil-vimish-fold=]].
|
|
- Support for password generation via [[https://github.com/vandrlexay/emacs-password-genarator][=password-generator=]].
|
|
- Support for improving parenthesis handling via [[https://github.com/Fuco1/smartparens][=smartparens=]].
|
|
- Automatic whitespace cleanup on save via =spacemacs-whitespace-cleanup=.
|
|
- Support for converting definitions to certain styles via [[https://github.com/akicho8/string-inflection][=string-inflection=]].
|
|
- Support for generating UUIDs via [[https://github.com/kanru/uuidgen-el][=uuidgen=]].
|
|
- Support for conversion between Emacs regexps and PCRE regexps.
|
|
- Support for persistent scratch via [[https://github.com/Fanael/persistent-scratch][=persistent-scratch=]].
|
|
- Support for unkillable scratch via [[https://github.com/EricCrosson/unkillable-scratch][=unkillable-scratch=]].
|
|
- Support for sorting (press ~s~) via [[https://gitlab.com/xuhdev/dired-quick-sort][=dired-quick-sort=]]
|
|
- Support for [[https://github.com/PythonNut/evil-easymotion][=evil-easymotion=]] if the editing style is =vim= or =hybrid=.
|
|
- Support for cycling between multi line block styles via [[https://github.com/IvanMalison/multi-line/][=multi-line=]].
|
|
- Support for editing strings inplace via [[https://github.com/magnars/string-edit.el][=string-edit=]]
|
|
|
|
** Spacemacs-editing-visual
|
|
[[file:+spacemacs/spacemacs-editing-visual/README.org][+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
|
|
|
|
** Spacemacs-evil
|
|
[[file:+spacemacs/spacemacs-evil/README.org][+spacemacs/spacemacs-evil/README.org]]
|
|
|
|
This layer adds various adjustments to packages to create an evilified experience
|
|
throughout the entirety of Spacemacs.
|
|
|
|
Features:
|
|
- Add evil tutorial with =evil-tutor=
|
|
- Add relative line number with =linum-relative= (only in Emacs 25.x and older)
|
|
- Add escaping under ~fd~ by default with =evil-escape=
|
|
- Add occurrences 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 occurrences 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=
|
|
- Navigation 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 tildes in non-buffer area with =vi-tilde-fringe=
|
|
- Add =evil-collection=
|
|
|
|
** Spacemacs-language
|
|
[[file:+spacemacs/spacemacs-language/README.org][+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]].
|
|
|
|
** Spacemacs-layouts
|
|
[[file:+spacemacs/spacemacs-layouts/README.org][+spacemacs/spacemacs-layouts/README.org]]
|
|
|
|
This layer adds support for distinct layouts/workspaces to Spacemacs.
|
|
|
|
Layouts provide an easy way to group buffers for a project or any arbitrary
|
|
buffer grouping you wish. Layouts also restrict actions to the buffers in
|
|
the current layout.
|
|
|
|
Features:
|
|
- Support for distinct layouts via =eyebrowse=
|
|
- Integration with =helm= and =ivy= to search for buffers within layouts
|
|
|
|
** Spacemacs-misc
|
|
[[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
|
|
[[file:+spacemacs/spacemacs-modeline/README.org][+spacemacs/spacemacs-modeline/README.org]]
|
|
|
|
This layer adds various mode-lines to Spacemacs.
|
|
|
|
Features:
|
|
- Display of a vim-powerline like mode-line being able to show various information like
|
|
- Current battery status
|
|
- All active minor modes displayed as unicode symbols
|
|
- The active major mode
|
|
- The current branch if the file is in version control
|
|
- The current cursor position
|
|
- The system clock
|
|
- Display of a small system monitor in a separate mode-line.
|
|
|
|
** Spacemacs-navigation
|
|
[[file:+spacemacs/spacemacs-navigation/README.org][+spacemacs/spacemacs-navigation/README.org]]
|
|
|
|
This layer adds general navigation functions to all supported layers.
|
|
|
|
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
|
|
|
|
** Spacemacs-org
|
|
[[file:+spacemacs/spacemacs-org/README.org][+spacemacs/spacemacs-org/README.org]]
|
|
|
|
This layer tweaks =org-mode= to integrate nicely into Spacemacs.
|
|
|
|
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-superstar=.
|
|
- Support for a special view mode for org documents via =space-doc=.
|
|
|
|
** Spacemacs-project
|
|
[[file:+spacemacs/spacemacs-project/README.org][+spacemacs/spacemacs-project/README.org]]
|
|
|
|
This layer tweaks =projectile= to integrate nicely into Spacemacs.
|
|
|
|
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.
|
|
|
|
** Spacemacs-purpose
|
|
[[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
|
|
and shouldn't change too much when opening all sorts of buffers.
|
|
|
|
Regular [[https://github.com/m2ym/popwin-el][popwin]] is not triggered when window-purpose is enabled. However,
|
|
the window-purpose layer provides a =purpose-popwin= extension, which
|
|
brings popwin's behavior to window-purpose and solves that problem.
|
|
|
|
Features:
|
|
- Window layout is more robust and less likely to change unintentionally
|
|
- Dedicate window to a purpose
|
|
- User-defined purposes
|
|
- Extensible window display behavior
|
|
- Empty =purpose-mode-map=, to avoid conflicts with other key maps
|
|
- Replicate popwin behavior for purpose-mode - almost no regression in popup behavior from using window-purpose.
|
|
- Reuses popwin's settings: =popwin:special-display-config=, =popwin:popup-window-height= and =popwin:popup-window-width=.
|
|
- Difference from popwin: when several windows are open, popup window is sometimes bigger than with regular popwin in the same situation.
|
|
|
|
** Spacemacs-visual
|
|
[[file:+spacemacs/spacemacs-visual/README.org][+spacemacs/spacemacs-visual/README.org]]
|
|
|
|
This layer adds various modes to enhance Spacemacs visual appearance.
|
|
|
|
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=.
|
|
|
|
* Music
|
|
** 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:
|
|
- Syntax highlighting for Alda files.
|
|
- Play portions of a buffer, or the entire buffer,
|
|
through a running Alda server.
|
|
|
|
** Extempore
|
|
[[file:+lang/extempore/README.org][+lang/extempore/README.org]]
|
|
|
|
This layer adds support for the [[https://github.com/digego/extempore][Extempore]] programming environment.
|
|
|
|
Features:
|
|
- run Extempore (inferior extempore buffer)
|
|
- connect to & evaluate code
|
|
- eldoc support
|
|
|
|
** Pianobar
|
|
[[file:+music/pianobar/README.org][+music/pianobar/README.org]]
|
|
|
|
This layer integrates an online music service into Spacemacs.
|
|
|
|
Features:
|
|
- Support for listening to music from within Emacs via [[https://6xq.net/pianobar/][Pianobar]].
|
|
|
|
** Spotify
|
|
[[file:+music/spotify/README.org][+music/spotify/README.org]]
|
|
|
|
This layer integrates an online music service into Spacemacs.
|
|
|
|
Features:
|
|
- Support for listening to music from within Emacs via [[https://www.spotify.com][Spotify]].
|
|
|
|
** TidalCycles
|
|
[[file:+music/tidalcycles/README.org][+music/tidalcycles/README.org]]
|
|
|
|
This layer adds a major mode to control [[https://tidalcycles.org][TidalCycles]], a programming language
|
|
for live coding.
|
|
|
|
Features:
|
|
- =tidal-mode= to interact with TidalCycles
|
|
- Spacemacs friendly key bindings
|
|
|
|
* Operating systems
|
|
** NixOS
|
|
[[file:+os/nixos/README.org][+os/nixos/README.org]]
|
|
|
|
This layer adds tools for better integration of Emacs in NixOS.
|
|
|
|
Features:
|
|
- Nix-mode using [[https://github.com/NixOS/nix-mode][nix-mode]]
|
|
- Auto-completion of NixOS Options using [[https://github.com/travisbhartwell/nix-emacs/blob/master/company-nixos-options.el][company-nixos-options]]
|
|
- Helm Lookup for NixOS Options [[https://github.com/travisbhartwell/nix-emacs/blob/master/helm-nixos-options.el][helm-nixos-options]]
|
|
|
|
** OSX
|
|
[[file:+os/osx/README.org][+os/osx/README.org]]
|
|
|
|
Spacemacs is not just Emacs plus Vim. It can have macOS key bindings too! This
|
|
layer globally defines common macOS key bindings.
|
|
|
|
Features:
|
|
- ~⌘~ is set to ~hyper~ and ~⌥~ is set to ~meta~
|
|
- In =dired= use =gls= instead of =ls=
|
|
- Fix separator colors of Spaceline mode-line
|
|
|
|
* Pair programming
|
|
** Floobits
|
|
[[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.
|
|
|
|
Features:
|
|
- Loading of floobits configuration files with fixed commands
|
|
- Creation of floobits workspaces and populating it with content
|
|
- Marking of the current cursor position for all users within the current workspace
|
|
- Follow recent changes by other users
|
|
|
|
* Programming languages
|
|
** Domain-specific (DSLs)
|
|
*** Lisp dialects
|
|
**** Clojure
|
|
[[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]], providing Clojure REPL management
|
|
and a full suite of tooling for Clojure development.
|
|
|
|
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]]
|
|
- Advanced help with [[https://github.com/clojure-emacs/helm-cider][helm-cider]]
|
|
- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]
|
|
- Linting via [[https://github.com/borkdude/clj-kondo][clj-kondo]] ([[https://github.com/candid82/joker][joker]] and [[https://github.com/clojure-emacs/squiggly-clojure][squiggly-clojure]] also available)
|
|
|
|
|
|
Related layers
|
|
|
|
The following Spacemacs layers should also be added for a complete experience.
|
|
- auto-completion
|
|
- syntax-checking (provides flycheck for linter support)
|
|
- LSP
|
|
|
|
|
|
Other optional features
|
|
- Refactoring via [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
|
- Debugging with [[https://github.com/clojure-emacs/sayid][sayid]]
|
|
|
|
|
|
References
|
|
- [[https://docs.cider.mx/cider/][CIDER documentation]]
|
|
- [[https://practicalli.github.io/spacemacs][Practicalli Spacemacs]]
|
|
|
|
**** Common Lisp
|
|
[[file:+lang/common-lisp/README.org][+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
|
|
|
|
**** Emacs Lisp
|
|
[[file:+lang/emacs-lisp/README.org][+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
|
|
- Debugging 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]]
|
|
- Structurally 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]]
|
|
|
|
**** Scheme
|
|
[[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]]
|
|
- Structurally safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]
|
|
|
|
*** Markup & configuration
|
|
**** Asciidoc
|
|
[[file:+lang/asciidoc/README.org][+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
|
|
|
|
**** BibTeX
|
|
[[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
|
|
by other markup formats such as MarkDown and Org mode.
|
|
|
|
This layer adds support to manipulate BibTeX and BibLaTeX files in Spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting for BibTeX and BibLaTeX files.
|
|
- Utilities for automatically adding entries from different data sources.
|
|
- Support for inserting citations in various other modes.
|
|
|
|
**** CSV
|
|
[[file:+lang/csv/README.org][+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
|
|
|
|
**** Dhall
|
|
[[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]].
|
|
|
|
**** Graphviz
|
|
[[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.
|
|
|
|
**** HTML
|
|
[[file:+lang/html/README.org][+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]]
|
|
|
|
**** JSON
|
|
[[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]]
|
|
|
|
**** Jsonnet
|
|
[[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
|
|
|
|
**** LaTeX
|
|
[[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]]
|
|
- Syntax highlighting
|
|
- Auto-completion
|
|
- 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]]
|
|
|
|
**** Markdown
|
|
[[file:+lang/markdown/README.org][+lang/markdown/README.org]]
|
|
|
|
This layer adds markdown support to Spacemacs.
|
|
|
|
Features:
|
|
- markdown files support via [[http://jblevins.org/git/markdown-mode.git/][markdown-mode]]
|
|
- [[https://github.com/mdx-js/mdx][mdx]] file support via [[http://jblevins.org/git/markdown-mode.git/][markdown-mode]]
|
|
- Fast GitHub-flavored live preview via [[https://github.com/blak3mill3r/vmd-mode][vmd-mode]]
|
|
- TOC generation via [[https://github.com/ardumont/markdown-toc][markdown-toc]]
|
|
- 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:
|
|
|
|
**** Plantuml
|
|
[[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/guide][reference guide]].
|
|
|
|
The official file extension supported by this layer is =.pum=. and =.puml=. 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
|
|
|
|
**** ReStructuredText
|
|
[[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.
|
|
- snippet support via =yasnippet=.
|
|
|
|
**** Semantic Web
|
|
[[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://github.com/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.
|
|
|
|
**** YAML
|
|
[[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]]
|
|
|
|
**** Yang
|
|
[[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]]
|
|
|
|
*** Scripting
|
|
**** Autohotkey
|
|
[[file:+lang/autohotkey/README.org][+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
|
|
|
|
**** Graphql
|
|
[[file:+lang/graphql/README.org][+lang/graphql/README.org]]
|
|
|
|
This layer adds support for graphql file. It builds around [[https://github.com/davazp/graphql-mode][graphql-mode]]. Please
|
|
check its site for extra info.
|
|
|
|
Features:
|
|
- Syntax highlight and graphql calls with =graphql-mode=
|
|
- Autocomplete with =comapy-dabbrev=
|
|
- Format buffer with =prettier=
|
|
- Go to definition with =ahs=
|
|
|
|
**** Shell Scripts
|
|
[[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]]
|
|
- Support for the [[https://langserver.org/][Language Server Protocol]] (experimental)
|
|
|
|
**** Vimscript language
|
|
[[file:+lang/vimscript/README.org][+lang/vimscript/README.org]]
|
|
|
|
This layer adds support for vimscript and pentadactyl config files.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Auto-completion (with LSP)
|
|
- Syntax-checking (with LSP)
|
|
|
|
**** Windows Scripting
|
|
[[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://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/progmodes/bat-mode.el][bat-mode]]
|
|
- Auto-completion, code-navigation and refactoring capabilities of batch files via [[https://github.com/josteink/bmx-mode][bmx-mode]]
|
|
|
|
*** Coq
|
|
[[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
|
|
|
|
*** Elasticsearch
|
|
[[file:+tools/elasticsearch/README.org][+tools/elasticsearch/README.org]]
|
|
|
|
This layer adds Elasticsearch query and monitoring support to Spacemacs.
|
|
|
|
Features:
|
|
- Autocompletion for Elasticsearch Query DSL
|
|
- Support for Org-Babel
|
|
- Support for an Elasticsearch Command Center to monitor a cluster
|
|
|
|
*** ESS (R)
|
|
[[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]]
|
|
|
|
*** 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
|
|
- MATLAB
|
|
- QML
|
|
- OpenScad
|
|
- Stan
|
|
- Thrift
|
|
- Vala
|
|
- Wolfram Language / Mathematica
|
|
|
|
*** Faust
|
|
[[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
|
|
|
|
*** GPU
|
|
[[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.
|
|
|
|
Features:
|
|
- Syntax highlighting for
|
|
- =.cl= (OpenCL)
|
|
- =.cu= (CUDA)
|
|
- =.cuh= (CUDA)
|
|
- =.fsh= (Shaders)
|
|
- =.vsh= (Shaders)
|
|
- =.glsl= (Shaders)
|
|
- =.vert= (Shaders)
|
|
- =.frag= (Shaders)
|
|
- =.comp= (Shaders)
|
|
- =.geom= (Shaders)
|
|
- =.tesc= (Shaders)
|
|
- =.tese= (Shaders)
|
|
- Simple auto-completion via [[https://github.com/Kaali/company-glsl][company-glsl]] for
|
|
- =.vert= (Shaders)
|
|
- =.geom= (Shaders)
|
|
- =.tesc= (Shaders)
|
|
- =.tese= (Shaders)
|
|
- =.frag= (Shaders)
|
|
- =.comp= (Shaders)
|
|
|
|
*** Kivy
|
|
[[file:+lang/kivy/README.org][+lang/kivy/README.org]]
|
|
|
|
This layer adds support for Kivy, cross-platform GUI framework for Python.
|
|
|
|
Features:
|
|
- Syntax Highlighting
|
|
|
|
*** Mercury
|
|
[[file:+lang/mercury/README.org][+lang/mercury/README.org]]
|
|
|
|
This layer adds support for the Mercury language.
|
|
|
|
Features:
|
|
- Indentation.
|
|
- Syntax highlighting.
|
|
- Compiling and running.
|
|
|
|
*** Octave
|
|
[[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.
|
|
|
|
*** Prolog
|
|
[[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.
|
|
|
|
*** Solidity Layer
|
|
[[file:+lang/solidity/README.org][+lang/solidity/README.org]]
|
|
|
|
A layer to support Solidity development in Spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Syntax checking
|
|
- Gas estimation
|
|
|
|
*** SQL
|
|
[[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 [[https://github.com/mjibson/sqlfmt][=sqlfmt=]]
|
|
- Snippet insertion for the more general SQL constructs.
|
|
- REPL support via =SQLi= buffer.
|
|
- Automatic capitalization of keywords.
|
|
- LSP support via [[https://github.com/lighttiger2505/sqls][sqls]].
|
|
|
|
** Frameworks
|
|
*** Django
|
|
[[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.
|
|
|
|
Features:
|
|
- Test execution directly from emacs
|
|
- Starting/stopping of the Django test server
|
|
- Starting of an interactive Python shell in the current project for debugging
|
|
- Fixed commands to open various Django specific settings files
|
|
- Automatic deployment with [[http://www.fabfile.org][Fabric]] directly from emacs
|
|
- Control of [[http://south.aeracode.org/][South]] database migration tool
|
|
|
|
*** Emberjs
|
|
[[file:+frameworks/emberjs/README.org][+frameworks/emberjs/README.org]]
|
|
|
|
This enables helpers for working with Ember.js projects.
|
|
|
|
This also includes [[https://github.com/ronco/ember-yasnippets.el][ember-yasnippets]]. See the README for ember-yansippets for the snippet keys.
|
|
|
|
To use this, you need to add add a =.dir-locals.el= file with the following in the root of your ember project:
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
((nil . ((mode . ember))))
|
|
#+END_SRC
|
|
|
|
If you do not wish to do the following, you may also just do =M-x ember-mode=, however it will make things easier.
|
|
|
|
Additionally, temporary backup, autosave, and lockfiles interfere with broccoli watcher, so they need to either be moved out of the way or disabled.
|
|
|
|
Add the following to your =dotspacemacs/user-config=:
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq backup-directory-alist `((".*" . ,temporary-file-directory)))
|
|
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)))
|
|
(setq create-lockfiles nil)
|
|
#+END_SRC
|
|
|
|
Features:
|
|
- Ability to easily switch between various files
|
|
- Key bindings for generators and also easily revert generator actions
|
|
- Ability to build, start server, and run tests
|
|
|
|
*** Phoenix
|
|
[[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.
|
|
|
|
Features:
|
|
- Key bindings for navigation to files
|
|
|
|
*** React
|
|
[[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.
|
|
|
|
Features:
|
|
- on-the-fly syntax checking
|
|
- proper syntax highlight and indentation with jsx
|
|
- backend support for autocompletion as in rjsx-mode
|
|
- jsfmt automatic formatting
|
|
- js2-refactor
|
|
- js-doc
|
|
|
|
*** Ruby on Rails
|
|
[[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
|
|
|
|
*** Vue
|
|
[[file:+frameworks/vue/README.org][+frameworks/vue/README.org]]
|
|
|
|
Layer for Vue, for working with =.vue= files.
|
|
|
|
Note: This layer creates a derived mode called =vue-mode= on the fly out of
|
|
=web-mode= to handle vue files. It will conflict with the [[https://github.com/AdamNiederer/vue-mode][vue-mode package]], make sure
|
|
you don't use that package together with this layer.
|
|
|
|
Features:
|
|
- Wholesome features from =web-mode=, especially on template part
|
|
- Better performance
|
|
- On-the-fly syntax checking with =eslint=
|
|
- Proper syntax highlight and indentation with =vue-mode=
|
|
- Two options for backend support for autocompletion and code analysis: =lsp= and =dumb=
|
|
- Code autocompletion with =company-mode=
|
|
- Formatting code with =prettier= layer
|
|
- =evil-matchit= =%= to jump between open and close tags
|
|
- =emmet-mode= and =yasnippet= for code expanding with the =TAB= key
|
|
|
|
** General-purpose
|
|
*** Imperative
|
|
**** Asm
|
|
[[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=.
|
|
|
|
The layer also adds =nasm-mode= for NASM-specific syntax. Although =nasm-mode=
|
|
is intended for NASM, it actually works well with other variants of Assembly
|
|
in general, and provides Imenu integration so you can jump around with ~SPC s j~.
|
|
|
|
Features:
|
|
- Improved syntax highlighting.
|
|
- Automatic indentation.
|
|
- Auto-completion for symbol in opened buffers.
|
|
- Look up documentation for current instruction at cursor.
|
|
- Imenu integration.
|
|
|
|
**** Forth
|
|
[[file:+lang/forth/README.org][+lang/forth/README.org]]
|
|
|
|
This layer adds basic support for the Forth family of languages to spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Showing meaning of objects in context of the current =Forth= session.
|
|
- Eval of entire files or regions in current =Forth= session.
|
|
- Passing interactive commands to current =Forth= session.
|
|
|
|
*** Multi-paradigm
|
|
**** JavaScript dialects
|
|
***** CoffeeScript
|
|
[[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
|
|
- Auto-completion with =auto-completion= layer
|
|
- Syntax checking and linting with =syntax-checking= layer
|
|
- =Org-Babel= integration
|
|
- REPL support
|
|
|
|
***** JavaScript
|
|
[[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
|
|
- Browser based REPL available via [[https://github.com/skeeto/skewer-mode][skewer-mode]] and [[https://github.com/pandeiro/livid-mode][livid-mode]]
|
|
- Server based REPL with [[https://github.com/abicky/nodejs-repl.el][nodejs-repl]]
|
|
- Formatting with [[https://github.com/yasuyk/web-beautify][web-beautify]] or [[https://github.com/prettier/prettier][prettier]]
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
- Display Flow & Typescript type information
|
|
|
|
***** Purescript
|
|
[[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
|
|
|
|
***** TypeScript
|
|
[[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 either tslint or eslint
|
|
- Jump to definition, Jump to type definition
|
|
- Find occurrences (Imenu-mode)
|
|
- Rename symbol
|
|
- tsx mode
|
|
- formatting
|
|
- TypeScript playground integration
|
|
|
|
**** C#
|
|
[[file:+lang/csharp/README.org][+lang/csharp/README.org]]
|
|
|
|
This layer adds support for the C# language using the [[https://github.com/OmniSharp/omnisharp-roslyn][omnisharp-roslyn]]
|
|
language server with either the [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]]
|
|
or the [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] packages.
|
|
|
|
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
|
|
|
|
**** C/C++
|
|
[[file:+lang/c-c++/README.org][+lang/c-c++/README.org]]
|
|
|
|
This layer adds configuration for C/C++ language.
|
|
|
|
Features:
|
|
- Multiple backends support:
|
|
- LSP with either =clangd= or [[https://github.com/MaskRay/ccls][ccls]]
|
|
- [[https://github.com/Andersbakken/rtags][rtags]] (gtags)
|
|
- [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]]
|
|
- Support for debuggers [[https://github.com/realgud/realgud][realgud]] and [[https://github.com/emacs-lsp/dap-mode][dap]] (with LSP backend)
|
|
- Support syntax checking via flycheck (=syntax-checking= layer required)
|
|
- Auto-completion via company (=auto-completion= layer required)
|
|
- Support code reformatting with [[http://clang.llvm.org/docs/ClangFormat.html][clang-format]].
|
|
- Support for disassembly of code with [[https://github.com/jart/disaster][disaster]].
|
|
- =sematic= layer integration:
|
|
- Function or variable definition at the bottom
|
|
- Current function cursor is at the top. See [[https://github.com/tuhdo/semantic-stickyfunc-enhance][stickyfunc-demos]] for
|
|
demos in some programming languages.
|
|
- 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.
|
|
- =cscope= layer integration:
|
|
- code navigation
|
|
|
|
**** Crystal
|
|
[[file:+lang/crystal/README.org][+lang/crystal/README.org]]
|
|
|
|
This layer provides support for the Crystal language.
|
|
|
|
Features:
|
|
- Format on save
|
|
- Integration of [[https://play.crystal-lang.org][play.crystal-lang.org]] using [[https://github.com/veelenga/play-crystal.el][play-crystal.el]]
|
|
- Syntax checking
|
|
- Auto completion
|
|
- Test execution (=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]]
|
|
|
|
**** D language
|
|
[[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=
|
|
|
|
**** Dart
|
|
[[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
|
|
|
|
**** Elixir
|
|
[[file:+lang/elixir/README.org][+lang/elixir/README.org]]
|
|
|
|
This layer adds support for [[http://elixir-lang.org/][Elixir]].
|
|
|
|
[[https://github.com/tonini/alchemist.el][Alchemist]] brings the Elixir tooling to Emacs and comes with a bunch of features.
|
|
[[https://github.com/emacs-lsp/lsp-mode][Lsp-mode]] brings IDE like features following Language Server Protocol, through [[https://github.com/JakeBecker/elixir-ls][elixir-ls]]
|
|
|
|
As Alchemist is no longer maintained, elixir-ls is a preferred solution, even though it has less features at the moment.
|
|
|
|
Features:
|
|
- Powerful IEx integration
|
|
- Mix integration
|
|
- Compile & Execution of Elixir code
|
|
- Inline code evaluation
|
|
- Documentation lookup
|
|
- Definition lookup
|
|
- Smart code completion
|
|
- Elixir project management
|
|
- Integration with [[http://company-mode.github.io/][company-mode]]
|
|
- Flycheck support for [[https://github.com/rrrene/credo][credo]]
|
|
- Flycheck support for test results
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
|
|
**** Erlang
|
|
[[file:+lang/erlang/README.org][+lang/erlang/README.org]]
|
|
|
|
This layer adds support for [[https://erlang.org/][Erlang]].
|
|
|
|
Enabling [[https://github.com/emacs-lsp/lsp-mode][Lsp-mode]] brings IDE like
|
|
features following =Language Server Protocol=, through [[https://erlang-ls.github.io/][erlang_ls]]
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Syntax checking via =Flycheck= integration
|
|
- Auto-completion via =Company= integration
|
|
- Code Completion
|
|
- Go To Definition
|
|
- Go To Implementation for OTP Behaviours
|
|
- Signature Suggestions
|
|
- Compiler Diagnostics
|
|
- [[https://erlang.org/doc/man/dialyzer.html][Dialyzer]] Diagnostics
|
|
- [[https://github.com/inaka/elvis][Elvis]] Diagnostics
|
|
- [[http://erlang.org/doc/apps/edoc/chapter.html][Edoc]]
|
|
- Navigation for Included Files
|
|
- Find/Peek References
|
|
- Outline
|
|
- Workspace Symbols
|
|
- Code Folding
|
|
|
|
**** F#
|
|
[[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:
|
|
- Auto-completion
|
|
- Syntax-checking
|
|
- Syntax highlighting
|
|
- REPL
|
|
|
|
**** 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
|
|
- Running graphical Listeners
|
|
- Reloading emacs-lisp portion of FUEL
|
|
|
|
**** Go
|
|
[[file:+lang/go/README.org][+lang/go/README.org]]
|
|
|
|
This layer adds extensive support for the [[https://golang.org][Go]] programming language.
|
|
|
|
Features:
|
|
- Run [[https://golang.org/cmd/gofmt/][gofmt]] / [[https://godoc.org/golang.org/x/tools/cmd/goimports][goimports]] on file save (see [[file:+lang/go/README.org][Autoformat]])
|
|
- Auto-completion
|
|
- Source analysis using [[https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ][go-guru]] (see [[file:+lang/go/README.org][Guru]])
|
|
- Refactoring with [[https://github.com/godoctor/godoctor][godoctor]]
|
|
- Edit struct field tags with [[https://github.com/fatih/gomodifytags][gomodifytags]]
|
|
- Syntax checking with flycheck's built-in checkers or [[https://github.com/golangci/golangci-lint][golangci-lint]] (see [[file:+lang/go/README.org][Linting]])
|
|
- Test generation via [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]] (see [[file:+lang/go/README.org][Tests]])
|
|
- Coverage profile visualization (see [[file:+lang/go/README.org][Coverage]])
|
|
- List 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]]
|
|
- Gopls backend support (see [[file:+lang/go/README.org][LSP backend]])
|
|
- Interactive debugger with LSP using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
|
|
**** Groovy
|
|
[[file:+lang/groovy/README.org][+lang/groovy/README.org]]
|
|
|
|
This layer supports [[http://www.groovy-lang.org/][Groovy]] development in Spacemacs.
|
|
|
|
Features:
|
|
- Auto-completion
|
|
- Syntax-checking
|
|
- Auto-generate imports with [[https://github.com/mbezjak/emacs-groovy-imports][groovy-imports]]
|
|
- Groovy REPL integration
|
|
- Syntax highlighting
|
|
|
|
**** Hy
|
|
[[file:+lang/hy/README.org][+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
|
|
|
|
**** Java
|
|
[[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/emacs-lsp/lsp-java][LSP Java]] client/server (default)
|
|
- [[https://github.com/mopemope/meghanada-emacs][Meghanada]] client/server
|
|
- Auto-completion using company
|
|
- Linting using flycheck integration
|
|
- Maven integration
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
|
|
**** JR Concurrent Programming Language
|
|
[[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
|
|
|
|
**** Julia
|
|
[[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
|
|
[[file:+lang/kotlin/README.org][+lang/kotlin/README.org]]
|
|
|
|
This layer adds support for [[http://kotlinlang.org/][Kotlin]] to Spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Auto-completion
|
|
- Syntax-checking with [[https://github.com/shyiko/ktlint][ktlint]] and [[https://github.com/whirm/flycheck-kotlin][flycheck-kotlin]]
|
|
- Navigation with =ggtags=
|
|
|
|
**** Lua
|
|
[[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]]
|
|
- Code-Completion with =lsp= or =company-lua=
|
|
- Sending code to a lua REPL
|
|
- Code linting using [[https://github.com/mpeterv/luacheck][Luacheck]]
|
|
- Cross references (definitions, references, rename...)
|
|
|
|
**** Nim
|
|
[[file:+lang/nim/README.org][+lang/nim/README.org]]
|
|
|
|
This layer adds support for the multi-paradigm language =Nim=.
|
|
|
|
Features:
|
|
- Auto-completion
|
|
- Syntax-checking
|
|
- Jump to definition.
|
|
|
|
**** Ocaml
|
|
[[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]])
|
|
- =dune= file syntax highlighting and template insertion via [[https://github.com/ocaml/dune/][dune-mode]]
|
|
- Automatic formatting via [[https://github.com/ocaml-ppx/ocamlformat][ocamlformat]]
|
|
|
|
**** Pact
|
|
[[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
|
|
[[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
|
|
- 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]]
|
|
- LSP and DAP support
|
|
|
|
**** PHP
|
|
[[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
|
|
- Debug your programs with XDebug (via [[https://github.com/ahungry/geben][geben]] or [[https://github.com/emacs-lsp/dap-mode][dap-mode]])
|
|
- Refactor source files with help of [[https://github.com/emacs-php/phpactor.el][phpactor.el]]
|
|
- Support for the [[https://langserver.org/][Language Server Protocol]] (experimental)
|
|
|
|
The =gtags= layer is recommended to benefit from better =eldoc= and
|
|
=helm-gtags=.
|
|
|
|
**** Python
|
|
[[file:+lang/python/README.org][+lang/python/README.org]]
|
|
|
|
This layer adds support for the Python language.
|
|
|
|
Features:
|
|
- Support for the following backends:
|
|
- [[https://github.com/proofit404/anaconda-mode][anaconda]] (default),
|
|
- [[https://github.com/emacs-lsp/lsp-python-ms][Language Server Protocol]] (experimental - 2 implementations),
|
|
- python-lsp-server
|
|
- Microsoft python language server
|
|
- Auto-completion
|
|
- Code Navigation
|
|
- Documentation Lookup using [[https://github.com/proofit404/anaconda-mode][anaconda-mode]] and [[https://github.com/tsgates/pylookup][pylookup]]
|
|
- Test Runners using [[https://github.com/syl20bnr/nose.el][nose.el]] or [[https://github.com/ionrock/pytest-el][pytest]]
|
|
- Virtual Environment using [[https://github.com/jorgenschaefer/pyvenv][pyvenv]] and [[https://github.com/yyuu/pyenv][pyenv]] as well as [[https://github.com/pypa/pipenv][pipenv]] and [[https://github.com/galaunay/poetry.el][poetry]]
|
|
- semantic mode is enabled
|
|
- PEP8 compliant formatting via [[https://github.com/google/yapf][YAPF]] or [[https://github.com/ambv/black][black]]
|
|
- PEP8 checks with [[https://pypi.python.org/pypi/flake8][flake8]] or [[https://pypi.python.org/pypi/pylint/1.6.4][pylint]]
|
|
- Suppression of unused import with [[https://github.com/myint/autoflake][autoflake]]
|
|
- Use the ~%~ key to jump between blocks with [[https://github.com/redguardtoo/evil-matchit][evil-matchit]]
|
|
- Sort imports with [[https://pypi.python.org/pypi/isort][isort]]
|
|
- Fix a missing import statement with [[https://github.com/anachronic/importmagic.el][importmagic]]
|
|
- Pip package manager with [[https://github.com/brotzeit/pippel][pippel]]
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
|
|
**** Racket
|
|
[[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=
|
|
- Structurally safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]
|
|
|
|
**** Raku
|
|
[[file:+lang/raku/README.org][+lang/raku/README.org]]
|
|
|
|
This layer provides an environment for the [[https://www.raku.org/][Raku Programming Language]] that was previously known as Perl 6.
|
|
|
|
Features:
|
|
- Jump to definition & Code completion via [[https://github.com/universal-ctags/ctags][ctags-universal]]
|
|
- Syntax checking via [[https://github.com/Raku/flycheck-raku][flycheck-raku]] and =raku -c=
|
|
- Syntax highlighting & Syntax indentation via [[https://github.com/Raku/raku-mode][raku-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
|
|
|
|
**** ReasonML
|
|
[[file:+lang/reasonml/README.org][+lang/reasonml/README.org]]
|
|
|
|
Spacemacs layer for ReasonML, based around [[https://github.com/reasonml-editor/reason-mode][reason-mode]].
|
|
|
|
Features:
|
|
- Syntax highlighting / indentation
|
|
- Autocomplete (via =merlin=)
|
|
- Lint / error display (via =merlin=, and =flycheck= if =syntax-checking= layer is enabled)
|
|
- REPL via =rtop=
|
|
- Auto-formatting (via =refmt=)
|
|
|
|
**** Ruby
|
|
[[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)
|
|
- Formatter (prettier)
|
|
- Interactive REPL and code navigation (robe)
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
|
|
**** Rust
|
|
[[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-mode][lsp-mode]] or [[https://github.com/phildawes/racer][Racer]]
|
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
|
- Support for the Rust package manager [[http://doc.crates.io/index.html][Cargo]]
|
|
- Support for [[https://github.com/nabero/ron-mode][Rusty Object Notation (RON)]]
|
|
|
|
**** Scala
|
|
[[file:+lang/scala/README.org][+lang/scala/README.org]]
|
|
|
|
This layer adds support for the Scala language to Spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Support for language backend using LSP and [[https://scalameta.org/metals/][Metals]]
|
|
- Debugging support via =dap=
|
|
- Auto-completion
|
|
- Treeview support for viewing project structure and triggering compilation
|
|
- Syntax-checking
|
|
- Refactoring
|
|
- Incremental compilation
|
|
- Style linting
|
|
- Optional GGTags search
|
|
|
|
**** SML
|
|
[[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=
|
|
|
|
**** Swift
|
|
[[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)
|
|
|
|
**** Zig
|
|
[[file:+lang/zig/README.org][+lang/zig/README.org]]
|
|
|
|
This layer adds support for the zig programming language [[https://ziglang.org/]]
|
|
|
|
Features:
|
|
- Syntax Highlighting
|
|
- LSP support via =zls= (see [[file:+lang/zig/README.org][LSP]])
|
|
|
|
*** Purely functional
|
|
**** Agda
|
|
[[file:+lang/agda/README.org][+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.*
|
|
|
|
**** Elm
|
|
[[file:+lang/elm/README.org][+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
|
|
- Syntax checking support using flycheck
|
|
- Integration with elm-make
|
|
- Integration with elm-repl
|
|
- Integration with elm-reactor
|
|
- Integration with elm-package
|
|
|
|
**** Haskell
|
|
[[file:+lang/haskell/README.org][+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 and syntax-checking with one of the selected backends (=dante= or =lsp=).
|
|
|
|
**** Idris
|
|
[[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
|
|
|
|
** Utilities
|
|
*** Conda Layer
|
|
[[file:+tools/conda/README.org][+tools/conda/README.org]]
|
|
|
|
This layer adds support for the Anaconda python environment for
|
|
numerical computations to Spacemacs.
|
|
|
|
Features:
|
|
- Controlling =Anaconda= or =Miniconda= environments directly from emacs with [[https://github.com/necaris/conda.el][conda.el]]
|
|
|
|
*** Dotnet
|
|
[[file:+tools/dotnet/README.org][+tools/dotnet/README.org]]
|
|
|
|
This layer adds support for the dotnet cli package.
|
|
|
|
Features:
|
|
- dotnet project operations
|
|
|
|
*** IPython Notebook
|
|
[[file:+tools/ipython-notebook/README.org][+tools/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
|
|
- Auto-completion
|
|
|
|
*** Protocol Buffers
|
|
[[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 using Flycheck (=protoc= compiler must be available)
|
|
- Correct indentation and commenting
|
|
- Quickly browse file contents using imenu (default key binding ~SPC b t~).
|
|
|
|
*** Sailfish OS developer
|
|
[[file:+tools/sailfish-developer/README.org][+tools/sailfish-developer/README.org]]
|
|
|
|
This layer adds support of sailfish-os development packages.
|
|
|
|
Features:
|
|
- [[https://github.com/vityafx/sailfish-scratchbox.el][sailfish-scratchbox]]: handy sb2 interaction.
|
|
|
|
* Readers
|
|
** Dash
|
|
[[file:+readers/dash/README.org][+readers/dash/README.org]]
|
|
|
|
This layer integrates offline API browsers into Emacs. It provides one for macOS, 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 macOS.
|
|
- Support for [[https://zealdocs.org/][zeal]] offline API browser for Linux.
|
|
|
|
** Deft
|
|
[[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 powerful search function via [[http://jblevins.org/projects/deft/][Deft]].
|
|
- Integration of =org-mode= as note editor.
|
|
- Configurable list of extensions to recognize as notes.
|
|
- Zettelkasten system with [[https://github.com/EFLS/zetteldeft][zetteldeft]]
|
|
|
|
** Elfeed
|
|
[[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]].
|
|
|
|
** Epub
|
|
[[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.
|
|
|
|
Features:
|
|
- Basic navigation (jump to TOC, previous/next chapter)
|
|
- Remembering and restoring the last read position
|
|
- Jump to next chapter when scrolling beyond end
|
|
- Renders EPUB2 (.ncx) and EPUB3 (<nav>) TOCs
|
|
- Hyperlinks to internal and external targets
|
|
- Supports textual and image documents
|
|
- View source of document files
|
|
- Metadata display
|
|
- Image rescaling
|
|
|
|
** PDF
|
|
[[file:+readers/pdf/README.org][+readers/pdf/README.org]]
|
|
|
|
This layer enables support for PDF with the [[https://github.com/vedang/pdf-tools][pdf-tools]] package.
|
|
|
|
According to the official repository:
|
|
|
|
#+BEGIN_QUOTE
|
|
"PDF Tools is, among other things, a replacement of DocView for PDF files. The
|
|
key difference is, that pages are not pre-rendered by e.g. ghostscript and
|
|
stored in the file-system, but rather created on-demand and stored in memory."
|
|
#+END_QUOTE
|
|
|
|
Features:
|
|
- Searching and slicing with =occur=.
|
|
- Show document headings in outline buffer.
|
|
- Manipulate annotations.
|
|
- Fit PDF to screen.
|
|
|
|
** Speed Reading
|
|
[[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
|
|
|
|
* README.org files that need proper tags
|
|
** LanguageTool
|
|
[[file:+tools/languagetool/README.org][+tools/languagetool/README.org]]
|
|
|
|
This layer adds grammar checking using [[https://www.languagetool.org/][LanguageTool]]. LanguageTool will use the
|
|
language set using ~SPC S d~ if the =spell-checking= layer is enabled.
|
|
|
|
Features:
|
|
- Spelling and grammar checking
|
|
|
|
* Source control
|
|
** Git
|
|
[[file:+source-control/git/README.org][+source-control/git/README.org]]
|
|
|
|
This layers adds extensive support for [[http://git-scm.com/][git]] to Spacemacs.
|
|
|
|
Features:
|
|
- git repository management the indispensable [[http://magit.vc/][magit]] package
|
|
- [[https://github.com/magit/forge/][forge]] add-on for magit.
|
|
- [[https://github.com/jtatarik/magit-gitflow][git-flow]] add-on for magit.
|
|
- quick in buffer history browsing with [[https://melpa.org/#/git-timemachine][git-timemachine]].
|
|
- quick in buffer last commit message per line with [[https://github.com/syohex/emacs-git-messenger][git-messenger]]
|
|
- colorize buffer line by age of commit with [[https://github.com/syohex/emacs-smeargle][smeargle]]
|
|
- git grep with [[https://github.com/yasuyk/helm-git-grep][helm-git-grep]]
|
|
- gitignore generator with [[https://github.com/jupl/helm-gitignore][helm-gitignore]]
|
|
- org integration with magit via [[https://github.com/magit/orgit][orgit]]
|
|
|
|
New to Magit? Checkout the [[https://magit.vc/about/][official intro]].
|
|
|
|
** GitHub
|
|
[[file:+source-control/github/README.org][+source-control/github/README.org]]
|
|
|
|
This layers adds support for [[http://github.com][GitHub]].
|
|
|
|
Features:
|
|
- [[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.
|
|
- [[https://github.com/seagle0128/grip-mode][grip-mode]] Github-flavored Markdown/Org preview using [[https://github.com/joeyespo/grip][Grip]].
|
|
|
|
** Perforce
|
|
[[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
|
|
[[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 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-evilification 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 realize various
|
|
Spacemacs specific key binding commands
|
|
|
|
* Tagging
|
|
** Cscope
|
|
[[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
|
|
[[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
|
|
source code, such as definitions or references. Adding the =gtags= layer enables
|
|
both of these modes.
|
|
|
|
Features:
|
|
- Select any tag in a project retrieved by gtags
|
|
- Resume previous helm-gtags session
|
|
- Jump to a location based on context
|
|
- Find definitions
|
|
- Find references
|
|
- Present tags in current function only
|
|
- Create a tag database
|
|
- Jump to definitions in file
|
|
- Show stack of visited locations
|
|
- Manually update tag database
|
|
- Jump to next location in context stack
|
|
- Jump to previous location in context stack
|
|
- Jump to a file in tag database
|
|
- Enables =eldoc= in modes that otherwise might not support it.
|
|
- Enables =company complete= in modes that otherwise might not support it.
|
|
|
|
* Themes
|
|
** Colors
|
|
[[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.
|
|
|
|
Features:
|
|
- Colorize all identifiers (Christmas tree mode :-)) with mostly unique colors, and the ability to choose saturation and lightness
|
|
with [[https://github.com/Fanael/rainbow-identifiers][rainbow-identifiers]].
|
|
- Colorize only identifiers recognized as variables with [[https://github.com/ankurdave/color-identifiers-mode][color-identifiers]].
|
|
- Colorize strings representing colors with the color they represent as background with
|
|
[[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]].
|
|
|
|
** 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 <ret> nyan-wavy-trail <ret> t),
|
|
- Music, mplayer is needed (M-x nyan-start-music, M-x nyan-stop-music),
|
|
- Customizable properties.
|
|
|
|
** Themes Megapack
|
|
[[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
|
|
[[file:+themes/theming/README.org][+themes/theming/README.org]]
|
|
|
|
This layer allows for a simple way of modifying themes.
|
|
|
|
Features:
|
|
- Modify themes from your =.spacemacs=.
|
|
- Tweak face attributes and other aspects of themes.
|
|
- Includes three additional layer variables for tweaking headings.
|
|
|
|
* Tools
|
|
** Ansible
|
|
[[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.
|
|
|
|
** Bm
|
|
[[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.
|
|
|
|
Features:
|
|
- Auto remove bookmark after jump to it by =bm-next= or =bm-previous=
|
|
- Cycle through bookmarks in all open buffers in LIFO order
|
|
- Toggle bookmarks. Jump to next/previous bookmark.
|
|
- Setting bookmarks based on a regexp. (Useful when searching logfiles.)
|
|
- Mouse navigation.
|
|
- Annotate bookmarks.
|
|
- Different wrapping modes.
|
|
- Different bookmarks styles, line-only, fringe-only or both.
|
|
- Persistent bookmarks.
|
|
- List bookmarks (in all buffers) in a separate buffer.
|
|
- Cycle through bookmarks in all open buffers.
|
|
|
|
** CFEngine
|
|
[[file:+tools/cfengine/README.org][+tools/cfengine/README.org]]
|
|
|
|
This layer adds support for CFEngine policies to Spacemacs.
|
|
|
|
Features:
|
|
- Syntax highlighting (CFEngine DSL, Mustache)
|
|
- On the fly syntax checking via =flycheck= integration.
|
|
- Auto completion via =company= integration.
|
|
- Execution of =cfengine3= =SRC= blocks in =org-mode= via =ob-cfengine3= package.
|
|
|
|
** Chrome
|
|
[[file:+tools/chrome/README.org][+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
|
|
|
|
** CMake
|
|
[[file:+tools/cmake/README.org][+tools/cmake/README.org]]
|
|
|
|
This layer adds support [[https://cmake.org/][CMake]] scripts.
|
|
|
|
Features:
|
|
- Syntax highlighting
|
|
- Auto-completion
|
|
- Support for CMake configure/build (with limited support for other build systems) and
|
|
automatic generation of =compile_commands.json= (compile flags).
|
|
- Run selected test using =Helm= interface via =helm-ctest=.
|
|
- Extraction of compile parameters from =compile_commands.json= with [[https://github.com/atilaneves/cmake-ide][cmake-ide]]
|
|
|
|
** Command-log
|
|
[[file:+tools/command-log/README.org][+tools/command-log/README.org]]
|
|
|
|
This layer adds handy commands for demonstrating 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]].
|
|
- Experimental support for logging the last command directly in the mode line via [[https://github.com/tarsius/keycast][keycast]].
|
|
- 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.
|
|
|
|
** DAP
|
|
[[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]].
|
|
|
|
[[https://code.visualstudio.com/docs/extensionAPI/api-debugging][Debug Adapter Protocol]] is a wire protocol for communication between client and
|
|
Debug Server. It similar to the [[https://github.com/Microsoft/language-server-protocol][LSP]] but providers integration with debug
|
|
server.
|
|
|
|
Features:
|
|
|
|
Fully featured IDE-like debugger providing:
|
|
- Launch/Attach
|
|
- Breakpoints
|
|
- Exceptions
|
|
- Pause & Continue
|
|
- Step In/Out/Over
|
|
- Callstacks
|
|
- Threads
|
|
- Multiple simultaneous debug sessions
|
|
- Evaluating statements
|
|
- Debug/Run configurations
|
|
- Debug REPL
|
|
|
|
** Debug
|
|
[[file:+tools/debug/README.org][+tools/debug/README.org]]
|
|
|
|
This layer adds interactive debuggers for multiple languages using [[https://github.com/realgud/realgud][realgud]].
|
|
|
|
Features:
|
|
- Modern rewrite of the Emacs GUD debugger family
|
|
- Visual interface including breakpoint and line indicators
|
|
- 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
|
|
|
|
** Docker
|
|
[[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]]
|
|
- Code-Completion via =lsp=
|
|
|
|
** Eww
|
|
[[file:+web/eww/README.org][+web/eww/README.org]]
|
|
|
|
Ewww.. So ergonomic!
|
|
|
|
Features:
|
|
- Adds evil key bindings support to eww-mode (including
|
|
eww-buffers/bookmarks/history-mode)
|
|
- Adds spacemacs functionality to eww-mode
|
|
- Adds ability to easily navigate eww buffers
|
|
|
|
** EXWM
|
|
[[file:+window-management/exwm/README.org][+window-management/exwm/README.org]]
|
|
|
|
Thanks to @ch11ng and his [[https://github.com/ch11ng/exwm][EXWM]] project we can now use Emacs as our window
|
|
manager, that means that you can spawn a Browser Window, or your music player,
|
|
or anything.
|
|
|
|
Features:
|
|
- Support for using Emacs as window manager
|
|
|
|
** Fasd
|
|
[[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=.
|
|
|
|
** Finance
|
|
[[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
|
|
[[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 macOS's CoreLocation service via [[https://github.com/purcell/osx-location][osx-location]]
|
|
- Manual location setting via variables in your dotfile
|
|
|
|
** Imenu-list
|
|
[[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
|
|
[[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
|
|
|
|
** Kubernetes
|
|
[[file:+tools/kubernetes/README.org][+tools/kubernetes/README.org]]
|
|
|
|
This layer provides the [[https://github.com/chrisbarrett/kubernetes-el#kubernetes-el][kubernetes-el]] package, a magit-style interface to the
|
|
Kubernetes command-line client.
|
|
|
|
Features:
|
|
- Live-updating lists of kubernetes resources
|
|
- Viewing and deleting pods, configmaps and secrets
|
|
- Switching contexts and namespaces.
|
|
- Showing logs and exec'ing into containers
|
|
- Describing pods
|
|
- Tramp support for pods
|
|
- Evil bindings
|
|
|
|
** LSP
|
|
[[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 =LSP=
|
|
- Signature help with =eldoc=
|
|
- Symbol documentation in a child frame (=lsp-ui-doc=)
|
|
- Navigation using =imenu=
|
|
- Consistent core key bindings in LSP modes
|
|
- Code folding (=lsp-origami=)
|
|
|
|
** Meson
|
|
[[file:+tools/meson/README.org][+tools/meson/README.org]]
|
|
|
|
This layer adds support [[https://mesonbuild.com/][Meson]] scripts.
|
|
|
|
Features:
|
|
- Support for meson build scripts through meson-mode.
|
|
- Syntax highlighting.
|
|
|
|
** Nginx
|
|
[[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
|
|
|
|
** Node
|
|
[[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
|
|
[[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
|
|
[[file:+tools/pass/README.org][+tools/pass/README.org]]
|
|
|
|
This layer adds integration 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
|
|
- Support for OTP via (password-store-otp)
|
|
- Use password-store as an Emacs auth source (auth-source-pass)
|
|
See [[https://www.gnu.org/software/emacs/manual/html_node/auth/The-Unix-password-store.html][its info page]] for more details on using it.
|
|
|
|
** Prettier
|
|
[[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
|
|
|
|
** Prodigy
|
|
[[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
|
|
[[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
|
|
[[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 use ranger/deer by default set ~ranger-override-dired~ to ~ranger/deer~ like
|
|
shown in the example below (setting this via customize as explained by the
|
|
original [[https://github.com/ralesi/ranger.el#installation][ranger installation instructions]] will not work). To default with
|
|
preview enabled when entering ranger set ~ranger-show-preview~ to ~t~. The following
|
|
example code shows how you can set both variables at once via the
|
|
~dotspacemacs-configuration-layers~ of your dotfiles as follows:
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq-default dotspacemacs-configuration-layers
|
|
'(ranger :variables
|
|
ranger-override-dired 'ranger
|
|
ranger-show-preview t))
|
|
#+END_SRC
|
|
|
|
Features:
|
|
- use ranger to display dired with ranger like preview and stacked parent windows.
|
|
|
|
** Rebox
|
|
[[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
|
|
[[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
|
|
[[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
|
|
[[file:+tools/shell/README.org][+tools/shell/README.org]]
|
|
|
|
This layer configures the various shells available in Emacs.
|
|
|
|
Features:
|
|
- Shell integration
|
|
- Running external terminal emulator in current/project directory
|
|
|
|
** Sphinx
|
|
[[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
|
|
|
|
** Systemd
|
|
[[file:+tools/systemd/README.org][+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=
|
|
|
|
** Tern
|
|
[[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
|
|
[[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=
|
|
- LSP support for terraform-lsp via =terraform-backend=
|
|
|
|
** Tide Layer
|
|
[[file:+tools/tide/README.org][+tools/tide/README.org]]
|
|
|
|
This layer installs [[https://github.com/ananthakumaran/tide][tide]] package which allows communication with
|
|
[[https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29][standalone typescript server]] =tsserver= for JavaScript/TypeScript development.
|
|
|
|
Features:
|
|
- First class support from =tsserver= just like =vscode=: speed and accuracy
|
|
- Linter
|
|
- Refactor
|
|
- Go to definition
|
|
- Find references
|
|
|
|
** Tmux
|
|
[[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
|
|
[[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
|
|
[[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 t v~ prefix)
|
|
- Remote editing on Vagrant boxes via Tramp
|
|
|
|
** Web-beautify
|
|
[[file:+tools/web-beautify/README.org][+tools/web-beautify/README.org]]
|
|
|
|
This layer adds support for [[https://github.com/yasuyk/web-beautify][web-beautify]].
|
|
|
|
Features:
|
|
- Format buffer to be beautiful
|
|
|
|
** Xclipboard
|
|
[[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.
|
|
- [[https://github.com/redguardtoo/cliphist][cliphist]] package: integration with clipboard managers on Linux and macOS.
|
|
|
|
* Vim
|
|
** Evil-better-jumper
|
|
[[file:+vim/evil-better-jumper/README.org][+vim/evil-better-jumper/README.org]]
|
|
|
|
This layer adds support for [[https://github.com/gilbertw1/better-jumper][better-jumper]]. A configurable jump list
|
|
implementation for Emacs that can be used to easily jump back to previous
|
|
locations.
|
|
|
|
Features:
|
|
- jump back and forth
|
|
|
|
** Evil-commentary
|
|
[[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
|
|
[[file:+vim/evil-snipe/README.org][+vim/evil-snipe/README.org]]
|
|
|
|
This layer adds various replacements for vim's default search functions.
|
|
|
|
Features:
|
|
- Alternative implementation of vim's default search operations.
|
|
- Replacement of evil-surround with a two-character search.
|
|
- Support for alternative scopes for default search operations.
|
|
- Support for alternative motions based on configurable regexps.
|
|
|
|
** Vim-empty-lines
|
|
[[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.
|
|
|
|
It has better compatibility with retina displays, as it uses a text overlay
|
|
using your font, rather than a pixel-art tilde. The empty line indicators are
|
|
overlaid in within the buffer as in =vim=, and not in the fringe. The indicator
|
|
behaviour with trailing empty lines matches =vim='s behaviour.
|
|
|
|
For details, see the [[https://github.com/jmickelin/vim-empty-lines-mode][vim-empty-lines-mode]] repository.
|
|
|
|
Features:
|
|
- Emulation of original vim behaviour.
|
|
- Brings you as close to vim as one can be without using vim itself.
|
|
|
|
** Vinegar
|
|
[[file:+vim/vinegar/README.org][+vim/vinegar/README.org]]
|
|
|
|
This layer is a port of vim-vinegar for Emacs.
|
|
|
|
It is based on tpope's [[https://github.com/tpope/vim-vinegar][vinegar.vim]], simplifying =dired=
|
|
with a limited number of details and exposing the ~-~ command in all
|
|
buffers to enter dired.
|
|
|
|
Features:
|
|
- navigation up folders with ~-~ key
|
|
- simplify dired buffer to show only file names
|
|
- better evil/vim bindings for navigation within dired buffer
|
|
- keep only one active dired buffer
|
|
- Use dired-k extension to show time / vcs related information in
|
|
single bar
|
|
- right mouse click moves up directory if in blank space or shows context menu
|
|
|
|
* Web services
|
|
** Confluence
|
|
[[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
|
|
|
|
** Eaf
|
|
[[file:+tools/eaf/README.org][+tools/eaf/README.org]]
|
|
|
|
This layer adds support for the [[https://github.com/manateelazycat/emacs-application-framework][Emacs Application Framework (EAF)]].
|
|
|
|
Features:
|
|
- Browse using a full-fledged browser within Emacs
|
|
- PDF viewer (with continuous scroll)
|
|
- Video player
|
|
- Image viewer
|
|
- See [[https://github.com/manateelazycat/emacs-application-framework#launch-eaf-applications][EAF documentation]] for many more features
|
|
|
|
** Evernote
|
|
[[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]].
|
|
|
|
Features:
|
|
- Create notes in markdown and sync with [[https://evernote.com/][Evernote]] via [[http://www.geeknote.me][geeknote]].
|
|
- Search for notes using keywords
|
|
- Move notes between notebooks
|
|
|
|
** Pocket
|
|
[[file:+web-services/pocket/README.org][+web-services/pocket/README.org]]
|
|
|
|
This layer adds [[https://getpocket.com/][Pocket]] support to Spacemacs via the package
|
|
[[https://github.com/alphapapa/pocket-reader.el][pocket-reader]].
|
|
|
|
Features:
|
|
- Manage reading list: add, remove, delete, tag, view, favorite, etc.
|
|
- Open links in Emacs or external browser
|
|
- Sort views by date, title, domain, tags, favorite, etc.
|
|
- Search items by keywords, tags, favorite status, unread/archived
|
|
status, etc.
|
|
|
|
** Search Engine
|
|
[[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
|
|
[[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]].
|
|
|
|
Features:
|
|
- Activities on Twitter
|
|
- Viewing various timelines
|
|
- Home timeline
|
|
- Replies
|
|
- User's timeline
|
|
- Public timeline
|
|
- Favorites timeline
|
|
- Retweets timeline
|
|
- Merged timeline
|
|
- Timeline without tweets satisfying a condition
|
|
- Posting tweets
|
|
- Direct message
|
|
- ReTweet
|
|
- Hash tag
|
|
- Signature
|
|
- Following and removing users
|
|
- Marking tweets as favorites
|
|
- HTTP Proxy support
|
|
- Secure connection via HTTPS (cURL, GNU Wget, OpenSSL or GnuTLS is required)
|
|
|
|
** Wakatime
|
|
[[file:+web-services/wakatime/README.org][+web-services/wakatime/README.org]]
|
|
|
|
This layer adds support for Wakatime.
|
|
|
|
WakaTime was built to solve time tracking for programmers.
|
|
Since we work inside a text editor, why should we have to start and stop a
|
|
timer? WakaTime uses open-source text editor plugins to automatically track the
|
|
time you spend programming so you never have to manually track it again!
|
|
|
|
P.S. wakati means time in Swahili
|
|
|
|
Features:
|
|
- Integration with Wakatime cloud based time tracking service
|