mirror of
https://github.com/neovim/neovim.git
synced 2025-10-09 19:36:40 +00:00
92 lines
4.2 KiB
Plaintext
92 lines
4.2 KiB
Plaintext
*editorconfig.txt* Nvim
|
|
|
|
|
|
NVIM REFERENCE MANUAL
|
|
|
|
|
|
EditorConfig integration *editorconfig*
|
|
|
|
Nvim natively supports EditorConfig. When a file is opened, Nvim searches
|
|
upward through all of the parent directories of that file looking for
|
|
".editorconfig" files. Each of these is parsed and any properties that match
|
|
the opened file are applied.
|
|
|
|
For more information on EditorConfig, see https://editorconfig.org/.
|
|
|
|
*g:editorconfig* *b:editorconfig*
|
|
EditorConfig integration can be disabled globally by adding >lua
|
|
|
|
vim.g.editorconfig = false
|
|
<
|
|
to the user's |init.lua| file (or the Vimscript equivalent to |init.vim|). It
|
|
can also be disabled per-buffer by setting the |b:editorconfig| buffer-local
|
|
variable to `false`.
|
|
|
|
When Nvim finds a valid .editorconfig file it will store the applied
|
|
properties in the buffer variable |b:editorconfig| if it was not already set to
|
|
`false` by the user.
|
|
|
|
*editorconfig-properties*
|
|
The following properties are supported by default:
|
|
|
|
*editorconfig_root*
|
|
root If "true", then stop searching for .editorconfig files
|
|
in parent directories. This property must be at the
|
|
top-level of the .editorconfig file (i.e. it must not
|
|
be within a glob section).
|
|
|
|
*editorconfig_charset*
|
|
charset One of "utf-8", "utf-8-bom", "latin1", "utf-16be", or
|
|
"utf-16le". Sets the 'fileencoding' and 'bomb'
|
|
options.
|
|
|
|
*editorconfig_end_of_line*
|
|
end_of_line One of "lf", "crlf", or "cr". These correspond to
|
|
setting 'fileformat' to "unix", "dos", or "mac",
|
|
respectively.
|
|
|
|
*editorconfig_indent_style*
|
|
indent_style One of "tab" or "space". Sets the 'expandtab' option.
|
|
|
|
*editorconfig_indent_size*
|
|
indent_size A number indicating the size of a single indent.
|
|
Alternatively, use the value "tab" to use the value of
|
|
the tab_width property. Sets the 'shiftwidth' and
|
|
'softtabstop'.
|
|
|
|
*editorconfig_insert_final_newline*
|
|
insert_final_newline "true" or "false" to ensure the file always has a
|
|
trailing newline as its last byte. Sets the
|
|
'fixendofline' and 'endofline' options.
|
|
|
|
*editorconfig_max_line_length*
|
|
max_line_length A number indicating the maximum length of a single
|
|
line. Sets the 'textwidth' option.
|
|
|
|
*editorconfig_tab_width*
|
|
tab_width The display size of a single tab character. Sets the
|
|
'tabstop' option.
|
|
|
|
*editorconfig_trim_trailing_whitespace*
|
|
trim_trailing_whitespace
|
|
When "true", trailing whitespace is automatically
|
|
removed when the buffer is written.
|
|
|
|
*editorconfig-custom-properties*
|
|
New properties can be added by adding a new entry to the "properties" table.
|
|
The table key is a property name and the value is a callback function which
|
|
accepts the number of the buffer to be modified, the value of the property
|
|
in the .editorconfig file, and (optionally) a table containing all of the
|
|
other properties and their values (useful for properties which depend on other
|
|
properties). The value is always a string and must be coerced if necessary.
|
|
Example: >lua
|
|
|
|
require('editorconfig').properties.foo = function(bufnr, val, opts)
|
|
if opts.charset and opts.charset ~= "utf-8" then
|
|
error("foo can only be set when charset is utf-8", 0)
|
|
end
|
|
vim.b[bufnr].foo = val
|
|
end
|
|
<
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|