Alexander-Miller/treemacs@a6f9e9f1ce -> Alexander-Miller/treemacs@63e2bc207a Silex/docker.el@9bcefbe54d -> Silex/docker.el@4fc69969b1 akermu/emacs-libvterm@2b1392cb2b -> akermu/emacs-libvterm@2681120b77 bdarcus/bibtex-actions@6e3a194c3a -> bdarcus/bibtex-actions@08c6ca0e5b dash-docs-el/dash-docs@dafc8fc9f1 -> dash-docs-el/dash-docs@29848b6b34 dgutov/diff-hl@992559f98a -> dgutov/diff-hl@40c89a7b0d dimitri/switch-window@2801d9b3a9 -> dimitri/switch-window@8d9fe251d8 editorconfig/editorconfig-emacs@e10fa22b13 -> editorconfig/editorconfig-emacs@2ab86dc9a8 ema2159/centaur-tabs@9c7c936e4e -> ema2159/centaur-tabs@8b4249c405 emacs-circe/circe@d6f1fa1864 -> emacs-circe/circe@77e16de3b9 emacs-lsp/lsp-treemacs@905cc74726 -> emacs-lsp/lsp-treemacs@d82df44d63 emacsorphanage/osx-trash@0f1dc052d0 -> emacsorphanage/osx-trash@af74a2055a emacsorphanage/quickrun@35e91f4b6c -> emacsorphanage/quickrun@78317951cd flycheck/flycheck@21d52264aa -> flycheck/flycheck@784f184cdd hlissner/emacs-doom-themes@9e2680b918 -> hlissner/emacs-doom-themes@65fb964f36 https://git.savannah.gnu.org/git/emms.git@6e0aaaf4c559 -> https://git.savannah.gnu.org/git/emms.git@c42fab572846 ideasman42/emacs-spell-fu@1abcb5594e -> ideasman42/emacs-spell-fu@10823ae58f ideasman42/emacs-undo-fu@e0ad06b5ef -> ideasman42/emacs-undo-fu@34b27c01da joostkremers/writeroom-mode@b648b34017 -> joostkremers/writeroom-mode@7f4ec92404 kidd/org-gcal.el@4c2616a4f8 -> kidd/org-gcal.el@80e6f9501f magnars/expand-region.el@4b8322774d -> magnars/expand-region.el@95a773bd8f millejoh/emacs-ipython-notebook@09af85821e -> millejoh/emacs-ipython-notebook@0600c286bd mohkale/consult-eglot@a6aeb6fa07 -> mohkale/consult-eglot@28a09cc839 noctuid/link-hint.el@09ba5727d8 -> noctuid/link-hint.el@d3c5bacc9c rolandwalker/nav-flash@55786c9582 -> rolandwalker/nav-flash@2e31f32085 skeeto/elfeed@243add9e74 -> skeeto/elfeed@162d7d545e szermatt/emacs-bash-completion@65e54c6f9c -> szermatt/emacs-bash-completion@c5eaeed156 tarsius/hl-todo@5ac0076cfe -> tarsius/hl-todo@42f744ffb5 tecosaur/emacs-everywhere@64ba2e3f30 -> tecosaur/emacs-everywhere@da88fa2d04 tkf/emacs-request@f3a5b4352e -> tkf/emacs-request@2b68b3ca54 tmalsburg/helm-bibtex@a0d32ab167 -> tmalsburg/helm-bibtex@b85662081d yoshiki/yaml-mode@3a57058468 -> yoshiki/yaml-mode@63b637f846 yqrashawn/fd-dired@c223aee30a -> yqrashawn/fd-dired@458464771b
tools/editorconfig
Description
This module integrates EditorConfig into Emacs, allowing users to dictate code
style on a per-project basis with an .editorconfig
file (formal
specification).
Maintainers
This module has no dedicated maintainers
Module Flags
This module provides no flags.
Plugins
Hacks
- Added logic to guess an extension-less file's type from its shebang line. For
example, editorconfig rules for
*.py
files will apply tobin/myscript
assuming its first line is#!/usr/bin/env python
. See+editorconfig-mode-alist
for adding support for more languages. - Special integration for
dtrt-indent
: If the local editorconfig file specifiesindent_style
orindent_size
, thedtrt-indent
(which tries to guess your indent settings by analyzing your text file) will bow out. - Special integration for
ws-butler
: this module will usews-butler
to enforcetrim_trailing_whitespace
.
Prerequisites
This module has one optional dependency: the editorconfig
native binary.
Without it, a built-in elisp implementation will be used, but it has fewer
features and can be a bit slower.
The editorconfig binary has many implementations you can choose from, typically available through your OS package manager (or build it yourself).
Features
You will need to write an .editorconfig
file in your project (this is usually
in the root of your project) you can find out about all the properties here
Configuration
Adding support for more major modes
Out the box, the editorconfig plugin supports many Emacs major modes, but it's
possible you'll find one it doesn't support. Adding support is easy so long as
you know that mode's indentation variables. For example, coffee-mode
has a
coffee-tab-width
variable that controls indentation width in CoffeeScript
files. Editorconfig already supports this language, but let's pretend it
doesn't:
The editorconfig-indentation-alist
variable contains a list of major modes and
their indentation variables. To add coffee-mode to it:
(after! editorconfig
(add-to-list 'editorconfig-indentation-alist '(coffee-mode coffee-tab-width)))
But what if you don't know the correct indentation variable(s). Use SPC h v
(C-h v
for non-evil users) to peruse all the available variables in your
current session of Emacs. Look for variables that have the words indent
,
offset
or tab-width
in them. They will be prefixed with the plugin they
belong to (e.g. rustic-indent-offset
).