editorconfig.nvim icon indicating copy to clipboard operation
editorconfig.nvim copied to clipboard

EditorConfig plugin for Neovim

editorconfig.nvim

EditorConfig plugin for Neovim written in ~~Lua~~ Fennel.

editorconfig.nvim is tested against editorconfig-plugin-tests.

This plugin is considered complete: bugs will continue to be fixed if and when they're found, but no new features will be added (except to stay up-to-date with any changes to the EditorConfig specification).

Supported properties

  • charset
  • end_of_line
  • indent_size
  • indent_style
  • insert_final_newline
  • max_line_length
  • tab_width
  • trim_trailing_whitespace

Adding custom properties

Custom properties can be added through the properties table:

require('editorconfig').properties.foo = function(bufnr, val)
  vim.b[bufnr].foo = val
end

Installation

Install using your favorite package manager, or install manually using Nvim's builtin package support:

git clone https://github.com/gpanders/editorconfig.nvim ~/.config/nvim/pack/gpanders/start/editorconfig.nvim

This plugin requires no setup and will "just work" when installed.

FAQ

Q: Why use this instead of editorconfig-vim?

A: This plugin aims for simplicity and performance: editorconfig-vim contains over 1000 SLOC, while this plugin has just under 200.

Q: Why does it only work for Neovim?

A: Vim does not have the same level of support for Lua, and this plugin uses many Neovim-specific APIs. Vim users should continue to use editorconfig-vim.

Contributing

File issues in the GitHub issue tracker. Changes can be sent as git-send-email patches to ~gpanders/[email protected] or as a GitHub pull request.

License

GPLv3

See Also