Documentation
¶
Index ¶
Constants ¶
View Source
const Filename = "manifest.toml"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DevelopmentStatus ¶
type DevelopmentStatus string
const ( Planning DevelopmentStatus = "planning" PreAlpha DevelopmentStatus = "pre-alpha" Alpha DevelopmentStatus = "alpha" Beta DevelopmentStatus = "beta" Stable DevelopmentStatus = "stable" Mature DevelopmentStatus = "mature" Inactive DevelopmentStatus = "inactive" )
func (DevelopmentStatus) Rank ¶ added in v1.13.0
func (s DevelopmentStatus) Rank() int
Rank is an integer indicating driver stability. Higher is better.
type Feature ¶ added in v1.12.1
type Feature string
Feature describes which level of information driver can produce.
const ( // AST is a basic feature required for the driver. Driver can parse files and return native language AST. AST Feature = "ast" // UAST feature indicates that driver properly converts AST to UAST without further annotating it. UAST Feature = "uast" // Roles feature indicates that driver annotates UAST with roles. All node types are annotated. Roles Feature = "roles" )
type InformationLoss ¶
type InformationLoss string
InformationLoss in terms of which kind of code generation would they allow.
const ( // Lossless no information loss converting code to AST and then back to code // would. code == codegen(AST(code)). Lossless InformationLoss = "lossless" // FormatingLoss only superfluous formatting information is lost (e.g. // whitespace, indentation). Code generated from the AST could be the same // as the original code after passing a code formatter. // fmt(code) == codegen(AST(code)). FormatingLoss InformationLoss = "formating-loss" // SyntacticSugarLoss there is information loss about syntactic sugar. Code // generated from the AST could be the same as the original code after // desugaring it. desugar(code) == codegen(AST(code)). SyntacticSugarLoss InformationLoss = "syntactic-sugar-loss" // CommentLoss comments are not present in the AST. CommentLoss InformationLoss = "formating-loss" )
type Manifest ¶
type Manifest struct {
Name string `toml:"name"` // human-readable name
Language string `toml:"language"`
Version string `toml:"version,omitempty"`
Build *time.Time `toml:"build,omitempty"`
Status DevelopmentStatus `toml:"status"`
InformationLoss []InformationLoss `toml:"loss"`
Documentation struct {
Description string `toml:"description,omitempty"`
Caveats string `toml:"caveats,omitempty"`
} `toml:"documentation,omitempty"`
Runtime struct {
OS OS `toml:"os"`
NativeVersion Versions `toml:"native_version"`
GoVersion string `toml:"go_version"`
} `toml:"runtime"`
Features []Feature `toml:"features"`
}
Click to show internal directories.
Click to hide internal directories.