Quick links: help overview · quick reference · user manual toc · reference manual toc
Go to keyword (shortcut: k)
Site search (shortcut: s)
editorconfig.txt  Nvim


                            NVIM REFERENCE MANUAL

==============================================================================
EditorConfig integration                                        editorconfig

Nvim supports EditorConfig. When a file is opened, after running ftplugins
and FileType autocommands, Nvim searches all parent directories of that file
for ".editorconfig" files, parses them, and applies any properties that match
the opened file. Think of it like 'modeline' for an entire (recursive)
directory. For more information see https://editorconfig.org/.

                                               g:editorconfig b:editorconfig

EditorConfig is enabled by default. To disable it, add to your config: 
    vim.g.editorconfig = false


(Vimscript: `let g:editorconfig = v:false`). It can also be disabled
per-buffer by setting the b:editorconfig buffer-local variable to false.

Nvim stores the applied properties in b:editorconfig if it is not false.

                                              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: 

    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


                                                     editorconfig-properties

The following properties are supported by default:


charset                                                 editorconfig.charset
    One of "utf-8", "utf-8-bom", "latin1", "utf-16be", or
    "utf-16le". Sets the 'fileencoding' and 'bomb' options.

end_of_line                                         editorconfig.end_of_line
    One of "lf", "crlf", or "cr". These correspond to setting
    'fileformat' to "unix", "dos", or "mac", respectively.

indent_size                                         editorconfig.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' options. If this value is not "tab" and the
    tab_width property is not set, 'tabstop' is also set to this value.

indent_style                                       editorconfig.indent_style
    One of "tab" or "space". Sets the 'expandtab' option.

insert_final_newline                       editorconfig.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.

max_line_length                                 editorconfig.max_line_length
    A number indicating the maximum length of a single line. Sets the
    'textwidth' option.

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

tab_width                                             editorconfig.tab_width
    The display size of a single tab character. Sets the 'tabstop' option.

trim_trailing_whitespace               editorconfig.trim_trailing_whitespace
    When "true", trailing whitespace is automatically removed when the
    buffer is written.


 vim:tw=78:ts=8:sw=4:sts=4:et:ft=help:norl:


Quick links: help overview · quick reference · user manual toc · reference manual toc