Esempio n. 1
0
def _word_part__SimpleVarSub(obj):
    # type: (word_part__SimpleVarSub) -> PrettyNode
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = '$'
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 2
0
def _word_part__LiteralPart(obj):
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = ''  # don't show

    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 3
0
def _simple_var_sub(obj):
    # type: (simple_var_sub) -> PrettyNode
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = '$'
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 4
0
def _word_part__DoubleQuotedPart(obj):
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = 'DQ'

    for part in obj.parts:
        p_node.unnamed_fields.append(part.AbbreviatedTree())
    return p_node
Esempio n. 5
0
def _arith_expr__Var(obj):
  # type: (arith_expr__Var) -> Optional[runtime.PrettyNode]
  p_node = runtime.PrettyNode()
  p_node.abbrev = True
  p_node.node_type = '$'
  n = runtime.PrettyLeaf(str(obj.name), runtime.Color_StringConst)
  p_node.unnamed_fields.append(n)
  return p_node
Esempio n. 6
0
def _arith_expr__Const(obj):
  # type: (arith_expr__Const) -> Optional[runtime.PrettyNode]
  p_node = runtime.PrettyNode()
  p_node.abbrev = True
  p_node.node_type = ''  # omit it
  n = runtime.PrettyLeaf(str(obj.i), runtime.Color_OtherConst)
  p_node.unnamed_fields.append(n)
  return p_node
Esempio n. 7
0
def _word_part__BracedVarSub(obj):
    p_node = runtime.PrettyNode()
    if obj.prefix_op or obj.bracket_op or obj.suffix_op:
        return None  # we have other fields to display; don't abbreviate

    p_node.abbrev = True
    p_node.node_type = '${'
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 8
0
def _token(obj):
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = ''  # don't show

    p_node.left = '<'
    p_node.right = '>'
    _AbbreviateToken(obj, p_node.unnamed_fields)
    return p_node
Esempio n. 9
0
def _word__CompoundWord(obj):
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = ''  # don't show
    p_node.left = '{'
    p_node.right = '}'

    for part in obj.parts:
        p_node.unnamed_fields.append(part.AbbreviatedTree())
    return p_node
Esempio n. 10
0
def _arith_expr__Unary(obj):
  # type: (arith_expr__Unary) -> Optional[runtime.PrettyNode]

  p_node = runtime.PrettyNode()
  p_node.abbrev = True
  p_node.node_type = 'U'
  n = runtime.PrettyLeaf(str(obj.op), runtime.Color_StringConst)
  p_node.unnamed_fields.append(n)
  p_node.unnamed_fields.append(obj.a.AbbreviatedTree())  # type: ignore
  return p_node
Esempio n. 11
0
def _braced_var_sub(obj):
    # type: (braced_var_sub) -> PrettyNode
    p_node = runtime.PrettyNode()
    if obj.prefix_op or obj.bracket_op or obj.suffix_op:
        return None  # we have other fields to display; don't abbreviate

    p_node.abbrev = True
    p_node.node_type = '${'
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 12
0
def _speck(obj):
    # type: (speck) -> PrettyNode
    """Always abbreviate a speck as the Id."""
    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = ''  # don't show

    n1 = runtime.PrettyLeaf(obj.id.name, runtime.Color_OtherConst)
    p_node.unnamed_fields.append(n1)
    return p_node
Esempio n. 13
0
def _command__SimpleCommand(obj):
    p_node = runtime.PrettyNode()
    if obj.redirects or obj.more_env:
        return None  # we have other fields to display; don't abbreviate

    p_node.abbrev = True
    p_node.node_type = 'C'

    for w in obj.words:
        p_node.unnamed_fields.append(w.AbbreviatedTree())
    return p_node
Esempio n. 14
0
def _word_part__SingleQuotedPart(obj):
    # Only abbreviate 'foo', not $'foo\n'
    if obj.left.id != Id.Left_SingleQuote:
        return None  # Fall back on obj._AbbreviatedTree()

    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = 'SQ'

    for token in obj.tokens:
        p_node.unnamed_fields.append(token.AbbreviatedTree())
    return p_node
Esempio n. 15
0
def _double_quoted(obj):
    # type: (double_quoted) -> PrettyNode
    if obj.left.id != Id.Left_DoubleQuote:
        return None  # Fall back on obj._AbbreviatedTree()

    p_node = runtime.PrettyNode()
    p_node.abbrev = True
    p_node.node_type = 'DQ'

    for part in obj.parts:
        p_node.unnamed_fields.append(part.AbbreviatedTree())
    return p_node
Esempio n. 16
0
def _arith_expr__Binary(obj):
  # type: (arith_expr__Binary) -> Optional[runtime.PrettyNode]

  if obj.op == '=':  # test for fallback
    return None

  p_node = runtime.PrettyNode()
  p_node.abbrev = True
  p_node.node_type = 'B'
  n = runtime.PrettyLeaf(str(obj.op), runtime.Color_StringConst)
  p_node.unnamed_fields.append(n)
  p_node.unnamed_fields.append(obj.left.AbbreviatedTree())  # type: ignore
  p_node.unnamed_fields.append(obj.right.AbbreviatedTree())  # type: ignore
  return p_node