Packages
ex_doc
0.38.4
0.40.3
0.40.2
0.40.1
0.40.0
0.39.3
0.39.2
0.39.1
0.39.0
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.3
0.37.2
0.37.1
0.37.0
0.37.0-rc.2
0.37.0-rc.1
0.37.0-rc.0
0.36.1
0.36.0
0.35.1
0.35.0
0.34.2
0.34.1
0.34.0
0.33.0
0.32.2
0.32.1
0.32.0
0.31.2
0.31.1
0.31.0
0.30.9
0.30.8
0.30.7
0.30.6
0.30.5
0.30.4
0.30.3
0.30.2
0.30.1
0.30.0
0.29.4
0.29.3
0.29.2
0.29.1
0.29.0
0.28.6
0.28.5
0.28.4
0.28.3
0.28.2
0.28.1
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.2
0.24.1
0.24.0
0.23.0
0.22.6
0.22.5
0.22.4
0.22.2
0.22.1
0.22.0
0.21.3
0.21.2
0.21.1
0.21.0
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.19.0-rc
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
retired
0.17.1
0.17.0
retired
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
ExDoc is a documentation generation tool for Elixir
Current section
Files
Jump to
Current section
Files
lib/ex_doc/nodes.ex
# TODO: source_doc should only be a string once we remove application/html+erlang.
defmodule ExDoc.ModuleNode do
@moduledoc false
defstruct id: nil,
title: nil,
nested_context: nil,
nested_title: nil,
module: nil,
group: nil,
deprecated: nil,
doc: nil,
source_doc: nil,
source_format: nil,
moduledoc_line: nil,
moduledoc_file: nil,
source_path: nil,
source_url: nil,
docs_groups: [],
typespecs: [],
type: nil,
language: nil,
annotations: [],
metadata: nil
@typep annotation :: atom()
@type t :: %__MODULE__{
id: String.t(),
title: String.t(),
nested_context: String.t() | nil,
nested_title: String.t() | nil,
module: module(),
group: atom() | nil,
deprecated: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
source_doc: term() | nil,
source_format: String.t() | nil,
moduledoc_line: non_neg_integer(),
moduledoc_file: String.t(),
source_path: String.t() | nil,
source_url: String.t() | nil,
docs_groups: [ExDoc.DocGroupNode.t()],
typespecs: [ExDoc.DocNode.t()],
type: atom(),
language: module(),
annotations: [annotation()],
metadata: map()
}
end
defmodule ExDoc.DocNode do
@moduledoc false
defstruct id: nil,
name: nil,
arity: 0,
defaults: [],
deprecated: nil,
doc: nil,
source_doc: nil,
type: nil,
signature: nil,
specs: [],
annotations: [],
group: nil,
doc_line: nil,
doc_file: nil,
source_url: nil
@typep annotation :: String.t()
@typep function_default :: {name :: atom(), arity :: non_neg_integer()}
@type t :: %__MODULE__{
id: String.t(),
name: atom(),
arity: non_neg_integer(),
defaults: [function_default()],
deprecated: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
source_doc: term() | nil,
type: atom(),
signature: String.t(),
specs: [ExDoc.Language.spec_ast() | String.t()],
annotations: [annotation()],
group: String.t() | nil,
doc_file: String.t(),
doc_line: non_neg_integer(),
source_url: String.t() | nil
}
end
defmodule ExDoc.DocGroupNode do
@moduledoc false
defstruct title: nil, description: nil, doc: nil, docs: []
@type t :: %__MODULE__{
title: String.t() | atom(),
description: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
docs: [ExDoc.DocNode.t()]
}
end