Skip to content

Commit

Permalink
Group expression documentation into subcategories
Browse files Browse the repository at this point in the history
Groups the expression nodes into much smaller subcategories for improved
readablility.

Some nodes defined in the expression module were grouped with statements
because they made more sense there (from a documentation perspective).

This also adds a local table of contents to the top of the nodes page
which better reveals all of the subcategories.

It also exports and categorizes
`BaseAssignTargetExpression`/`BaseDelTargetExpression`. These nodes were
referenced in type annotations of other nodes, so they need to be
exported if only for documentation reasons.
  • Loading branch information
bgw committed Aug 1, 2019
1 parent 8d000ab commit f2c8876
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 50 deletions.
179 changes: 129 additions & 50 deletions docs/source/nodes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ syntax tree <https://greentreesnakes.readthedocs.io/en/latest/nodes.html>`_.
CSTNode
-------

The base node type which all other nodes derrive from.
The base node type which all other nodes derive from.

.. autoclass:: libcst.CSTNode

Expand All @@ -26,68 +26,134 @@ Expressions

Nodes that represent various expressions.

.. autoclass:: libcst.Annotation
.. autoclass:: libcst.Arg
.. autoclass:: libcst.Asynchronous
.. autoclass:: libcst.Attribute
.. autoclass:: libcst.Await
.. autoclass:: libcst.BaseComp
.. autoclass:: libcst.BaseDict
.. autoclass:: libcst.BaseDictElement
.. autoclass:: libcst.BaseElement
.. autoclass:: libcst.BaseExpression
.. autoclass:: libcst.BaseFormattedStringContent
.. autoclass:: libcst.BaseList
.. autoclass:: libcst.BaseNumber
.. autoclass:: libcst.BaseSet
.. autoclass:: libcst.BaseString

Names and Object Attributes
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: libcst.Name
.. autoclass:: libcst.Attribute

Operations and Comparisons
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: libcst.UnaryOperation
.. autoclass:: libcst.BinaryOperation
.. autoclass:: libcst.BooleanOperation
.. autoclass:: libcst.Call
.. autoclass:: libcst.Comparison
.. autoclass:: libcst.ComparisonTarget
.. autoclass:: libcst.CompFor
.. autoclass:: libcst.CompIf
.. autoclass:: libcst.ConcatenatedString
.. autoclass:: libcst.Dict
.. autoclass:: libcst.DictComp
.. autoclass:: libcst.DictElement
.. autoclass:: libcst.Element

Control Flow
^^^^^^^^^^^^

.. autoclass:: libcst.Asynchronous
.. autoclass:: libcst.Await
.. autoclass:: libcst.Yield
.. autoclass:: libcst.From
.. autoclass:: libcst.IfExp

Lambdas and Function Calls
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: libcst.Lambda
.. autoclass:: libcst.Call
.. autoclass:: libcst.Arg

Literal Values
^^^^^^^^^^^^^^

.. autoclass:: libcst.Ellipses
.. autoclass:: libcst.ExtSlice

Numbers
'''''''

.. autoclass:: libcst.BaseNumber
.. autoclass:: libcst.Integer
.. autoclass:: libcst.Float
.. autoclass:: libcst.Imaginary

Strings
'''''''

.. autoclass:: libcst.BaseString
.. autoclass:: libcst.SimpleString
.. autoclass:: libcst.ConcatenatedString

