Directories
¶
| Path | Synopsis |
|---|---|
|
Package ast defines the TDL parse tree, which mirrors source text 1:1 with names left unresolved.
|
Package ast defines the TDL parse tree, which mirrors source text 1:1 with names left unresolved. |
|
backend
|
|
|
debug
Package debug is a backend that describes the model it was given.
|
Package debug is a backend that describes the model it was given. |
|
golang
Package golang generates Go source from a resolved model.
|
Package golang generates Go source from a resolved model. |
|
graphql
Package graphql generates a GraphQL schema of output types from a resolved model.
|
Package graphql generates a GraphQL schema of output types from a resolved model. |
|
internal/emit
Package emit holds what every code generator in backend/ shares: which declarations are the model's own, reading directives for one target, reporting what cannot be generated, and resolving a type reference to the prelude's shapes.
|
Package emit holds what every code generator in backend/ shares: which declarations are the model's own, reading directives for one target, reporting what cannot be generated, and resolving a type reference to the prelude's shapes. |
|
internal/irtest
Package irtest builds ir.Model values by hand for backend tests, so a backend test failure is the backend's and not lowering's.
|
Package irtest builds ir.Model values by hand for backend tests, so a backend test failure is the backend's and not lowering's. |
|
jsonschema
Package jsonschema generates a JSON Schema document from a resolved model.
|
Package jsonschema generates a JSON Schema document from a resolved model. |
|
protobuf
Package protobuf generates a proto3 schema, or one under the edition an `edition` directive names, from a resolved model.
|
Package protobuf generates a proto3 schema, or one under the edition an `edition` directive names, from a resolved model. |
|
salesforce
Package salesforce generates Salesforce DX source, one file per component, from a resolved model: a custom object for each entity, and an Apex class or enum for each value, mixin, and enum.
|
Package salesforce generates Salesforce DX source, one file per component, from a resolved model: a custom object for each entity, and an Apex class or enum for each value, mixin, and enum. |
|
smithy
Package smithy generates a Smithy IDL 2.0 model from a resolved model.
|
Package smithy generates a Smithy IDL 2.0 model from a resolved model. |
|
thrift
Package thrift generates a Thrift IDL file from a resolved model.
|
Package thrift generates a Thrift IDL file from a resolved model. |
|
typescript
Package typescript generates TypeScript declarations of JSON wire types from a resolved model: interfaces and type aliases, with no runtime code.
|
Package typescript generates TypeScript declarations of JSON wire types from a resolved model: interfaces and type aliases, with no runtime code. |
|
cli
module
|
|
|
cmd
|
|
|
tdl
command
Command tdl parses and formats Type Description Language source files.
|
Command tdl parses and formats Type Description Language source files. |
|
tdl-gen-debug
command
Command tdl-gen-debug is the debug backend as a plugin.
|
Command tdl-gen-debug is the debug backend as a plugin. |
|
tdl-gen-go
command
Command tdl-gen-go is the Go backend as a plugin.
|
Command tdl-gen-go is the Go backend as a plugin. |
|
tdl-gen-graphql
command
Command tdl-gen-graphql is the GraphQL backend as a plugin.
|
Command tdl-gen-graphql is the GraphQL backend as a plugin. |
|
tdl-gen-jsonschema
command
Command tdl-gen-jsonschema is the JSON Schema backend as a plugin.
|
Command tdl-gen-jsonschema is the JSON Schema backend as a plugin. |
|
tdl-gen-protobuf
command
Command tdl-gen-protobuf is the protobuf backend as a plugin.
|
Command tdl-gen-protobuf is the protobuf backend as a plugin. |
|
tdl-gen-salesforce
command
Command tdl-gen-salesforce is the Salesforce backend as a plugin.
|
Command tdl-gen-salesforce is the Salesforce backend as a plugin. |
|
tdl-gen-smithy
command
Command tdl-gen-smithy is the Smithy backend as a plugin.
|
Command tdl-gen-smithy is the Smithy backend as a plugin. |
|
tdl-gen-thrift
command
Command tdl-gen-thrift is the Thrift backend as a plugin.
|
Command tdl-gen-thrift is the Thrift backend as a plugin. |
|
tdl-gen-typescript
command
Command tdl-gen-typescript is the TypeScript backend as a plugin.
|
Command tdl-gen-typescript is the TypeScript backend as a plugin. |
|
e2e
module
|
|
|
gen
module
|
|
|
internal
|
|
|
cli
Package cli wires up the tdl command-line interface.
|
Package cli wires up the tdl command-line interface. |
|
ebnf
Package ebnf lints the grammar files under docs/, which are Wirth syntax notation as read by golang.org/x/exp/ebnf.
|
Package ebnf lints the grammar files under docs/, which are Wirth syntax notation as read by golang.org/x/exp/ebnf. |
|
gen
Package gen is the compiler side of the plugin protocol: which backends exist, how a request is built, and what happens to the files that come back.
|
Package gen is the compiler side of the plugin protocol: which backends exist, how a request is built, and what happens to the files that come back. |
|
lsp
Package lsp serves the Language Server Protocol for TDL: diagnostics, go to definition, hover, document symbols, and formatting.
|
Package lsp serves the Language Server Protocol for TDL: diagnostics, go to definition, hover, document symbols, and formatting. |
|
sema
Package sema lowers a parse tree to the resolved semantic model in the ir package: it resolves names, lowers sugar to prelude types, and interns type references.
|
Package sema lowers a parse tree to the resolved semantic model in the ir package: it resolves names, lowers sugar to prelude types, and interns type references. |
|
textmate
Package textmate turns the annotated grammar into a TextMate grammar for VS Code.
|
Package textmate turns the annotated grammar into a TextMate grammar for VS Code. |
|
treesitter
Package treesitter turns the grammar internal/ebnf read into a tree-sitter grammar.js.
|
Package treesitter turns the grammar internal/ebnf read into a tree-sitter grammar.js. |
|
Package ir is the resolved semantic model backends consume.
|
Package ir is the resolved semantic model backends consume. |
|
Package lex implements the TDL lexer, turning source text into a stream of tokens for the parser.
|
Package lex implements the TDL lexer, turning source text into a stream of tokens for the parser. |
|
Package parser is a recursive-descent parser turning TDL source into an ast.File.
|
Package parser is a recursive-descent parser turning TDL source into an ast.File. |
|
pkg
module
|
|
|
Package plugin is the wire protocol a TDL backend speaks, and the SDK for writing one.
|
Package plugin is the wire protocol a TDL backend speaks, and the SDK for writing one. |
|
Package prelude embeds the standard prelude, the TDL source declaring every type, including `List` and `Option`, that sugar such as `[T]` and `T?` names.
|
Package prelude embeds the standard prelude, the TDL source declaring every type, including `List` and `Option`, that sugar such as `[T]` and `T?` names. |
|
tools
|
|
|
textmate
command
Command textmate derives the VS Code TextMate grammar from docs/grammar.ebnf.
|
Command textmate derives the VS Code TextMate grammar from docs/grammar.ebnf. |
|
treesitter
command
Command treesitter derives tree-sitter/grammar.js from docs/grammar.ebnf.
|
Command treesitter derives tree-sitter/grammar.js from docs/grammar.ebnf. |
Click to show internal directories.
Click to hide internal directories.