首页 > 解决方案 > 如何识别配置文件的语法及其等效的 Markdown 语言标识符?

问题描述

介绍

在配置软件包时,您会遇到使用各种不同语法的各种配置文件。

除了.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>

鸽舍配置

您以特定关键字和花括号开始一个块,然后像在文件中一样使用=赋值。.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
```

标签: syntaxmarkdownsyntax-highlightingconfiguration-files

解决方案


此链接有一个有用的可用支持语言列表(请注意,您的降价编辑器还需要支持每种语言,用于着色/语法)。

例如,您应该能够apacheconf用于 Apache conf(例如/.htaccess、apache.conf'、apache2.conf)。

例如:

```apacheconf
# Change the PHP version of this directory
<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
    SetHandler application/x-httpd-alt-php74___lsphp
</FilesMatch>

推荐阅读