Formatted Strings (f-strings)
'''''''''''''''''''''''''''''

.. autoclass:: libcst.FormattedString
.. autoclass:: libcst.FormattedStringExpression
.. autoclass:: libcst.BaseFormattedStringContent
.. autoclass:: libcst.FormattedStringText
.. autoclass:: libcst.From
.. autoclass:: libcst.FormattedStringExpression

Collections
^^^^^^^^^^^

Simple Collections
''''''''''''''''''

.. autoclass:: libcst.Tuple

.. autoclass:: libcst.BaseList
.. autoclass:: libcst.List

.. autoclass:: libcst.BaseSet
.. autoclass:: libcst.Set

Simple Collection Elements
''''''''''''''''''''''''''

.. autoclass:: libcst.BaseElement
.. autoclass:: libcst.Element
.. autoclass:: libcst.StarredElement

Dictionaries
''''''''''''

.. autoclass:: libcst.BaseDict
.. autoclass:: libcst.Dict

Dictionary Elements
'''''''''''''''''''

.. autoclass:: libcst.BaseDictElement
.. autoclass:: libcst.DictElement
.. autoclass:: libcst.StarredDictElement

Comprehensions
^^^^^^^^^^^^^^

.. autoclass:: libcst.BaseComp

.. autoclass:: libcst.GeneratorExp
.. autoclass:: libcst.IfExp
.. autoclass:: libcst.Imaginary
.. autoclass:: libcst.ListComp
.. autoclass:: libcst.SetComp
.. autoclass:: libcst.DictComp

.. autoclass:: libcst.CompFor
.. autoclass:: libcst.CompIf

Subscripts and Slices
^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: libcst.Subscript
.. autoclass:: libcst.Index
.. autoclass:: libcst.Integer
.. autoclass:: libcst.Lambda
.. autoclass:: libcst.LeftCurlyBrace
.. autoclass:: libcst.Slice
.. autoclass:: libcst.ExtSlice


Parenthesis, Brackets, and Braces
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: libcst.LeftParen
.. autoclass:: libcst.LeftSquareBracket
.. autoclass:: libcst.List
.. autoclass:: libcst.ListComp
.. autoclass:: libcst.Name
.. autoclass:: libcst.Param
.. autoclass:: libcst.Parameters
.. autoclass:: libcst.ParamStar
.. autoclass:: libcst.RightCurlyBrace
.. autoclass:: libcst.RightParen

.. autoclass:: libcst.LeftSquareBracket
.. autoclass:: libcst.RightSquareBracket
.. autoclass:: libcst.Set
.. autoclass:: libcst.SetComp
.. autoclass:: libcst.SimpleString
.. autoclass:: libcst.Slice
.. autoclass:: libcst.StarredDictElement
.. autoclass:: libcst.StarredElement
.. autoclass:: libcst.Subscript
.. autoclass:: libcst.Tuple
.. autoclass:: libcst.UnaryOperation
.. autoclass:: libcst.Yield

.. autoclass:: libcst.LeftCurlyBrace
.. autoclass:: libcst.RightCurlyBrace

Statements
----------
Expand Down Expand Up @@ -136,16 +202,29 @@ Helper Nodes

Nodes that are used by various statements to represent some syntax, but
are not statements on their own and cannot be used outside of the statements
they blong with.
they belong with.

.. Annotation is in the expression module for import-order reasons, it's
most-often used a a helper for statements (e.g. functions)
.. autoclass:: libcst.Annotation

.. autoclass:: libcst.AsName
.. autoclass:: libcst.AssignTarget
.. autoclass:: libcst.BaseAssignTargetExpression
.. autoclass:: libcst.BaseDelTargetExpression
.. autoclass:: libcst.Decorator
.. autoclass:: libcst.Else
.. autoclass:: libcst.ExceptHandler
.. autoclass:: libcst.Finally
.. autoclass:: libcst.ImportAlias
.. autoclass:: libcst.NameItem

.. Params are in the expression module for import-order reasons, but it makes
sense to group these closer to FunctionDef than with Lambda.
.. autoclass:: libcst.Parameters
.. autoclass:: libcst.Param
.. autoclass:: libcst.ParamStar

.. autoclass:: libcst.WithItem

Statement Blocks
Expand Down
4 changes: 4 additions & 0 deletions libcst/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
Asynchronous,
Attribute,
Await,
BaseAssignTargetExpression,
BaseComp,
BaseDelTargetExpression,
BaseDict,
BaseDictElement,
BaseElement,
Expand Down Expand Up @@ -210,7 +212,9 @@
"Asynchronous",
"Attribute",
"Await",
"BaseAssignTargetExpression",
"BaseComp",
"BaseDelTargetExpression",
"BaseDict",
"BaseDictElement",
"BaseElement",
Expand Down

0 comments on commit f2c8876

Please sign in to comment.