Discriminated Unions
Constructors
Constructors |
Description |
---|---|
Union(name: string) |
Creates a new union with the specified name. |
Properties
Properties |
Description |
---|---|
members() |
Sets the members of the union. |
xmlDocs(xmlDocs: string list) |
Adds XML documentation to the union. |
typeParams(typeParams: string list) |
Adds type parameters to the union. |
attributes(attributes: WidgetBuilder |
Adds attributes to the union. |
attributes(attributes: string list) |
Adds attributes to the union. |
attribute(attribute: WidgetBuilder |
Adds an attribute to the union. |
attribute(attribute: string) |
Adds an attribute to the union. |
toPrivate() |
Makes the value binding private. |
toInternal() |
Makes the value binding internal. |
toPublic() |
Makes the value binding public. |
Usage
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fabulous.AST.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.FCS.dll"
open Fabulous.AST
open Fantomas.Core
open type Fabulous.AST.Ast
Oak() {
AnonymousModule() {
(Union("Colors") {
UnionCase("Red")
UnionCase("Green")
UnionCase("Blue")
UnionCase("Yellow")
})
.attribute(Attribute "AutoOpen")
.xmlDocs([ "This is a union type" ])
.toPrivate()
.members () {
Property("CurrentColor", ConstantExpr(String "Red")).toStatic ()
Method(
"this.GetColor",
ParameterPat("c", "Colors"),
MatchExpr(
"c",
[ MatchClauseExpr("Red", String "Red")
MatchClauseExpr(NamedPat("Green"), String "Green")
MatchClauseExpr("Blue", String "Blue")
MatchClauseExpr(NamedPat("Yellow"), ConstantExpr(String "Yellow")) ]
)
)
}
(Union("Colors2") {
UnionCase("Red", [ Field("a", LongIdent("string")); Field("b", LongIdent "'other") ])
UnionCase("Green")
UnionCase("Blue")
UnionCase("Yellow")
})
.typeParams(PostfixList([ "'other" ]))
.members () {
Property("Name", ConstantExpr("name")).toStatic ()
}
}
}
|> Gen.mkOak
|> CodeFormatter.FormatOakAsync
|> Async.RunSynchronously
|> printfn "%s"
Will output the following code:
/// This is a union type
[<AutoOpen>]
type Colors =
private
| Red
| Green
| Blue
| Yellow
static member CurrentColor = "Red"
member this.GetColor(c: Colors) =
match c with
| Red -> "Red"
| Green -> "Green"
| Blue -> "Blue"
| Yellow -> "Yellow"
type Colors2<'other> =
| Red of a: string * b: 'other
| Green
| Blue
| Yellow
static member Name = "name"
namespace Fabulous
namespace Fabulous.AST
namespace Fantomas
namespace Fantomas.Core
type Ast =
class end
Multiple items
static member Ast.Oak: unit -> CollectionBuilder<SyntaxOak.Oak,SyntaxOak.ModuleOrNamespaceNode>
--------------------
module Oak from Fabulous.AST
static member Ast.Oak: unit -> CollectionBuilder<SyntaxOak.Oak,SyntaxOak.ModuleOrNamespaceNode>
--------------------
module Oak from Fabulous.AST
static member Ast.AnonymousModule: unit -> CollectionBuilder<SyntaxOak.ModuleOrNamespaceNode,SyntaxOak.ModuleDecl>
Multiple items
static member Ast.Union: name: string -> CollectionBuilder<SyntaxOak.TypeDefnUnionNode,SyntaxOak.UnionCaseNode>
--------------------
module Union from Fabulous.AST
static member Ast.Union: name: string -> CollectionBuilder<SyntaxOak.TypeDefnUnionNode,SyntaxOak.UnionCaseNode>
--------------------
module Union from Fabulous.AST
Multiple items
static member Ast.UnionCase: name: string * parameters: (string * WidgetBuilder<SyntaxOak.Type>) list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameters: (string * string) list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameter: WidgetBuilder<SyntaxOak.FieldNode> -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameters: WidgetBuilder<SyntaxOak.FieldNode> list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string -> WidgetBuilder<SyntaxOak.UnionCaseNode>
--------------------
module UnionCase from Fabulous.AST
static member Ast.UnionCase: name: string * parameters: (string * WidgetBuilder<SyntaxOak.Type>) list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameters: (string * string) list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameter: WidgetBuilder<SyntaxOak.FieldNode> -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * parameters: WidgetBuilder<SyntaxOak.FieldNode> list -> WidgetBuilder<SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string -> WidgetBuilder<SyntaxOak.UnionCaseNode>
--------------------
module UnionCase from Fabulous.AST
static member Ast.Attribute: value: string * expr: string -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Property: name: string * body: string -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: string * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: string -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: string * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: string -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: identifier: string * getter: WidgetBuilder<SyntaxOak.PropertyGetSetBindingNode> * setter: WidgetBuilder<SyntaxOak.PropertyGetSetBindingNode> -> WidgetBuilder<SyntaxOak.MemberDefnPropertyGetSetNode>
(+0 other overloads)
(+0 other overloads)
static member Ast.Property: name: string * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: string -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: string * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Constant> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: string -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: name: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Property: identifier: string * getter: WidgetBuilder<SyntaxOak.PropertyGetSetBindingNode> * setter: WidgetBuilder<SyntaxOak.PropertyGetSetBindingNode> -> WidgetBuilder<SyntaxOak.MemberDefnPropertyGetSetNode>
(+0 other overloads)
static member Ast.ConstantExpr: value: string -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.ConstantExpr: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.ConstantExpr: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
Multiple items
static member Ast.String: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: value: string -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: unit -> WidgetBuilder<SyntaxOak.Type>
--------------------
module String from Fantomas.Core
--------------------
module String from Microsoft.FSharp.Core
static member Ast.String: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: value: string -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: unit -> WidgetBuilder<SyntaxOak.Type>
--------------------
module String from Fantomas.Core
--------------------
module String from Microsoft.FSharp.Core
static member Ast.Method: name: string * parameters: string * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string list * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string list * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameter: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string list * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: string list * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * bodyExpr: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameter: WidgetBuilder<SyntaxOak.Pattern> * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Method: name: string * parameters: WidgetBuilder<SyntaxOak.Pattern> list * body: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.ParameterPat: name: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Constant> * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> * pType: string -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<SyntaxOak.Pattern> * pType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.Pattern>
static member Ast.MatchExpr: value: string * clause: WidgetBuilder<SyntaxOak.MatchClauseNode> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Constant> * clause: WidgetBuilder<SyntaxOak.MatchClauseNode> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Expr> * clause: WidgetBuilder<SyntaxOak.MatchClauseNode> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: string * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Constant> * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Expr> * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Constant> * clause: WidgetBuilder<SyntaxOak.MatchClauseNode> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Expr> * clause: WidgetBuilder<SyntaxOak.MatchClauseNode> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: string * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Constant> * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<SyntaxOak.Expr> * clauses: WidgetBuilder<SyntaxOak.MatchClauseNode> list -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: string -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: string * bodyExpr: string -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * whenExpr: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: string * bodyExpr: string -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: WidgetBuilder<SyntaxOak.Constant> * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<SyntaxOak.Constant> * whenExpr: string * bodyExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.NamedPat: value: string -> WidgetBuilder<SyntaxOak.Pattern>
Multiple items
static member Ast.Field: name: string * filedType: string -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: name: string * filedType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: filedType: string -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: filedType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.FieldNode>
--------------------
module Field from Fabulous.AST
static member Ast.Field: name: string * filedType: string -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: name: string * filedType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: filedType: string -> WidgetBuilder<SyntaxOak.FieldNode>
static member Ast.Field: filedType: WidgetBuilder<SyntaxOak.Type> -> WidgetBuilder<SyntaxOak.FieldNode>
--------------------
module Field from Fabulous.AST
static member Ast.LongIdent: value: string -> WidgetBuilder<SyntaxOak.Type>
static member Ast.PostfixList: decls: string * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: string -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: WidgetBuilder<SyntaxOak.TyparDeclNode> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: string -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: WidgetBuilder<SyntaxOak.TyparDeclNode> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
module Gen
from Fabulous.AST
<summary> It takes the root of the widget tree and create the corresponding Fantomas node, and recursively creating all children nodes </summary>
<summary> It takes the root of the widget tree and create the corresponding Fantomas node, and recursively creating all children nodes </summary>
val mkOak: root: WidgetBuilder<'node> -> 'node
type CodeFormatter =
static member FormatASTAsync: ast: ParsedInput -> Async<string> + 2 overloads
static member FormatDocumentAsync: isSignature: bool * source: string -> Async<FormatResult> + 2 overloads
static member FormatOakAsync: oak: Oak -> Async<string> + 1 overload
static member FormatSelectionAsync: isSignature: bool * source: string * selection: range -> Async<string * range> + 1 overload
static member GetVersion: unit -> string
static member IsValidFSharpCodeAsync: isSignature: bool * source: string -> Async<bool>
static member MakePosition: line: int * column: int -> pos
static member MakeRange: fileName: string * startLine: int * startCol: int * endLine: int * endCol: int -> range
static member ParseAsync: isSignature: bool * source: string -> Async<(ParsedInput * string list) array>
static member ParseOakAsync: isSignature: bool * source: string -> Async<(Oak * string list) array>
...
static member CodeFormatter.FormatOakAsync: oak: SyntaxOak.Oak -> Async<string>
static member CodeFormatter.FormatOakAsync: oak: SyntaxOak.Oak * config: FormatConfig -> Async<string>
static member CodeFormatter.FormatOakAsync: oak: SyntaxOak.Oak * config: FormatConfig -> Async<string>
Multiple items
module Async from Fantomas.Core
--------------------
type Async = static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> static member CancelDefaultToken: unit -> unit static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> static member Choice: computations: Async<'T option> seq -> Async<'T option> static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> ...
--------------------
type Async<'T>
module Async from Fantomas.Core
--------------------
type Async = static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> static member CancelDefaultToken: unit -> unit static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> static member Choice: computations: Async<'T option> seq -> Async<'T option> static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> ...
--------------------
type Async<'T>
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
Multiple items
type AutoOpenAttribute = inherit Attribute new: unit -> AutoOpenAttribute + 1 overload member Path: string
--------------------
new: unit -> AutoOpenAttribute
new: path: string -> AutoOpenAttribute
type AutoOpenAttribute = inherit Attribute new: unit -> AutoOpenAttribute + 1 overload member Path: string
--------------------
new: unit -> AutoOpenAttribute
new: path: string -> AutoOpenAttribute
val this: Colors
val c: Colors
type Colors =
private | Red
| Green
| Blue
| Yellow
member GetColor: c: Colors -> string
static member CurrentColor: string
This is a union type
This is a union type
union case Colors.Red: Colors
union case Colors.Green: Colors
union case Colors.Blue: Colors
union case Colors.Yellow: Colors
argument a: string
Multiple items
val string: value: 'T -> string
--------------------
type string = System.String
val string: value: 'T -> string
--------------------
type string = System.String
argument b: 'other
'other