Documentation ¶
Overview ¶
Package ast declares types representing a JavaScript AST.
Warning ¶
The parser and AST interfaces are still works-in-progress (particularly where node types are concerned) and may change in the future.
Index ¶
- type ArrayLiteral
- type ArrayPattern
- type ArrowFunctionLiteral
- type AssignExpression
- type AwaitExpression
- type BadExpression
- type BadStatement
- type BinaryExpression
- type Binding
- type BindingTarget
- type BlockStatement
- type BooleanLiteral
- type BracketExpression
- type BranchStatement
- type CallExpression
- type CaseStatement
- type CatchStatement
- type ClassDeclaration
- type ClassElement
- type ClassLiteral
- type ClassStaticBlock
- type ConciseBody
- type ConditionalExpression
- type DebuggerStatement
- type DoWhileStatement
- type DotExpression
- type EmptyStatement
- type Expression
- type ExpressionBody
- type ExpressionStatement
- type FieldDefinition
- type ForDeclaration
- type ForInStatement
- type ForInto
- type ForIntoExpression
- type ForIntoVar
- type ForLoopInitializer
- type ForLoopInitializerExpression
- type ForLoopInitializerLexicalDecl
- type ForLoopInitializerVarDeclList
- type ForOfStatement
- type ForStatement
- type FunctionDeclaration
- type FunctionLiteral
- type Identifier
- type IfStatement
- type LabelledStatement
- type LexicalDeclaration
- type MetaProperty
- type MethodDefinition
- type NewExpression
- type Node
- type NullLiteral
- type NumberLiteral
- type ObjectLiteral
- type ObjectPattern
- type Optional
- type OptionalChain
- type ParameterList
- type Pattern
- type PrivateDotExpression
- type PrivateIdentifier
- type Program
- type Property
- type PropertyKeyed
- type PropertyKind
- type PropertyShort
- type RegExpLiteral
- type ReturnStatement
- type SequenceExpression
- type SpreadElement
- type Statement
- type StringLiteral
- type SuperExpression
- type SwitchStatement
- type TemplateElement
- type TemplateLiteral
- type ThisExpression
- type ThrowStatement
- type TryStatement
- type UnaryExpression
- type VariableDeclaration
- type VariableStatement
- type WhileStatement
- type WithStatement
- type YieldExpression
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArrayLiteral ¶
type ArrayLiteral struct { LeftBracket file.Idx RightBracket file.Idx Value []Expression }
func (*ArrayLiteral) Idx0 ¶
func (self *ArrayLiteral) Idx0() file.Idx
func (*ArrayLiteral) Idx1 ¶
func (self *ArrayLiteral) Idx1() file.Idx
type ArrayPattern ¶
type ArrayPattern struct { LeftBracket file.Idx RightBracket file.Idx Elements []Expression Rest Expression }
func (*ArrayPattern) Idx0 ¶
func (self *ArrayPattern) Idx0() file.Idx
func (*ArrayPattern) Idx1 ¶
func (self *ArrayPattern) Idx1() file.Idx
type ArrowFunctionLiteral ¶
type ArrowFunctionLiteral struct { Start file.Idx ParameterList *ParameterList Body ConciseBody Source string DeclarationList []*VariableDeclaration Async bool }
func (*ArrowFunctionLiteral) Idx0 ¶
func (self *ArrowFunctionLiteral) Idx0() file.Idx
func (*ArrowFunctionLiteral) Idx1 ¶
func (self *ArrowFunctionLiteral) Idx1() file.Idx
type AssignExpression ¶
type AssignExpression struct { Operator token.Token Left Expression Right Expression }
func (*AssignExpression) Idx0 ¶
func (self *AssignExpression) Idx0() file.Idx
func (*AssignExpression) Idx1 ¶
func (self *AssignExpression) Idx1() file.Idx
type AwaitExpression ¶
type AwaitExpression struct { Await file.Idx Argument Expression }
func (*AwaitExpression) Idx0 ¶
func (self *AwaitExpression) Idx0() file.Idx
func (*AwaitExpression) Idx1 ¶
func (self *AwaitExpression) Idx1() file.Idx
type BadExpression ¶
func (*BadExpression) Idx0 ¶
func (self *BadExpression) Idx0() file.Idx
func (*BadExpression) Idx1 ¶
func (self *BadExpression) Idx1() file.Idx
type BadStatement ¶
func (*BadStatement) Idx0 ¶
func (self *BadStatement) Idx0() file.Idx
func (*BadStatement) Idx1 ¶
func (self *BadStatement) Idx1() file.Idx
type BinaryExpression ¶
type BinaryExpression struct { Operator token.Token Left Expression Right Expression Comparison bool }
func (*BinaryExpression) Idx0 ¶
func (self *BinaryExpression) Idx0() file.Idx
func (*BinaryExpression) Idx1 ¶
func (self *BinaryExpression) Idx1() file.Idx
type Binding ¶
type Binding struct { Target BindingTarget Initializer Expression }
type BindingTarget ¶
type BindingTarget interface { Expression // contains filtered or unexported methods }
type BlockStatement ¶
func (*BlockStatement) Idx0 ¶
func (self *BlockStatement) Idx0() file.Idx
func (*BlockStatement) Idx1 ¶
func (self *BlockStatement) Idx1() file.Idx
type BooleanLiteral ¶
func (*BooleanLiteral) Idx0 ¶
func (self *BooleanLiteral) Idx0() file.Idx
func (*BooleanLiteral) Idx1 ¶
func (self *BooleanLiteral) Idx1() file.Idx
type BracketExpression ¶
type BracketExpression struct { Left Expression Member Expression LeftBracket file.Idx RightBracket file.Idx }
func (*BracketExpression) Idx0 ¶
func (self *BracketExpression) Idx0() file.Idx
func (*BracketExpression) Idx1 ¶
func (self *BracketExpression) Idx1() file.Idx
type BranchStatement ¶
type BranchStatement struct { Idx file.Idx Token token.Token Label *Identifier }
func (*BranchStatement) Idx0 ¶
func (self *BranchStatement) Idx0() file.Idx
func (*BranchStatement) Idx1 ¶
func (self *BranchStatement) Idx1() file.Idx
type CallExpression ¶
type CallExpression struct { Callee Expression LeftParenthesis file.Idx ArgumentList []Expression RightParenthesis file.Idx }
func (*CallExpression) Idx0 ¶
func (self *CallExpression) Idx0() file.Idx
func (*CallExpression) Idx1 ¶
func (self *CallExpression) Idx1() file.Idx
type CaseStatement ¶
type CaseStatement struct { Case file.Idx Test Expression Consequent []Statement }
func (*CaseStatement) Idx0 ¶
func (self *CaseStatement) Idx0() file.Idx
func (*CaseStatement) Idx1 ¶
func (self *CaseStatement) Idx1() file.Idx
type CatchStatement ¶
type CatchStatement struct { Catch file.Idx Parameter BindingTarget Body *BlockStatement }
func (*CatchStatement) Idx0 ¶
func (self *CatchStatement) Idx0() file.Idx
func (*CatchStatement) Idx1 ¶
func (self *CatchStatement) Idx1() file.Idx
type ClassDeclaration ¶
type ClassDeclaration struct {
Class *ClassLiteral
}
func (*ClassDeclaration) Idx0 ¶
func (self *ClassDeclaration) Idx0() file.Idx
func (*ClassDeclaration) Idx1 ¶
func (self *ClassDeclaration) Idx1() file.Idx
type ClassLiteral ¶
type ClassLiteral struct { Class file.Idx RightBrace file.Idx Name *Identifier SuperClass Expression Body []ClassElement Source string }
func (*ClassLiteral) Idx0 ¶
func (self *ClassLiteral) Idx0() file.Idx
func (*ClassLiteral) Idx1 ¶
func (self *ClassLiteral) Idx1() file.Idx
type ClassStaticBlock ¶
type ClassStaticBlock struct { Static file.Idx Block *BlockStatement Source string DeclarationList []*VariableDeclaration }
func (*ClassStaticBlock) Idx0 ¶
func (self *ClassStaticBlock) Idx0() file.Idx
func (*ClassStaticBlock) Idx1 ¶
func (self *ClassStaticBlock) Idx1() file.Idx
type ConditionalExpression ¶
type ConditionalExpression struct { Test Expression Consequent Expression Alternate Expression }
func (*ConditionalExpression) Idx0 ¶
func (self *ConditionalExpression) Idx0() file.Idx
func (*ConditionalExpression) Idx1 ¶
func (self *ConditionalExpression) Idx1() file.Idx
type DebuggerStatement ¶
func (*DebuggerStatement) Idx0 ¶
func (self *DebuggerStatement) Idx0() file.Idx
func (*DebuggerStatement) Idx1 ¶
func (self *DebuggerStatement) Idx1() file.Idx
type DoWhileStatement ¶
type DoWhileStatement struct { Do file.Idx Test Expression Body Statement RightParenthesis file.Idx }
func (*DoWhileStatement) Idx0 ¶
func (self *DoWhileStatement) Idx0() file.Idx
func (*DoWhileStatement) Idx1 ¶
func (self *DoWhileStatement) Idx1() file.Idx
type DotExpression ¶
type DotExpression struct { Left Expression Identifier Identifier }
func (*DotExpression) Idx0 ¶
func (self *DotExpression) Idx0() file.Idx
func (*DotExpression) Idx1 ¶
func (self *DotExpression) Idx1() file.Idx
type EmptyStatement ¶
func (*EmptyStatement) Idx0 ¶
func (self *EmptyStatement) Idx0() file.Idx
func (*EmptyStatement) Idx1 ¶
func (self *EmptyStatement) Idx1() file.Idx
type Expression ¶
type Expression interface { Node // contains filtered or unexported methods }
All expression nodes implement the Expression interface.
type ExpressionBody ¶
type ExpressionBody struct {
Expression Expression
}
func (*ExpressionBody) Idx0 ¶
func (self *ExpressionBody) Idx0() file.Idx
func (*ExpressionBody) Idx1 ¶
func (self *ExpressionBody) Idx1() file.Idx
type ExpressionStatement ¶
type ExpressionStatement struct {
Expression Expression
}
func (*ExpressionStatement) Idx0 ¶
func (self *ExpressionStatement) Idx0() file.Idx
func (*ExpressionStatement) Idx1 ¶
func (self *ExpressionStatement) Idx1() file.Idx
type FieldDefinition ¶
type FieldDefinition struct { Idx file.Idx Key Expression Initializer Expression Computed bool Static bool }
func (*FieldDefinition) Idx0 ¶
func (self *FieldDefinition) Idx0() file.Idx
func (*FieldDefinition) Idx1 ¶
func (self *FieldDefinition) Idx1() file.Idx
type ForDeclaration ¶
type ForDeclaration struct { Idx file.Idx IsConst bool Target BindingTarget }
func (*ForDeclaration) Idx0 ¶
func (self *ForDeclaration) Idx0() file.Idx
func (*ForDeclaration) Idx1 ¶
func (self *ForDeclaration) Idx1() file.Idx
type ForInStatement ¶
type ForInStatement struct { For file.Idx Into ForInto Source Expression Body Statement }
func (*ForInStatement) Idx0 ¶
func (self *ForInStatement) Idx0() file.Idx
func (*ForInStatement) Idx1 ¶
func (self *ForInStatement) Idx1() file.Idx
type ForIntoExpression ¶
type ForIntoExpression struct {
Expression Expression
}
func (*ForIntoExpression) Idx0 ¶
func (self *ForIntoExpression) Idx0() file.Idx
func (*ForIntoExpression) Idx1 ¶
func (self *ForIntoExpression) Idx1() file.Idx
type ForIntoVar ¶
type ForIntoVar struct {
Binding *Binding
}
func (*ForIntoVar) Idx0 ¶
func (self *ForIntoVar) Idx0() file.Idx
func (*ForIntoVar) Idx1 ¶
func (self *ForIntoVar) Idx1() file.Idx
type ForLoopInitializer ¶
type ForLoopInitializer interface { Node // contains filtered or unexported methods }
type ForLoopInitializerExpression ¶
type ForLoopInitializerExpression struct {
Expression Expression
}
func (*ForLoopInitializerExpression) Idx0 ¶
func (self *ForLoopInitializerExpression) Idx0() file.Idx
func (*ForLoopInitializerExpression) Idx1 ¶
func (self *ForLoopInitializerExpression) Idx1() file.Idx
type ForLoopInitializerLexicalDecl ¶
type ForLoopInitializerLexicalDecl struct {
LexicalDeclaration LexicalDeclaration
}
func (*ForLoopInitializerLexicalDecl) Idx0 ¶
func (self *ForLoopInitializerLexicalDecl) Idx0() file.Idx
func (*ForLoopInitializerLexicalDecl) Idx1 ¶
func (self *ForLoopInitializerLexicalDecl) Idx1() file.Idx
type ForLoopInitializerVarDeclList ¶
func (*ForLoopInitializerVarDeclList) Idx0 ¶
func (self *ForLoopInitializerVarDeclList) Idx0() file.Idx
func (*ForLoopInitializerVarDeclList) Idx1 ¶
func (self *ForLoopInitializerVarDeclList) Idx1() file.Idx
type ForOfStatement ¶
type ForOfStatement struct { For file.Idx Into ForInto Source Expression Body Statement }
func (*ForOfStatement) Idx0 ¶
func (self *ForOfStatement) Idx0() file.Idx
func (*ForOfStatement) Idx1 ¶
func (self *ForOfStatement) Idx1() file.Idx
type ForStatement ¶
type ForStatement struct { For file.Idx Initializer ForLoopInitializer Update Expression Test Expression Body Statement }
func (*ForStatement) Idx0 ¶
func (self *ForStatement) Idx0() file.Idx
func (*ForStatement) Idx1 ¶
func (self *ForStatement) Idx1() file.Idx
type FunctionDeclaration ¶
type FunctionDeclaration struct {
Function *FunctionLiteral
}
func (*FunctionDeclaration) Idx0 ¶
func (self *FunctionDeclaration) Idx0() file.Idx
func (*FunctionDeclaration) Idx1 ¶
func (self *FunctionDeclaration) Idx1() file.Idx
type FunctionLiteral ¶
type FunctionLiteral struct { Function file.Idx Name *Identifier ParameterList *ParameterList Body *BlockStatement Source string DeclarationList []*VariableDeclaration Async, Generator bool }
func (*FunctionLiteral) Idx0 ¶
func (self *FunctionLiteral) Idx0() file.Idx
func (*FunctionLiteral) Idx1 ¶
func (self *FunctionLiteral) Idx1() file.Idx
type Identifier ¶
func (*Identifier) Idx0 ¶
func (self *Identifier) Idx0() file.Idx
func (*Identifier) Idx1 ¶
func (self *Identifier) Idx1() file.Idx
type IfStatement ¶
type IfStatement struct { If file.Idx Test Expression Consequent Statement Alternate Statement }
func (*IfStatement) Idx0 ¶
func (self *IfStatement) Idx0() file.Idx
func (*IfStatement) Idx1 ¶
func (self *IfStatement) Idx1() file.Idx
type LabelledStatement ¶
type LabelledStatement struct { Label *Identifier Colon file.Idx Statement Statement }
func (*LabelledStatement) Idx0 ¶
func (self *LabelledStatement) Idx0() file.Idx
func (*LabelledStatement) Idx1 ¶
func (self *LabelledStatement) Idx1() file.Idx
type LexicalDeclaration ¶
func (*LexicalDeclaration) Idx0 ¶
func (self *LexicalDeclaration) Idx0() file.Idx
func (*LexicalDeclaration) Idx1 ¶
func (self *LexicalDeclaration) Idx1() file.Idx
type MetaProperty ¶
type MetaProperty struct {
Meta, Property *Identifier
Idx file.Idx
}
func (*MetaProperty) Idx0 ¶
func (self *MetaProperty) Idx0() file.Idx
func (*MetaProperty) Idx1 ¶
func (self *MetaProperty) Idx1() file.Idx
type MethodDefinition ¶
type MethodDefinition struct { Idx file.Idx Key Expression Kind PropertyKind // "method", "get" or "set" Body *FunctionLiteral Computed bool Static bool }
func (*MethodDefinition) Idx0 ¶
func (self *MethodDefinition) Idx0() file.Idx
func (*MethodDefinition) Idx1 ¶
func (self *MethodDefinition) Idx1() file.Idx
type NewExpression ¶
type NewExpression struct { New file.Idx Callee Expression LeftParenthesis file.Idx ArgumentList []Expression RightParenthesis file.Idx }
func (*NewExpression) Idx0 ¶
func (self *NewExpression) Idx0() file.Idx
func (*NewExpression) Idx1 ¶
func (self *NewExpression) Idx1() file.Idx
type Node ¶
type Node interface { Idx0() file.Idx // The index of the first character belonging to the node Idx1() file.Idx // The index of the first character immediately after the node }
All nodes implement the Node interface.
type NullLiteral ¶
func (*NullLiteral) Idx0 ¶
func (self *NullLiteral) Idx0() file.Idx
func (*NullLiteral) Idx1 ¶
func (self *NullLiteral) Idx1() file.Idx
type NumberLiteral ¶
func (*NumberLiteral) Idx0 ¶
func (self *NumberLiteral) Idx0() file.Idx
func (*NumberLiteral) Idx1 ¶
func (self *NumberLiteral) Idx1() file.Idx
type ObjectLiteral ¶
func (*ObjectLiteral) Idx0 ¶
func (self *ObjectLiteral) Idx0() file.Idx
func (*ObjectLiteral) Idx1 ¶
func (self *ObjectLiteral) Idx1() file.Idx
type ObjectPattern ¶
type ObjectPattern struct { LeftBrace file.Idx RightBrace file.Idx Properties []Property Rest Expression }
func (*ObjectPattern) Idx0 ¶
func (self *ObjectPattern) Idx0() file.Idx
func (*ObjectPattern) Idx1 ¶
func (self *ObjectPattern) Idx1() file.Idx
type Optional ¶
type Optional struct {
Expression
}
type OptionalChain ¶
type OptionalChain struct {
Expression
}
type ParameterList ¶
func (*ParameterList) Idx0 ¶
func (self *ParameterList) Idx0() file.Idx
func (*ParameterList) Idx1 ¶
func (self *ParameterList) Idx1() file.Idx
type Pattern ¶
type Pattern interface { BindingTarget // contains filtered or unexported methods }
type PrivateDotExpression ¶
type PrivateDotExpression struct { Left Expression Identifier PrivateIdentifier }
func (*PrivateDotExpression) Idx0 ¶
func (self *PrivateDotExpression) Idx0() file.Idx
func (*PrivateDotExpression) Idx1 ¶
func (self *PrivateDotExpression) Idx1() file.Idx
type PrivateIdentifier ¶
type PrivateIdentifier struct {
Identifier
}
type Program ¶
type Program struct { Body []Statement DeclarationList []*VariableDeclaration File *file.File }
type Property ¶
type Property interface { Expression // contains filtered or unexported methods }
type PropertyKeyed ¶
type PropertyKeyed struct { Key Expression Kind PropertyKind Value Expression Computed bool }
func (*PropertyKeyed) Idx0 ¶
func (self *PropertyKeyed) Idx0() file.Idx
func (*PropertyKeyed) Idx1 ¶
func (self *PropertyKeyed) Idx1() file.Idx
type PropertyKind ¶
type PropertyKind string
const ( PropertyKindValue PropertyKind = "value" PropertyKindGet PropertyKind = "get" PropertyKindSet PropertyKind = "set" PropertyKindMethod PropertyKind = "method" )
type PropertyShort ¶
type PropertyShort struct { Name Identifier Initializer Expression }
func (*PropertyShort) Idx0 ¶
func (self *PropertyShort) Idx0() file.Idx
func (*PropertyShort) Idx1 ¶
func (self *PropertyShort) Idx1() file.Idx
type RegExpLiteral ¶
func (*RegExpLiteral) Idx0 ¶
func (self *RegExpLiteral) Idx0() file.Idx
func (*RegExpLiteral) Idx1 ¶
func (self *RegExpLiteral) Idx1() file.Idx
type ReturnStatement ¶
type ReturnStatement struct { Return file.Idx Argument Expression }
func (*ReturnStatement) Idx0 ¶
func (self *ReturnStatement) Idx0() file.Idx
func (*ReturnStatement) Idx1 ¶
func (self *ReturnStatement) Idx1() file.Idx
type SequenceExpression ¶
type SequenceExpression struct {
Sequence []Expression
}
func (*SequenceExpression) Idx0 ¶
func (self *SequenceExpression) Idx0() file.Idx
func (*SequenceExpression) Idx1 ¶
func (self *SequenceExpression) Idx1() file.Idx
type SpreadElement ¶
type SpreadElement struct {
Expression
}
type Statement ¶
type Statement interface { Node // contains filtered or unexported methods }
All statement nodes implement the Statement interface.
type StringLiteral ¶
func (*StringLiteral) Idx0 ¶
func (self *StringLiteral) Idx0() file.Idx
func (*StringLiteral) Idx1 ¶
func (self *StringLiteral) Idx1() file.Idx
type SuperExpression ¶
func (*SuperExpression) Idx0 ¶
func (self *SuperExpression) Idx0() file.Idx
func (*SuperExpression) Idx1 ¶
func (self *SuperExpression) Idx1() file.Idx
type SwitchStatement ¶
type SwitchStatement struct { Switch file.Idx Discriminant Expression Default int Body []*CaseStatement RightBrace file.Idx }
func (*SwitchStatement) Idx0 ¶
func (self *SwitchStatement) Idx0() file.Idx
func (*SwitchStatement) Idx1 ¶
func (self *SwitchStatement) Idx1() file.Idx
type TemplateElement ¶
func (*TemplateElement) Idx0 ¶
func (self *TemplateElement) Idx0() file.Idx
func (*TemplateElement) Idx1 ¶
func (self *TemplateElement) Idx1() file.Idx
type TemplateLiteral ¶
type TemplateLiteral struct { OpenQuote file.Idx CloseQuote file.Idx Tag Expression Elements []*TemplateElement Expressions []Expression }
func (*TemplateLiteral) Idx0 ¶
func (self *TemplateLiteral) Idx0() file.Idx
func (*TemplateLiteral) Idx1 ¶
func (self *TemplateLiteral) Idx1() file.Idx
type ThisExpression ¶
func (*ThisExpression) Idx0 ¶
func (self *ThisExpression) Idx0() file.Idx
func (*ThisExpression) Idx1 ¶
func (self *ThisExpression) Idx1() file.Idx
type ThrowStatement ¶
type ThrowStatement struct { Throw file.Idx Argument Expression }
func (*ThrowStatement) Idx0 ¶
func (self *ThrowStatement) Idx0() file.Idx
func (*ThrowStatement) Idx1 ¶
func (self *ThrowStatement) Idx1() file.Idx
type TryStatement ¶
type TryStatement struct { Try file.Idx Body *BlockStatement Catch *CatchStatement Finally *BlockStatement }
func (*TryStatement) Idx0 ¶
func (self *TryStatement) Idx0() file.Idx
func (*TryStatement) Idx1 ¶
func (self *TryStatement) Idx1() file.Idx
type UnaryExpression ¶
type UnaryExpression struct { Operator token.Token Idx file.Idx // If a prefix operation Operand Expression Postfix bool }
func (*UnaryExpression) Idx0 ¶
func (self *UnaryExpression) Idx0() file.Idx
func (*UnaryExpression) Idx1 ¶
func (self *UnaryExpression) Idx1() file.Idx
type VariableDeclaration ¶
func (*VariableDeclaration) Idx0 ¶
func (self *VariableDeclaration) Idx0() file.Idx
func (*VariableDeclaration) Idx1 ¶
func (self *VariableDeclaration) Idx1() file.Idx
type VariableStatement ¶
func (*VariableStatement) Idx0 ¶
func (self *VariableStatement) Idx0() file.Idx
func (*VariableStatement) Idx1 ¶
func (self *VariableStatement) Idx1() file.Idx
type WhileStatement ¶
type WhileStatement struct { While file.Idx Test Expression Body Statement }
func (*WhileStatement) Idx0 ¶
func (self *WhileStatement) Idx0() file.Idx
func (*WhileStatement) Idx1 ¶
func (self *WhileStatement) Idx1() file.Idx
type WithStatement ¶
type WithStatement struct { With file.Idx Object Expression Body Statement }
func (*WithStatement) Idx0 ¶
func (self *WithStatement) Idx0() file.Idx
func (*WithStatement) Idx1 ¶
func (self *WithStatement) Idx1() file.Idx
type YieldExpression ¶
type YieldExpression struct { Yield file.Idx Argument Expression Delegate bool }
func (*YieldExpression) Idx0 ¶
func (self *YieldExpression) Idx0() file.Idx
func (*YieldExpression) Idx1 ¶
func (self *YieldExpression) Idx1() file.Idx
Click to show internal directories.
Click to hide internal directories.