This commit is contained in:
Бондарев Иван 2018-01-14 12:11:37 +01:00
parent 72804aefab
commit 1a2bb16fa3

View file

@ -501,6 +501,11 @@ namespace CodeFormatters
off += tab;
}
private void IncOffset(int tab)
{
off += tab;
}
private void DecOffset()
{
off -= tab;
@ -508,6 +513,13 @@ namespace CodeFormatters
off = 0;
}
private void DecOffset(int tab)
{
off -= tab;
if (off < 0)
off = 0;
}
private bool NewLineNeeded(statement_list sl)
{
return true;
@ -661,7 +673,7 @@ namespace CodeFormatters
|| sn is foreach_stmt || sn is var_statement || sn is try_stmt || sn is goto_statement
|| sn is with_statement || sn is case_node || sn is function_header || sn is procedure_header
|| sn is constructor || sn is destructor || sn is type_declarations || sn is consts_definitions_list
|| sn is label_definitions || sn is class_definition || sn is uses_list || sn is unit_name || sn is program_name ||
|| sn is label_definitions || sn is class_definition || sn is uses_list || sn is uses_closure || sn is unit_name || sn is program_name ||
sn is new_expr || sn is raise_stmt || sn is interface_node || sn is implementation_node
|| sn is lock_stmt || sn is loop_stmt || sn is simple_property || sn is read_accessor_name || sn is write_accessor_name
|| sn is formal_parameters || sn is bracket_expr || sn is record_const || sn is array_const || sn is exception_handler
@ -1405,21 +1417,16 @@ namespace CodeFormatters
public override void visit(uses_list _uses_list)
{
sb.Append("uses");
IncOffset();
//sb.Append("uses");
IncOffset(tab + "uses".Length - 1);
for (int i = 0; i < _uses_list.units.Count; i++)
{
if (i == 0)
{
add_newline_before = true;
keyword_offset = "uses".Length;
}
if (i > 0)
add_space_after = true;
visit_node(_uses_list.units[i]);
}
insert_newline_after_prev = true;
DecOffset();
DecOffset(tab + "uses".Length - 1);
}
public override void visit(unit_module _unit_module)
@ -2838,12 +2845,9 @@ namespace CodeFormatters
public override void visit(uses_closure uc)
{
var i = 0;
foreach (var ul in uc.listunitsections)
{
if (i>0)
visit_node(ul);
i++;
visit_node(ul);
}
}