* module: add :input bidi Co-authored-by: Yoav Marco <yoavm448@gmail.com> * docs(bidi): flesh out README.org Co-authored-by: Itai Y. Efrat <itai3397@gmail.com> * feat(bidi): add +bidi-global-mode * docs(bidi): improve font setting instructions * feat(bidi): add +bidi-(hebrew|arabic)-font Since the Hebrew and Arabic unicode blocks cover the vast majority of RTL languages used today, we provide these fonts so end users don't have to bother with setting up the hooks themselves. * feat(bidi): add smart fontify Adds support for using the bidi fonts on surrounding whitespace and punctuation through. On by default, customizable through +bidi-want-smart-fontify and +bidi-smart-fontify-keywords. Also adds face versions of the bidi fonts. * docs(bidi): recommend known good nastaliq fonts * fix(bidi): re-set bidi faces after changing fonts * feat(bidi): add +bidi-paragraph-direction This allows users to choose what bidi-paragraph-direction is set to when +bidi-mode is on, so they can choose if they want per paragraph alignment (the default) or to force everything to be aligned RTL * docs(bidi): conform to verbatim/code conventions * docs(bidi): add font overview to Features * docs(bidi): warn on rtl forced alignment footgun +bidi-paragraph-direction is a nice variable to have if you primarily use +bidi-mode for rtl text buffers, but it shouldn't be used in conjunction with +bidi-global-mode since it messes up English buffers. Co-authored-by: Yoav Marco <yoavm448@gmail.com>
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
:input
: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
+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)