editorconfig settings code example

Example 1: .editorconfig

# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[Makefile]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

Example 2: editorconfig javascript example

function set_file_editorconfig_opts(file, config) {
  try {
    var eConfigs = editorconfig.parseSync(file);
    if (eConfigs.indent_style === "tab") {
      config.indent_with_tabs = true;
    } else if (eConfigs.indent_style === "space") {
      config.indent_with_tabs = false;
    if (eConfigs.indent_size) {
      config.indent_size = eConfigs.indent_size;
    if (eConfigs.max_line_length) {
      if (eConfigs.max_line_length === "off") {
        config.wrap_line_length = 0;
      } else {
        config.wrap_line_length = parseInt(eConfigs.max_line_length, 10);
    if (eConfigs.insert_final_newline === true) {
      config.end_with_newline = true;
    } else if (eConfigs.insert_final_newline === false) {
      config.end_with_newline = false;
    if (eConfigs.end_of_line) {
      if (eConfigs.end_of_line === 'cr') {
        config.eol = '\r';
      } else if (eConfigs.end_of_line === 'lf') {
        config.eol = '\n';
      } else if (eConfigs.end_of_line === 'crlf') {
        config.eol = '\r\n';