gpt4 book ai didi

yaml - Ace 编辑器 YAML 语法在以数字开头的非引号字符串上突出显示错误

转载 作者:行者123 更新时间:2023-12-04 17:43:54 24 4
gpt4 key购买 nike

我正在使用带有以下代码的 ACE 编辑器 ( http://ace.c9.io/ ):

<script src="https://cdn.jsdelivr.net/g/ace@1.2.6(min/ace.js+min/theme-cobalt.js+noconflict/mode-yaml.js)"></script>

<script>
function tuneEditor( editor )
{
editor.setTheme( "ace/theme/cobalt" );
editor.getSession().setMode( "ace/mode/yaml" );
editor.setShowPrintMargin( false );
editor.setShowInvisibles( true );
editor.setReadOnly( true );
editor.focus();
}

var contactEditor = ace.edit( "contactEditor" );
tuneEditor( contactEditor );
</script>

在为未加引号的 key 对着色时,ACE 编辑器中的 YAML 语法突出显示效果很好,例如 name: Alice .

然而,如果值是一个字符串, 但以数字开头,它将值的一部分着色为数字,将其一部分着色为字符串,而不是将值数据类型解释为字符串。

例如: title: 123hello将包含 123在一种颜色和 hello在另一个。

真相的来源

根据这个官方页面: http://yaml.org/spec/1.2/spec.html#style/flow/plain :

Plain scalars must not begin with most indicators, as this would cause ambiguity with other YAML constructs.



即:对“普通标量”(即:未引用)的唯一限制是不能以“指标”开头(如 :| 等)。它没有说明任何不以数字开头的内容。

如果我们在这里查看“指标”部分 http://yaml.org/spec/1.2/spec.html#indicator//我们不认为数字算作指标。

可用性威胁:它使用户感到困惑

这对于 sha1 标识符和类似情况来说特别难看,就像在这张图片中一样。这让我的用户非常困惑:

enter image description here

问题
  • 如何让 ace 编辑器执行此语法突出显示以仅使用一种颜色显示完整值?
  • 最佳答案

    它已被更正为错误...但似乎 jsdeliver不容易获得新版本的链接。我用过 v1.2.6最新的是v1.4.1
    改变

    <script src="https://cdn.jsdelivr.net/g/ace@1.2.6(min/ace.js+min/theme-cobalt.js+noconflict/mode-yaml.js)"></script>

    为了
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/ace.js" integrity="sha256-kCykSp9wgrszaIBZpbagWbvnsHKXo4noDEi6ra6Y43w=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/theme-cobalt.js" integrity="sha256-OEJvWvZJvQ8cFFLk43d1UF5DHqWdikG1n8CJQSP70TA=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/mode-yaml.js" integrity="sha256-95xNUgbfIXvRXJezV53+JM5HPO6PnJ+wZ7/GwdesKAE=" crossorigin="anonymous"></script>

    做到了:

    enter image description here

    关于yaml - Ace 编辑器 YAML 语法在以数字开头的非引号字符串上突出显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140910/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com