BREAKING CHANGE: ghcide was archived a while back and now primarily exists as a library used in the development of haskell-language-server. It is not recommended for end-users, only for development. To this end I think including it in the module is more misleading than helpful, and the people that really want to use it can easily set it up themselves. Ref: https://github.com/haskell/ghcide/pull/939
11 KiB
Module Index
- Table of Contents
- :app
- :checkers
- :completion
- :config
- :editor
- :emacs
- :input
- :lang
- :os
- :term
- :tools
- :ui
Functionality in Doom is divided into collections of code called modules (à la
Spacemacs' layers). A module is a bundle of packages, configuration and
commands, organized into a unit that can be enabled or disabled by adding or
removing them from your doom!
block in $DOOMDIR/init.el
.
Table of Contents TOC
:app
Application modules are complex and opinionated modules that transform Emacs
toward a specific purpose. They may have additional dependencies and should be
loaded last, before :config
modules.
:checkers
:completion
Modules that provide new interfaces or frameworks for completion, including code completion.
- company
+childframe +tng
- The ultimate code completion backend - helm
+fuzzy +childframe
- Another search engine for love and life - ido - The other other search engine for love and life
- ivy
+fuzzy +prescient +childframe +icons
- The search engine for love and life - vertico
+icons
- The search engine of the future
:config
Modules that configure Emacs one way or another, or focus on making it easier for you to customize it yourself. It is best to load these last.
- literate - For users with literate configs. This will tangle+compile a
config.org in your
doom-private-dir
when it changes. - default
+bindings +smartparens
- The default module sets reasonable defaults for Emacs. It also provides a Spacemacs-inspired keybinding scheme and a smartparens config. Use it as a reference for your own modules.
:editor
Modules that affect and augment your ability to manipulate or insert text.
- evil
+everywhere
- transforms Emacs into Vim - file-templates - Auto-inserted templates in blank new files
- fold - universal code folding
- format
+onsave
- TODO - god - TODO
- lispy - TODO
- multiple-cursors - TODO
- objed
+manual
- TODO - parinfer - TODO
- rotate-text - TODO
- snippets - Snippet expansion for lazy typists
- word-wrap - soft wrapping with language-aware indent
:emacs
:lang
Modules that bring support for a language or group of languages to Emacs.
- agda
+local
- TODO - beancount
+lsp
- TODO - cc
+lsp
- TODO - clojure
+lsp
- TODO - common-lisp - TODO
- coq - TODO
- crystal - TODO
- csharp
+lsp +unity
- TODO - dart
+lsp +flutter
- data - TODO
- elixir
+lsp
- TODO - elm
+lsp
- TODO - emacs-lisp - TODO
- erlang
+lsp
- TODO - ess
+lsp
- TODO - factor - TODO
- faust - TODO
- fsharp
+lsp
- TODO - fstar - F* support
- gdscript
+lsp
- TODO - go
+lsp
- TODO - haskell
+dante +lsp
- TODO - hy - TODO
- idris - TODO
- java
+meghanada +eclim +lsp
- TODO - javascript
+lsp
- JavaScript, TypeScript, and CoffeeScript support - json
+lsp
- TODO - julia
+lsp
- TODO - kotlin
+lsp
- TODO - latex
+latexmk +cdlatex +fold +lsp
- TODO - lean - TODO
- ledger - TODO
- lua
+fennel +moonscript
- TODO - markdown
+grip
- TODO - nim - TODO
- nix - TODO
- ocaml
+lsp
- TODO - org
+brain +dragndrop +gnuplot +hugo +ipython +journal +jupyter +noter +pandoc +pomodoro +present +pretty +roam
- TODO - php
+hack +lsp
- TODO - plantuml - TODO
- purescript
+lsp
- TODO - python
+cython +lsp +pyright +pyenv +conda +poetry
- TODO - qt - TODO
- racket
+lsp +xp
- TODO - raku - TODO
- rest - TODO
- rst - TODO
- ruby
+lsp +rvm +rbenv +rails +chruby
- rust
+lsp
- TODO - scala
+lsp
- TODO - scheme
+chez +chibi +chicken +gambit +gauche +guile +kawa +mit +racket
- TODO - sh
+fish +lsp +powershell
- TODO - sml - TODO
- solidity - TODO
- swift
+lsp
- TODO - terra - TODO
- web
+lsp
- HTML and CSS (SCSS/SASS/LESS/Stylus) support. - yaml
+lsp
- TODO - zig
+lsp
- Zig support.
:os
:tools
Small modules that give Emacs access to external tools & services.
- ansible - TODO
- debugger
+lsp
- A (nigh-)universal debugger in Emacs - direnv - TODO
- docker
+lsp
- TODO - editorconfig - TODO
- ein - TODO
- eval
+overlay
- REPL & code evaluation support for a variety of languages - gist - TODO
- lookup
+dictionary +docsets +offline
- Universal jump-to & documentation lookup backend - lsp
+peek +eglot
- Installation and configuration of language server protocol client (lsp-mode or eglot) - magit
+forge
- TODO - make - TODO
- pass
+auth
- TODO - pdf - TODO
- prodigy - TODO
- rgb - TODO
- taskrunner - TODO
- terraform - TODO
- tmux - TODO
- upload - TODO
:ui
Aesthetic modules that affect the Emacs interface or user experience.
- deft - TODO
- doom - TODO
- doom-dashboard - TODO
- doom-quit - TODO
- emoji
+ascii +github +unicode
- Adds emoji support to Emacs - hl-todo - TODO
- hydra - TODO
- indent-guides - TODO
- ligatures
+extra +fira +hasklig +iosevka +pragmata-pro
- Ligature support for Emacs - minimap - TODO
- modeline
+light
- TODO - nav-flash - TODO
- neotree - TODO
- ophints - TODO
- popup
+all +defaults
- Makes temporary/disposable windows less intrusive - tabs - TODO
- treemacs -
+lsp
- A tree layout file explorer for Emacs - unicode - TODO
- vc-gutter - TODO
- vi-tilde-fringe - TODO
- window-select
+switch-window +numbers
- TODO - workspaces - Isolated workspaces
- zen - Distraction-free coding (or writing)