void set_with_selector__formatSource(caValue* source, Term* term) { Term* selector = term->input(1); if (selector->function != FUNCS.selector) { format_term_source_default_formatting(source, term); return; } // Don't call format_name_binding here format_source_for_input(source, term, 0, "", ""); selector_format_source(source, selector); append_phrase(source, term->stringProp("syntax:preEqualsSpace",""), term, tok_Whitespace); if (term->hasProperty("syntax:rebindOperator")) { append_phrase(source, term->stringProp("syntax:rebindOperator",""), term, tok_Equals); append_phrase(source, term->stringProp("syntax:postEqualsSpace",""), term, tok_Whitespace); format_source_for_input(source, term->input(2), 1, "", ""); } else { append_phrase(source, "=", term, tok_Equals); append_phrase(source, term->stringProp("syntax:postEqualsSpace",""), term, tok_Whitespace); format_source_for_input(source, term, 2, "", ""); } }
void formatSource(caValue* source, Term* term) { if (term->boolProp("syntax:brackets", false)) { format_name_binding(source, term); format_source_for_input(source, term, 0); append_phrase(source, "[", term, tok_LBracket); format_source_for_input(source, term, 1); append_phrase(source, "]", term, tok_LBracket); } else { format_term_source_default_formatting(source, term); } }
void switch_formatSource(caValue* source, Term* term) { format_name_binding(source, term); append_phrase(source, "switch ", term, name_Keyword); format_source_for_input(source, term, 0); format_branch_source(source, nested_contents(term), term); }
void format_heading(StyledSource* source, Term* term) { format_name_binding(source, term); append_phrase(source, "for ", term, phrase_type::KEYWORD); append_phrase(source, for_loop_get_iterator_name(term), term, phrase_type::UNDEFINED); append_phrase(source, " in ", term, phrase_type::KEYWORD); format_source_for_input(source, term, 0); }
void formatSource(caValue* source, Term* term) { format_name_binding(source, term); Block* contents = nested_contents(term); int index = 0; while (contents->get(index)->function == FUNCS.input) index++; bool firstCase = true; for (; index < contents->length(); index++) { Term* caseTerm = contents->get(index); if (caseTerm->function != FUNCS.case_func) break; if (is_hidden(caseTerm)) continue; append_phrase(source, caseTerm->stringProp("syntax:preWhitespace", ""), caseTerm, tok_Whitespace); if (firstCase) { append_phrase(source, "if ", caseTerm, sym_Keyword); format_source_for_input(source, caseTerm, 0); firstCase = false; } else if (caseTerm->input(0) != NULL) { append_phrase(source, "elif ", caseTerm, sym_Keyword); format_source_for_input(source, caseTerm, 0); } else append_phrase(source, "else", caseTerm, sym_None); // whitespace following the if/elif/else append_phrase(source, caseTerm->stringProp("syntax:lineEnding", ""), caseTerm, tok_Whitespace); format_block_source(source, nested_contents(caseTerm), caseTerm); } }
void get_with_selector__formatSource(caValue* source, Term* term) { Term* selector = term->input(1); if (selector->function != FUNCS.selector) { // Unusual case; bail out with default formatting. format_term_source_default_formatting(source, term); return; } format_name_binding(source, term); format_source_for_input(source, term, 0, "", ""); selector_format_source(source, selector); }
void selector_format_source(caValue* source, Term* term) { // Append subscripts for each selector element for (int i=0; i < term->numInputs(); i++) { Term* input = term->input(i); if (is_value(input) && is_string(term_value(input))) { append_phrase(source, ".", input, tok_Dot); append_phrase(source, as_string(term_value(input)), input, tok_Identifier); } else { append_phrase(source, "[", term, tok_LBracket); format_source_for_input(source, term, i, "", ""); append_phrase(source, "]", term, tok_LBracket); } } }
void case_formatSource(caValue* source, Term* term) { append_phrase(source, "case ", term, name_Keyword); format_source_for_input(source, term, 0); format_branch_source(source, nested_contents(term), term); }
void formatSource(StyledSource* source, Term* term) { append_phrase(source, "-", term, phrase_type::INFIX_OPERATOR); format_source_for_input(source, term, 0); }