aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/editorconfig.txt
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
commit9243becbedbb6a1592208051f8fa2b090dcc5e7d (patch)
tree607c2a862ec3f4399b8766383f6f8e04c4aa43b4 /runtime/doc/editorconfig.txt
parent9e40b6e9e1bc67f2d856adb837ee64dd0e25b717 (diff)
parent3c48d3c83fc21dbc0841f9210f04bdb073d73cd1 (diff)
downloadrneovim-usermarks.tar.gz
rneovim-usermarks.tar.bz2
rneovim-usermarks.zip
Merge remote-tracking branch 'upstream/master' into usermarksusermarks
Diffstat (limited to 'runtime/doc/editorconfig.txt')
-rw-r--r--runtime/doc/editorconfig.txt91
1 files changed, 91 insertions, 0 deletions
diff --git a/runtime/doc/editorconfig.txt b/runtime/doc/editorconfig.txt
new file mode 100644
index 0000000000..04a057e5ff
--- /dev/null
+++ b/runtime/doc/editorconfig.txt
@@ -0,0 +1,91 @@
+*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: