Files
doomemacs/modules/tools/editorconfig
Henrik Lissner 754e0f7982 bump: :tools
Silex/docker.el@6f8bba0d11 -> Silex/docker.el@813c00410b
cjohansson/emacs-ssh-deploy@95fb076c9b -> cjohansson/emacs-ssh-deploy@dc8882d180
editorconfig/editorconfig-emacs@c707d8d0f1 -> editorconfig/editorconfig-emacs@24f5b2b1cd
emacs-ansible/emacs-ansible@e171dacc12 -> emacs-ansible/emacs-ansible@03e285bb54
emacs-citar/citar-org-roam@82d47b5df1 -> emacs-citar/citar-org-roam@ff38add0aa
emacs-citar/citar@0f1786b7fe -> emacs-citar/citar@2826996799
emacs-lsp/dap-mode@605448b4fd -> emacs-lsp/dap-mode@ffb7957612
emacs-lsp/lsp-ivy@9ecf4dd9b1 -> emacs-lsp/lsp-ivy@6b2a625f08
emacs-lsp/lsp-mode@32628135ef -> emacs-lsp/lsp-mode@d28dd6b7e3
emacs-lsp/lsp-ui@072bb29152 -> emacs-lsp/lsp-ui@f0edfac7b3
emacs-straight/crdt@7f91efcc72 -> emacs-straight/crdt@24cf2fca33
emacs-straight/eglot@81eb273965 -> emacs-straight/eglot@d3e44d33b7
emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9 -> emacs-tree-sitter/elisp-tree-sitter@fe98d0cae7
emacs-tree-sitter/tree-sitter-langs@465a64032d -> emacs-tree-sitter/tree-sitter-langs@4f951dbb53
gromnitsky/wordnut@feac531404 -> gromnitsky/wordnut@dffc75a455
hcl-emacs/terraform-mode@abfc10f5e3 -> hcl-emacs/terraform-mode@5bdd734a87
joostkremers/parsebib@489f690f43 -> joostkremers/parsebib@f0e57a3606
magit/forge@9f2efc3c03 -> magit/forge@96fe98120c
magit/magit@f2a6133443 -> magit/magit@8b6bb7c7e8
meain/evil-textobj-tree-sitter@5056ebc231 -> meain/evil-textobj-tree-sitter@bce236e5d2
mohkale/consult-eglot@c5f87d9244 -> mohkale/consult-eglot@9b490eb384
purcell/envrc@3c5a60dd91 -> purcell/envrc@60f5091538
tmalsburg/helm-bibtex@8b71b4f5ce -> tmalsburg/helm-bibtex@6064e8625b
tumashu/posframe@ac9f954ac4 -> tumashu/posframe@8165153682

- Adds new aarch64-unknown-linux-gnu binaries for tree-sitter (#8215).

Fix: #7967
Close: #8215
Co-authored-by: l2dy <l2dy@users.noreply.github.com>
2025-01-09 00:29:41 -05:00
..
2024-09-14 20:47:39 -04:00
2019-04-24 18:16:04 -04:00
2025-01-09 00:29:41 -05:00

:tools editorconfig

Description   unfold

This module integrates EditorConfig into Emacs, allowing users to dictate code style on a per-project basis with an .editorconfig file (formal specification).

Module flags

This module has no flags.

Hacks

  • Added logic to guess an extension-less file's type from its shebang line. For example, editorconfig rules for *.py files will apply to bin/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 specifies indent_style or indent_size, the doom-package:dtrt-indent (which tries to guess your indent settings by analyzing your text file) will bow out.
  • Special integration for ws-butler: this module will use doom-package:ws-butler to enforce trim_trailing_whitespace.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

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).

Usage

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.

TODO Configuration

󱌣 This module's configuration documentation is incomplete. Complete it?

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:

;; in $DOOMDIR/config.el
(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).

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?