A Go library for parsing, manipulating, and generating EditorConfig files to maintain consistent coding styles across editors and IDEs.
EditorConfig Core Go is a Go library that implements the EditorConfig specification, providing a parser and manipulator for `.editorconfig` files. It enables programmatic management of coding style definitions to ensure consistency across different editors and IDEs within a project.
Go developers building tools that need to read, write, or manage EditorConfig files, such as linters, formatters, or IDE plugins.
Developers choose this library for a faithful, efficient, and idiomatic Go implementation of the EditorConfig core specification, prioritizing correctness and ease of integration into Go-based tooling over alternatives.
EditorConfig Core written in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically searches up the directory hierarchy for .editorconfig files and merges properties, simplifying dynamic style resolution. From the README: GetDefinitionForFilename searches from 'foo/bar/baz/.editorconfig' up to root.
Includes ParseGraceful function that returns warnings for non-critical issues, allowing robust handling of malformed files. The README shows it logs warnings without failing outright.
Can serialize EditorConfig structs back to INI format and save to disk, enabling programmatic generation of .editorconfig files. The README demonstrates Save and Serialize methods.
Designed as a faithful Go implementation with a clean API, making it straightforward to integrate into Go-based linters, formatters, or IDE plugins without external dependencies.
Lacks support for certain EditorConfig features, such as escaping comments in values and adjacent nested braces, as admitted in the README under 'Missing features.'
Only useful for Go projects; if you need EditorConfig parsing in other languages, you must use alternative libraries, limiting its applicability in polyglot environments.
Relies on the external go-ini/ini library for parsing, which might introduce compatibility issues or additional maintenance overhead if that library has bugs or breaking changes.