Как сделать отступ области более чем на один отступ?

У меня есть следующая грамматика:

Department:
  'Department:' name = ID
  'Company:' companyName = STRING
  'Persons:' persons += Person+
;

Person:
  firstName = STRING
  ':'
  surname = STRING
  ':'
  address = STRING
;

И я хотел бы иметь такое форматирование:

Department: Department1
    Company: "Company1"
    Persons:
        "Person1FirstName" : "Person1LastName" : "Person1Address"
        "Person2FirstName" : "Person2LastName" : "Person2Address"

Но когда я реализую код форматирования, я не могу использовать отступ дважды, поскольку форматирование пробелов объединяется, а не объединяется.

class TestsFormatter extends AbstractFormatter2
{
    def dispatch void format(Department department, extension IFormattableDocument document)
    {
        department.interior[indent]
        department.regionFor.keyword("Department:").prepend[setNewLines(2)]
        department.regionFor.keyword("Department:").append[oneSpace]
        department.regionFor.keyword("Company:").prepend[newLine]
        department.regionFor.keyword("Company:").append[oneSpace]
        department.regionFor.keyword("Persons:").prepend[newLine]

        for (Person person : department.persons)
        {
            person.format
        }
    }

    def dispatch void format(Person person, extension IFormattableDocument document)
    {
        person.prepend[indent]
        person.prepend[indent]
    }
}

Я обнаружил, что в документации AbstractFormatter2. Но когда я пытаюсь их использовать, он не может их разрешить.


person User48591    schedule 20.02.2018    source источник
comment
звучит как чтобы определить разные уровни отступов в одном документе с помощью xtext forma"> stackoverflow.com/questions/45305293/   -  person Christian Dietrich    schedule 20.02.2018
comment
@ChristianDietrich Спасибо, этот пользовательский заменитель помог.   -  person User48591    schedule 20.02.2018


Ответы (1)


вы можете добиться этого, используя пользовательский заменитель, аналогичный описанному в with-xtext-forma">Как определить разные уровни отступов в одном и том же документе с помощью средства форматирования Xtext

person Christian Dietrich    schedule 20.02.2018