Documentation
¶
Overview ¶
Package editorconfig can be used to parse and generate editorconfig files. For more information about editorconfig, see http://editorconfig.org/
Index ¶
Constants ¶
const ( IndentStyleTab = "tab" IndentStyleSpaces = "space" )
IndentStyle possible values
const ( EndOfLineLf = "lf" EndOfLineCr = "cr" EndOfLineCrLf = "crlf" )
EndOfLine possible values
const ( CharsetLatin1 = "latin1" CharsetUTF8 = "utf-8" CharsetUTF16BE = "utf-16be" CharsetUTF16LE = "utf-16le" CharsetUTF8BOM = "utf-8 bom" )
Charset possible values
const ( MaxPropertyLength = 50 MaxSectionLength = 4096 MaxValueLength = 255 )
Limits for section name, properties, and values.
const (
// ConfigNameDefault represents the name of the configuration file
ConfigNameDefault = ".editorconfig"
)
Variables ¶
This section is empty.
Functions ¶
func FnmatchCase ¶ added in v2.1.0
FnmatchCase tests whether the name matches the given pattern case included.
Types ¶
type Definition ¶
type Definition struct { Selector string `ini:"-" json:"-"` Charset string `ini:"charset" json:"charset,omitempty"` IndentStyle string `ini:"indent_style" json:"indent_style,omitempty"` IndentSize string `ini:"indent_size" json:"indent_size,omitempty"` TabWidth int `ini:"-" json:"-"` EndOfLine string `ini:"end_of_line" json:"end_of_line,omitempty"` TrimTrailingWhitespace *bool `ini:"-" json:"-"` InsertFinalNewline *bool `ini:"-" json:"-"` Raw map[string]string `ini:"-" json:"-"` }
Definition represents a definition inside the .editorconfig file. E.g. a section of the file. The definition is composed of the selector ("*", "*.go", "*.{js.css}", etc), plus the properties of the selected files.
func GetDefinitionForFilename ¶
func GetDefinitionForFilename(filename string) (*Definition, error)
GetDefinitionForFilename given a filename, searches for .editorconfig files, starting from the file folder, walking through the previous folders, until it reaches a folder with `root = true`, and returns the right editorconfig definition for the given file.
func GetDefinitionForFilenameWithConfigname ¶
func GetDefinitionForFilenameWithConfigname(filename string, configname string) (*Definition, error)
GetDefinitionForFilenameWithConfigname given a filename and a configname, searches for configname files, starting from the file folder, walking through the previous folders, until it reaches a folder with `root = true`, and returns the right editorconfig definition for the given file.
func (*Definition) InsertToIniFile ¶
func (d *Definition) InsertToIniFile(iniFile *ini.File)
InsertToIniFile ... TODO
type Editorconfig ¶
type Editorconfig struct { Root bool Definitions []*Definition }
Editorconfig represents a .editorconfig file. It is composed by a "root" property, plus the definitions defined in the file.
func Parse ¶ added in v2.2.0
func Parse(r io.Reader) (*Editorconfig, error)
Parse parses from a reader.
func ParseBytes
deprecated
func ParseBytes(data []byte) (*Editorconfig, error)
ParseBytes parses from a slice of bytes.
Deprecated: use Parse instead.
func ParseFile
deprecated
func ParseFile(path string) (*Editorconfig, error)
ParseFile parses from a file.
Deprecated: use Parse instead.
func (*Editorconfig) GetDefinitionForFilename ¶
func (e *Editorconfig) GetDefinitionForFilename(name string) (*Definition, error)
GetDefinitionForFilename returns a definition for the given filename. The result is a merge of the selectors that matched the file. The last section has preference over the priors.
func (*Editorconfig) Save ¶
func (e *Editorconfig) Save(filename string) error
Save saves the Editorconfig to a compatible INI file.
func (*Editorconfig) Serialize ¶
func (e *Editorconfig) Serialize() ([]byte, error)
Serialize converts the Editorconfig to a slice of bytes, containing the content of the file in the INI format.