Введение
При настройке пакетов программного обеспечения вы сталкиваетесь с множеством файлов конфигурации с различными используемыми синтаксисами.
В дополнение к .json
, .xml
, .yml
и .properties
, ниже приведены несколько примеров распространенных синтаксисов, для которых я не могу найти имя.
Разделение пробелов
# comment
value11 value12
value21 value22 value23 value24
Этот синтаксис можно найти в "/ etc / hosts », а также встроены в теги конфигурации Apache2 (например, <VirtualHost>
) и в других местах. Кажется, часто используется для перечисления псевдонимов.
Разделение пробелов и вложение по отступам
Key1 value1 value2 value3
Key2 value4 value5
Key3 value6
Key4 value7
Key5 value8
Вы можете найти этот синтаксис в "~ / .ssh / config". Вложение связывает вложенные значения с родительскими значениями. Похоже на yaml без символов.
Конфигурация Apache2
У вас могут быть значения, разделенные пробелами, а также XML -теги для разделения блоков конфигурации.
# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
DocumentRoot "/www/example1"
ServerName www.example.com
# Other directives here
</VirtualHost>
Конфигурация Dovecot
Вы начинаете блок с определенными c ключевыми словами и фигурными скобками, затем используете присваивание =
, как в .properties
файлах.
protocol imap {
ssl_cert = </etc/ssl/certs/imap.pem
ssl_key = </etc/ssl/private/imap.pem
}
protocol pop3 {
ssl_cert = </etc/ssl/certs/pop3.pem
ssl_key = </etc/ssl/private/pop3.pem
}
Вопрос
Хотя многие программные пакеты имеют свои собственные синтаксисы конфигурации, они часто имеют много общего. Мне кажется, что .config
, .conf
или .cf
на самом деле мало что говорят об используемом синтаксисе.
Мой вопрос: Есть ли у приведенных выше синтаксисов блоков кода имена и если да, то какие идентификаторы языка можно использовать для блоков кода уценки, чтобы применить правильную подсветку синтаксиса?
Для более сложных и настраиваемых синтаксисов конфигурации я просто ищу идентификатор языка базового синтаксиса, который может применить большую часть выделения к блоку кода.
```which-language-identifier-goes-here?
# comment
127.0.0.1 localhost example.com
```
```or-here?
# comment
Host remote-server
HostName example.com
User johndoe
```