defmodule EditorConfig.File do @moduledoc "Parsed representation of one `.editorconfig` file." defstruct root?: false, preamble: %{}, sections: [] @type t :: %__MODULE__{ root?: boolean(), preamble: %{String.t() => String.t()}, sections: [__MODULE__.Section.t()] } defmodule Section do @moduledoc "One section from an `.editorconfig` file." defstruct name: "", properties: %{}, line: 1 @type t :: %__MODULE__{ name: String.t(), properties: %{String.t() => String.t()}, line: pos_integer() } end end