Какой синтаксис следует использовать в vim для DSL structurizr

#vim #structurizr

Вопрос:

Structurizr, инструмент, который рекомендуется для разработки модели c4, поставляется с собственным DSL. Это выглядит примерно так:

 workspace {

    model {
        user = person "User"
        softwareSystem = softwareSystem "Software System"

        user -> softwareSystem "Uses"
    }

    views {
        systemContext softwareSystem {
            include *
            autolayout
        }

        theme default
    }
    
}
 

и расширение файла есть .dsl . Кто-нибудь знает, какой тип файла вы должны установить в vim, чтобы получить подсветку синтаксиса? Вероятно, это будет не идеальное совпадение, но, может быть, лучше, чем ничего. Я спрашиваю, потому что, если вы поместите такой файл в github или gitlab, вы получите некоторую подсветку синтаксиса, но vim угадывает тип файла как dsl , а подсветка вообще не отображается.

Комментарии:

1. Vim определяет .dsl как тип файла dsssl и запускает файл синтаксиса .dsl. Однако я не вижу подсветки синтаксиса для вашего примера. Когда я задаю DTD в качестве синтаксиса, это похоже на ваш пример.

2. Не уверен, но вы можете попробовать set ft=ruby и set sw=4 . Похоже, что между и существует довольно большое синтаксическое совпадение dsl ruby .

Ответ №1:

Поскольку в vim не было подходящего синтаксиса для structurizr, я в итоге предоставил специальный синтаксис.