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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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