Esempio n. 1
0
def _word_part__Literal(obj):
    # type: (word_part__Literal) -> hnode_t
    p_node = runtime.NewRecord('')  # don't show node type
    p_node.abbrev = True

    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 2
0
def _arith_expr__Var(obj):
  # type: (arith_expr__Var) -> hnode__Record
  p_node = runtime.NewRecord('$')
  p_node.abbrev = True
  n = runtime.NewLeaf(str(obj.name), color_e.StringConst)
  p_node.unnamed_fields.append(n)
  return p_node
Esempio n. 3
0
def _arith_expr__Const(obj):
  # type: (arith_expr__Const) -> hnode__Record
  p_node = runtime.NewRecord('')
  p_node.abbrev = True
  n = runtime.NewLeaf(str(obj.i), color_e.OtherConst)
  p_node.unnamed_fields.append(n)
  return p_node
Esempio n. 4
0
def _braced_var_sub(obj):
    # type: (braced_var_sub) -> hnode_t
    p_node = runtime.NewRecord('${')
    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
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node
Esempio n. 5
0
def _speck(obj):
    # type: (speck) -> hnode_t
    """Always abbreviate a speck as the Id."""
    p_node = runtime.NewRecord('')  # don't show node type
    p_node.abbrev = True

    n1 = runtime.NewLeaf(obj.id.name, color_e.OtherConst)
    p_node.unnamed_fields.append(n1)
    return p_node
Esempio n. 6
0
def _token(obj):
    # type: (token) -> hnode_t
    p_node = runtime.NewRecord('')  # don't show node type
    p_node.abbrev = True

    p_node.left = '<'
    p_node.right = '>'
    _AbbreviateToken(obj, p_node.unnamed_fields)
    return p_node
Esempio n. 7
0
def _expr__Var(obj):
    # type: (expr__Var) -> hnode_t
    p_node = runtime.NewRecord('Var')
    p_node.abbrev = True

    assert obj.name.id == Id.Expr_Name, obj.name
    n1 = runtime.NewLeaf(obj.name.val, color_e.StringConst)
    p_node.unnamed_fields.append(n1)
    return p_node
Esempio n. 8
0
def _arith_expr__Unary(obj):
  # type: (arith_expr__Unary) -> hnode__Record

  p_node = runtime.NewRecord('U')
  p_node.abbrev = True
  n = runtime.NewLeaf(str(obj.op), color_e.StringConst)
  p_node.unnamed_fields.append(n)
  p_node.unnamed_fields.append(obj.a.AbbreviatedTree())  # type: ignore
  return p_node
Esempio n. 9
0
def _word__Compound(obj):
    # type: (word__Compound) -> hnode_t
    p_node = runtime.NewRecord('')  # don't show node type
    p_node.abbrev = True
    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 _double_quoted(obj):
    # type: (double_quoted) -> hnode_t
    if obj.left.id != Id.Left_DoubleQuote:
        return None  # Fall back on obj._AbbreviatedTree()

    p_node = runtime.NewRecord('DQ')
    p_node.abbrev = True

    for part in obj.parts:
        p_node.unnamed_fields.append(part.AbbreviatedTree())
    return p_node
Esempio n. 11
0
def _command__Simple(obj):
    # type: (command__Simple) -> hnode_t
    p_node = runtime.NewRecord('C')
    if obj.redirects or obj.more_env or obj.block:
        return None  # we have other fields to display; don't abbreviate

    p_node.abbrev = True

    for w in obj.words:
        p_node.unnamed_fields.append(w.AbbreviatedTree())
    return p_node
Esempio n. 12
0
def _single_quoted(obj):
    # type: (single_quoted) -> hnode_t

    # Only abbreviate 'foo', not $'foo\n'
    if obj.left.id != Id.Left_SingleQuoteRaw:
        return None  # Fall back on obj._AbbreviatedTree()

    p_node = runtime.NewRecord('SQ')
    p_node.abbrev = True

    for token in obj.tokens:
        p_node.unnamed_fields.append(token.AbbreviatedTree())
    return p_node
Esempio n. 13
0
def _arith_expr__Binary(obj):
  # type: (arith_expr__Binary) -> Optional[hnode__Record]

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

  p_node = runtime.NewRecord('B')
  p_node.abbrev = True
  n = runtime.NewLeaf(str(obj.op), color_e.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
Esempio n. 14
0
def _expr__Const(obj):
    # type: (expr__Const) -> hnode_t
    p_node = runtime.NewRecord('Const')
    p_node.abbrev = True

    tok = obj.c
    out = p_node.unnamed_fields

    n1 = runtime.NewLeaf(tok.id.name, color_e.OtherConst)
    out.append(n1)

    n2 = runtime.NewLeaf(tok.val, color_e.StringConst)
    out.append(n2)
    return p_node
Esempio n. 15
0
def _simple_var_sub(obj):
    # type: (simple_var_sub) -> hnode_t
    p_node = runtime.NewRecord('$')
    p_node.abbrev = True
    _AbbreviateToken(obj.token, p_node.unnamed_fields)
    return p_node