Пример #1
0
 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);
 }
Пример #2
0
void section_block_formatSource(caValue* source, Term* term)
{
    format_name_binding(source, term);
    append_phrase(source, "section", term, sym_None);
    append_phrase(source, " ", term, sym_Whitespace);
    format_block_source(source, nested_contents(term), term);
}
Пример #3
0
 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);
 }
Пример #4
0
 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);
     }
 }
Пример #5
0
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);
}
Пример #6
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);
        }
    }