Documentation ¶
Index ¶
- func BuildAstDoc(doc *Docs, d *AstDoc)
- func BuildModel(in *DocModel, out *Model)
- func Dedup(arr interface{}, cond func(int) string)
- func Filter(arr interface{}, cond func(int) bool)
- func GoFormatter(f *File) (err error)
- func MustParseTemplates() *template.Template
- func ParamName(s string) string
- func ReportFile(f *File)
- type AGICommand
- type AgiDocModel
- type Annotation
- type AstDoc
- type DescriptionModel
- type DocModel
- func (d *DocModel) AGIModel(in *AgiDocModel) *AGICommand
- func (d *DocModel) Description(in *DescriptionModel) string
- func (d *DocModel) ManagerEventModel(in *ManagerEventModel) *ManagerEvent
- func (d *DocModel) ManagerModel(in *ManagerActionModel) *ManagerAction
- func (*DocModel) Parameter(in *SyntaxParameterDocModel) *Parameter
- func (d *DocModel) SeeAlso(in *SeeAlsoModel) (o []*SeeAlso)
- func (d *DocModel) Synopsis(in string) string
- func (d *DocModel) Syntax(in *SyntaxDocModel) *Syntax
- type Docs
- type EnumListModel
- type EnumModel
- type Field
- type File
- type GenerateTemplate
- type Generator
- type ManagerAction
- type ManagerActionModel
- type ManagerEvent
- type ManagerEventInstanceModel
- type ManagerEventModel
- type ManagerResponseListElementModel
- type ManagerResponseModel
- type Model
- type ParaRaw
- type Parameter
- type SeeAlso
- type SeeAlsoModel
- type SeeAlsoRefModel
- type Syntax
- type SyntaxDocModel
- type SyntaxParameterDocModel
- type TemplateGenerate
- type Type
- type TypeInfo
- type VariableListModel
- type VariableListVariableModel
- type VariableListVariableValueModel
- type WriteConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildAstDoc ¶
func BuildModel ¶
func GoFormatter ¶
func MustParseTemplates ¶
func ReportFile ¶
func ReportFile(f *File)
Types ¶
type AGICommand ¶
type AGICommand struct { Name string Module string Syntax *Syntax Synopsis string Description string SeeAlso []*SeeAlso }
func (AGICommand) StructName ¶
func (a AGICommand) StructName() string
type AgiDocModel ¶
type AgiDocModel struct { Name string `xml:"name,attr" json:"name,omitempty"` Language string `xml:"language,attr" json:"language,omitempty"` Synopsis string `xml:"synopsis" json:"synopsis,omitempty"` Syntax *SyntaxDocModel `xml:"syntax" json:"syntax,omitempty"` SeeAlso *SeeAlsoModel `xml:"see-also" json:"seeAlso,omitempty"` Description *DescriptionModel `xml:"description" json:"description,omitempty"` }
type Annotation ¶
type Annotation interface {
Name() string
}
type DescriptionModel ¶
type DescriptionModel struct { //Text string `xml:",chardata"` Para []ParaRaw `xml:"para" json:"para,omitempty"` EnumList *EnumListModel `xml:"enumlist" json:"enumList,omitempty"` VariableList *VariableListModel `xml:"variablelist" json:"variableList,omitempty"` Note *struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"note"` }
type DocModel ¶
type DocModel struct { XMLName xml.Name `xml:"docs" json:"xmlName,omitempty"` Agi []*AgiDocModel `xml:"agi" json:"agi,omitempty"` Manager []*ManagerActionModel `xml:"manager" json:"manager,omitempty"` ManagerEvent []*ManagerEventModel `xml:"managerEvent" json:"managerEvent,omitempty"` }
func (*DocModel) AGIModel ¶
func (d *DocModel) AGIModel(in *AgiDocModel) *AGICommand
func (*DocModel) Description ¶
func (d *DocModel) Description(in *DescriptionModel) string
func (*DocModel) ManagerEventModel ¶
func (d *DocModel) ManagerEventModel(in *ManagerEventModel) *ManagerEvent
func (*DocModel) ManagerModel ¶
func (d *DocModel) ManagerModel(in *ManagerActionModel) *ManagerAction
func (*DocModel) Parameter ¶
func (*DocModel) Parameter(in *SyntaxParameterDocModel) *Parameter
func (*DocModel) SeeAlso ¶
func (d *DocModel) SeeAlso(in *SeeAlsoModel) (o []*SeeAlso)
func (*DocModel) Syntax ¶
func (d *DocModel) Syntax(in *SyntaxDocModel) *Syntax
type Docs ¶
type Docs struct { XMLName xml.Name `xml:"docs"` Text string `xml:",chardata"` Xi string `xml:"xi,attr"` ConfigInfo []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Synopsis string `xml:"synopsis"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Emphasis []string `xml:"emphasis"` Literal []string `xml:"literal"` Filename string `xml:"filename"` } `xml:"para"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Emphasis string `xml:"emphasis"` } `xml:"para"` } `xml:"warning"` Note struct { Text string `xml:",chardata"` Para string `xml:"para"` } `xml:"note"` Enumlist []struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"description"` ConfigFile struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` ConfigObject []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Synopsis string `xml:"synopsis"` ConfigOption []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Default string `xml:"default,attr"` Synopsis string `xml:"synopsis"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Filename []string `xml:"filename"` Replaceable []string `xml:"replaceable"` Variable string `xml:"variable"` Emphasis []string `xml:"emphasis"` Astcli string `xml:"astcli"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable string `xml:"replaceable"` Emphasis string `xml:"emphasis"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"note"` } `xml:"enum"` } `xml:"enumlist"` Note []struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Variable string `xml:"variable"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"note"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"warning"` Variablelist struct { Text string `xml:",chardata"` Variable []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Variable string `xml:"variable"` } `xml:"para"` } `xml:"variable"` } `xml:"variablelist"` Example []struct { Text string `xml:",chardata"` Title string `xml:"title,attr"` } `xml:"example"` } `xml:"description"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` } `xml:"ref"` } `xml:"see-also"` Syntax struct { Text string `xml:",chardata"` Argsep string `xml:"argsep,attr"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Para string `xml:"para"` Optionlist struct { Text string `xml:",chardata"` Option []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"option"` } `xml:"optionlist"` Argument struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Para string `xml:"para"` } `xml:"argument"` } `xml:"parameter"` } `xml:"syntax"` } `xml:"configOption"` Description struct { Text string `xml:",chardata"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Emphasis []string `xml:"emphasis"` Filename string `xml:"filename"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Emphasis string `xml:"emphasis"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"note"` } `xml:"description"` } `xml:"configObject"` } `xml:"configFile"` } `xml:"configInfo"` Manager []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Module string `xml:"module,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` Include []struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Default string `xml:"default,attr"` Para []struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` Literal []string `xml:"literal"` Variable string `xml:"variable"` Filename string `xml:"filename"` } `xml:"para"` Enumlist []struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Replaceable string `xml:"replaceable"` } `xml:"para"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"note"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"enum"` } `xml:"enumlist"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Variable []string `xml:"variable"` } `xml:"para"` } `xml:"warning"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"parameter"` } `xml:"syntax"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Variable string `xml:"variable"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` } `xml:"para"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` } `xml:"para"` } `xml:"note"` Variablelist struct { Text string `xml:",chardata"` Variable struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"variable"` } `xml:"variablelist"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"warning"` } `xml:"description"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` Module string `xml:"module,attr"` } `xml:"ref"` } `xml:"see-also"` Responses struct { Text string `xml:",chardata"` ListElements struct { Text string `xml:",chardata"` Include []struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` ManagerEvent struct { Text string `xml:",chardata"` Language string `xml:"language,attr"` Name string `xml:"name,attr"` ManagerEventInstance struct { Text string `xml:",chardata"` Class string `xml:"class,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` ChannelSnapshot string `xml:"channel_snapshot"` } `xml:"syntax"` } `xml:"managerEventInstance"` } `xml:"managerEvent"` } `xml:"list-elements"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` ManagerEvent struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` ManagerEventInstance struct { Text string `xml:",chardata"` Class string `xml:"class,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"parameter"` BridgeSnapshot string `xml:"bridge_snapshot"` } `xml:"syntax"` } `xml:"managerEventInstance"` } `xml:"managerEvent"` } `xml:"responses"` } `xml:"manager"` Function []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Module string `xml:"module,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` Argsep string `xml:"argsep,attr"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Argsep string `xml:"argsep,attr"` Multiple string `xml:"multiple,attr"` Default string `xml:"default,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Filename string `xml:"filename"` Emphasis string `xml:"emphasis"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` Literal []string `xml:"literal"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Filename string `xml:"filename"` Emphasis []string `xml:"emphasis"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Warning struct { Text string `xml:",chardata"` Para string `xml:"para"` } `xml:"warning"` Note struct { Text string `xml:",chardata"` Para string `xml:"para"` } `xml:"note"` } `xml:"enum"` ConfigOptionToEnum struct { Text string `xml:",chardata"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"configOptionToEnum"` } `xml:"enumlist"` Optionlist struct { Text string `xml:",chardata"` Option []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` } `xml:"para"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Para string `xml:"para"` } `xml:"argument"` } `xml:"option"` } `xml:"optionlist"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` } `xml:"argument"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Variable []string `xml:"variable"` } `xml:"para"` } `xml:"warning"` Note struct { Text string `xml:",chardata"` Para string `xml:"para"` } `xml:"note"` } `xml:"parameter"` } `xml:"syntax"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` Literal []string `xml:"literal"` Variable []string `xml:"variable"` Filename []string `xml:"filename"` Emphasis string `xml:"emphasis"` } `xml:"para"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Emphasis []string `xml:"emphasis"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"warning"` Example []struct { Text string `xml:",chardata"` Title string `xml:"title,attr"` Language string `xml:"language,attr"` } `xml:"example"` Note []struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Emphasis []string `xml:"emphasis"` } `xml:"para"` } `xml:"note"` Enumlist []struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` Variablelist struct { Text string `xml:",chardata"` Variable struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Value []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` } `xml:"value"` Para string `xml:"para"` } `xml:"variable"` } `xml:"variablelist"` } `xml:"description"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` Module string `xml:"module,attr"` } `xml:"ref"` } `xml:"see-also"` } `xml:"function"` Info []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Tech string `xml:"tech,attr"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Replaceable string `xml:"replaceable"` Literal []string `xml:"literal"` } `xml:"para"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Para struct { Text string `xml:",chardata"` Replaceable string `xml:"replaceable"` Literal string `xml:"literal"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"note"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"parameter"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"enum"` } `xml:"enumlist"` Example struct { Text string `xml:",chardata"` Title string `xml:"title,attr"` } `xml:"example"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` } `xml:"para"` } `xml:"info"` Application []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Module string `xml:"module,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` Argsep string `xml:"argsep,attr"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Argsep string `xml:"argsep,attr"` Multiple string `xml:"multiple,attr"` Hasparams string `xml:"hasparams,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Directory string `xml:"directory"` Filename string `xml:"filename"` Variable string `xml:"variable"` Replaceable []string `xml:"replaceable"` Emphasis string `xml:"emphasis"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Optionlist struct { Text string `xml:",chardata"` Option []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Implies string `xml:"implies,attr"` Argsep string `xml:"argsep,attr"` Hasparams string `xml:"hasparams,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Variable []string `xml:"variable"` Emphasis []string `xml:"emphasis"` Filename string `xml:"filename"` Directory string `xml:"directory"` } `xml:"para"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Hasparams string `xml:"hasparams,attr"` Argsep string `xml:"argsep,attr"` Multiple string `xml:"multiple,attr"` Para []struct { Text string `xml:",chardata"` Replaceable string `xml:"replaceable"` Variable string `xml:"variable"` Literal []string `xml:"literal"` Filename string `xml:"filename"` Emphasis string `xml:"emphasis"` } `xml:"para"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Multiple string `xml:"multiple,attr"` Required string `xml:"required,attr"` } `xml:"argument"` } `xml:"argument"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Variable []string `xml:"variable"` } `xml:"para"` } `xml:"warning"` Note []struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable string `xml:"replaceable"` Variable string `xml:"variable"` } `xml:"para"` } `xml:"note"` Variablelist struct { Text string `xml:",chardata"` Variable []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` } `xml:"para"` Value []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Default string `xml:"default,attr"` } `xml:"value"` } `xml:"variable"` } `xml:"variablelist"` } `xml:"option"` } `xml:"optionlist"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Argsep string `xml:"argsep,attr"` Required string `xml:"required,attr"` Multiple string `xml:"multiple,attr"` Hasparams string `xml:"hasparams,attr"` Argument []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Multiple string `xml:"multiple,attr"` } `xml:"argument"` Para []struct { Text string `xml:",chardata"` Literal string `xml:"literal"` Replaceable []string `xml:"replaceable"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"argument"` Warning struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Variable []string `xml:"variable"` } `xml:"para"` } `xml:"warning"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` Emphasis string `xml:"emphasis"` Literal string `xml:"literal"` } `xml:"para"` } `xml:"note"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"parameter"` Include []struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"syntax"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Replaceable []string `xml:"replaceable"` Literal []string `xml:"literal"` Emphasis string `xml:"emphasis"` Filename []string `xml:"filename"` Variable []string `xml:"variable"` Directory string `xml:"directory"` Astcli string `xml:"astcli"` } `xml:"para"` Note []struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Variable []string `xml:"variable"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"note"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable string `xml:"replaceable"` Directory string `xml:"directory"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Variablelist []struct { Text string `xml:",chardata"` Variable []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Emphasis string `xml:"emphasis"` Variable string `xml:"variable"` } `xml:"para"` Value []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` } `xml:"value"` } `xml:"variable"` } `xml:"variablelist"` Example []struct { Text string `xml:",chardata"` Title string `xml:"title,attr"` } `xml:"example"` Warning []struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Variable []string `xml:"variable"` } `xml:"para"` } `xml:"warning"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"description"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` Module string `xml:"module,attr"` } `xml:"ref"` } `xml:"see-also"` } `xml:"application"` ManagerEvent []struct { Text string `xml:",chardata"` Language string `xml:"language,attr"` Name string `xml:"name,attr"` ManagerEventInstance struct { Text string `xml:",chardata"` Class string `xml:"class,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` ChannelSnapshot []struct { Text string `xml:",chardata"` Prefix string `xml:"prefix,attr"` } `xml:"channel_snapshot"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Multiple string `xml:"multiple,attr"` Para []struct { Text string `xml:",chardata"` Variable string `xml:"variable"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` Include struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` } `xml:"para"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Filename string `xml:"filename"` Replaceable string `xml:"replaceable"` } `xml:"para"` } `xml:"note"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para []struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Filename string `xml:"filename"` Literal []string `xml:"literal"` Replaceable string `xml:"replaceable"` } `xml:"para"` } `xml:"note"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"parameter"` Include []struct { Text string `xml:",chardata"` Xpointer string `xml:"xpointer,attr"` } `xml:"include"` BridgeSnapshot []struct { Text string `xml:",chardata"` Prefix string `xml:"prefix,attr"` } `xml:"bridge_snapshot"` } `xml:"syntax"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` } `xml:"ref"` } `xml:"see-also"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable string `xml:"replaceable"` Filename string `xml:"filename"` } `xml:"para"` Note struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Filename string `xml:"filename"` } `xml:"para"` } `xml:"note"` } `xml:"description"` } `xml:"managerEventInstance"` } `xml:"managerEvent"` Agi []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Language string `xml:"language,attr"` Synopsis string `xml:"synopsis"` Syntax struct { Text string `xml:",chardata"` Parameter []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Required string `xml:"required,attr"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` Replaceable []string `xml:"replaceable"` Filename string `xml:"filename"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Parameter struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Literal string `xml:"literal,attr"` Required string `xml:"required,attr"` } `xml:"parameter"` } `xml:"enum"` } `xml:"enumlist"` } `xml:"parameter"` } `xml:"syntax"` Description struct { Text string `xml:",chardata"` Para []struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Replaceable []string `xml:"replaceable"` } `xml:"para"` Enumlist struct { Text string `xml:",chardata"` Enum []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para string `xml:"para"` } `xml:"enum"` } `xml:"enumlist"` Variablelist struct { Text string `xml:",chardata"` Variable []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Para struct { Text string `xml:",chardata"` Literal string `xml:"literal"` } `xml:"para"` Value []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` } `xml:"value"` } `xml:"variable"` } `xml:"variablelist"` } `xml:"description"` SeeAlso struct { Text string `xml:",chardata"` Ref []struct { Text string `xml:",chardata"` Type string `xml:"type,attr"` } `xml:"ref"` } `xml:"see-also"` } `xml:"agi"` }
type EnumListModel ¶
type EnumListModel struct { //Text string `xml:",chardata"` Enum []EnumModel `xml:"enum" json:"enum,omitempty"` }
type GenerateTemplate ¶
type GenerateTemplate struct { Name string // template name. DeriveSource func(ctx context.Context, rootSource interface{}) interface{} Skip func(ctx context.Context, source interface{}) bool // skip condition (storage constraints or gated by a feature-flag). Format func(ctx context.Context, source interface{}) string // file name format. FormatName string // for single }
type Generator ¶
type Generator struct { Files []File Template *template.Template Templates []TemplateGenerate Debug bool Formatter func(file *File) error Loader func() error }
func NewAGIGenerator ¶
func NewAGIGenerator() *Generator
func NewAMIGenerator ¶
func NewAMIGenerator() *Generator
func (*Generator) Write ¶
func (ge *Generator) Write(s WriteConfig) error
type ManagerAction ¶
type ManagerAction struct { Name string Synopsis string Syntax *Syntax Description string Response *ManagerEvent SeeAlso []*SeeAlso Responses []*ManagerEvent }
func (ManagerAction) StructName ¶
func (m ManagerAction) StructName() string
type ManagerActionModel ¶
type ManagerActionModel struct { Name string `xml:"name,attr" json:"name,omitempty"` Language string `xml:"language,attr" json:"language,omitempty"` Synopsis string `xml:"synopsis" json:"synopsis,omitempty"` Syntax *SyntaxDocModel `xml:"syntax" json:"syntax,omitempty"` SeeAlso *SeeAlsoModel `xml:"see-also" json:"seeAlso,omitempty"` Description *DescriptionModel `xml:"description" json:"description,omitempty"` Responses ManagerResponseModel `xml:"responses" json:"responses,omitempty"` }
type ManagerEvent ¶
func (ManagerEvent) StructName ¶
func (m ManagerEvent) StructName() string
type ManagerEventInstanceModel ¶
type ManagerEventInstanceModel struct { Text string `xml:",chardata"` Class string `xml:"class,attr"` Synopsis string `xml:"synopsis"` Language string `xml:"language,attr" json:"language,omitempty"` Syntax *SyntaxDocModel `xml:"syntax" json:"syntax,omitempty"` SeeAlso *SeeAlsoModel `xml:"see-also" json:"seeAlso,omitempty"` Description *DescriptionModel `xml:"description" json:"description,omitempty"` }
type ManagerEventModel ¶
type ManagerEventModel struct { Name string `xml:"name,attr" json:"name,omitempty"` Instance ManagerEventInstanceModel `xml:"managerEventInstance"` }
type ManagerResponseListElementModel ¶
type ManagerResponseListElementModel struct { Text string `xml:",chardata" json:"text,omitempty"` ManagerEvent []*ManagerEventModel `xml:"managerEvent" json:"managerEvent,omitempty"` }
type ManagerResponseModel ¶
type ManagerResponseModel struct { Text string `xml:",chardata" json:"text,omitempty"` ListElements *ManagerResponseListElementModel `xml:"list-elements" json:"listElements,omitempty"` ManagerEvent *ManagerEventModel `xml:"managerEvent" json:"managerEvent,omitempty"` }
func (ManagerResponseModel) Events ¶
func (m ManagerResponseModel) Events() []*ManagerEventModel
type Model ¶
type Model struct { AGICommands []*AGICommand Actions []*ManagerAction Events []*ManagerEvent }
type ParaRaw ¶
type ParaRaw struct {
Data string `xml:",innerxml" json:"data,omitempty"`
}
ParaRaw contain ELEMENT astcli|literal|emphasis|filename|directory|replaceable|variable
type SeeAlsoModel ¶
type SeeAlsoModel struct {
Ref []SeeAlsoRefModel `json:"ref,omitempty"`
}
type SeeAlsoRefModel ¶
type Syntax ¶
func (Syntax) HasRequiredParam ¶
type SyntaxDocModel ¶
type SyntaxDocModel struct { Parameter []SyntaxParameterDocModel `xml:"parameter" json:"parameter,omitempty"` ChannelSnapshot []struct { Text string `xml:",chardata"` Prefix string `xml:"prefix,attr"` } `xml:"channel_snapshot"` BridgeSnapshot []struct { Text string `xml:",chardata"` Prefix string `xml:"prefix,attr"` } `xml:"bridge_snapshot"` }
type SyntaxParameterDocModel ¶
type SyntaxParameterDocModel struct { Name string `xml:"name,attr" json:"name,omitempty"` Required bool `xml:"required,attr" json:"required,omitempty"` Para ParaRaw `xml:"para" json:"para,omitempty"` EnumList *EnumListModel `xml:"enumlist" json:"enumList,omitempty"` Note *struct { Text string `xml:",chardata"` Para struct { Text string `xml:",chardata"` Literal []string `xml:"literal"` Filename string `xml:"filename"` Replaceable string `xml:"replaceable"` } `xml:"para"` } `xml:"note"` }
type TemplateGenerate ¶
type VariableListModel ¶
type VariableListModel struct {
Variable []VariableListVariableModel `xml:"variable" json:"variable,omitempty"`
}
type VariableListVariableModel ¶
type VariableListVariableModel struct { Name string `xml:"name,attr" json:"name,omitempty"` Para ParaRaw `xml:"para" json:"para,omitempty"` Value []VariableListVariableValueModel `xml:"value" json:"value,omitempty"` }
type WriteConfig ¶
Click to show internal directories.
Click to hide internal directories.