.TH "editorconfig-format" 5 "Sat Jan 20 2018" "EditorConfig" \" -*- nroff -*- .ad l .nh .SH NAME editorconfig-formatEditorConfig File Format \- .SH "EditorConfig File Format" .PP EditorConfig files use an INI format that is compatible with the format used by Python ConfigParser Library, but [ and ] are allowed in the section names\&. The section names are filepath globs, similar to the format accepted by gitignore\&. Forward slashes (/) are used as path separators and semicolons (;) or octothorpes (#) are used for comments\&. Comments should go individual lines\&. EditorConfig files should be UTF-8 encoded, with either CRLF or LF line separators\&. .PP Filename globs containing path separators (/) match filepaths in the same way as the filename globs used by \&.gitignore files\&. Backslashes (\\) are not allowed as path separators\&. .PP A semicolon character (;) starts a line comment that terminates at the end of the line\&. Line comments and blank lines are ignored when parsing\&. Comments may be added to the ends of non-empty lines\&. An octothorpe character (#) may be used instead of a semicolon to denote the start of a comment\&. .SH "Filename and Location" .PP When a filename is given to EditorConfig a search is performed in the directory of the given file and all parent directories for an EditorConfig file (named '\&.editorconfig' by default)\&. All found EditorConfig files are searched for sections with section names matching the given filename\&. The search will stop if an EditorConfig file is found with the root property set to true or when reaching the root filesystem directory\&. .PP Files are read top to bottom and the most recent rules found take precedence\&. If multiple EditorConfig files have matching sections, the rules from the closer EditorConfig file are read last, so properties in closer files take precedence\&. .SH "Wildcard Patterns" .PP Section names in EditorConfig files are filename globs that support pattern matching through Unix shell-style wildcards\&. These filename globs recognize the following as special characters for wildcard matching: .PP * Matches any string of characters, except path separators (/) ** Matches any string of characters ? Matches any single character [seq] Matches any single character in seq [!seq] Matches any single character not in seq {s1,s2,s3} Matches any of the strings given (separated by commas, can be nested) {num1..num2} Matches any integer numbers between num1 and num2, where num1 and num2 can be either positive or negative .PP The backslash character () can be used to escape a character so it is not interpreted as a special character\&. .SH "Supported Properties" .PP EditorConfig file sections contain properties, which are name-value pairs separated by an equal sign (=)\&. EditorConfig plugins will ignore unrecognized property names and properties with invalid values\&. .PP Here is the list of all property names understood by EditorConfig and all valid values for these properties: .PP .PD 0 .IP "\(bu" 2 \fBindent_style\fP: set to 'tab' or 'space' to use hard tabs or soft tabs respectively\&. The values are case insensitive\&. .IP "\(bu" 2 \fBindent_size\fP: a whole number defining the number of columns used for each indentation level and the width of soft tabs (when supported)\&. If this equals to 'tab', the \fBindent_size\fP will be set to the tab size, which should be tab_width if \fBtab_width\fP is specified, or the tab size set by editor if \fBtab_width\fP is not specified\&. The values are case insensitive\&. .IP "\(bu" 2 \fBtab_width\fP: a whole number defining the number of columns used to represent a tab character\&. This defaults to the value of \fBindent_size\fP and should not usually need to be specified\&. .IP "\(bu" 2 \fBend_of_line\fP: set to 'lf', 'cr', or 'crlf' to control how line breaks are represented\&. The values are case insensitive\&. .IP "\(bu" 2 \fBcharset\fP: set to 'latin1', 'utf-8', 'utf-8-bom', 'utf-16be' or 'utf-16le' to control the character set\&. Use of 'utf-8-bom' is discouraged\&. .IP "\(bu" 2 \fBtrim_trailing_whitespace\fP: set to 'true' to remove any whitespace characters preceding newline characters and 'false' to ensure it doesn't\&. .IP "\(bu" 2 \fBinsert_final_newline\fP: set to 'true' ensure file ends with a newline when saving and 'false' to ensure it doesn't\&. .IP "\(bu" 2 \fBroot\fP: special property that should be specified at the top of the file outside of any sections\&. Set to 'true' to stop \fC\&.editorconfig\fP files search on current file\&. The value is case insensitive\&. .PP .PP Property names are case insensitive and all property names are lowercased when parsing\&.