gpt4 book ai didi

atom-editor - 在原子编辑器中编写语法规范

转载 作者:行者123 更新时间:2023-12-04 03:05:32 25 4
gpt4 key购买 nike

我已经用 atom 编写了自己的语法。我想为此编写一些规范,但我无法理解如何编写规范。我阅读了 Jasmine 文档,但仍然不是很清楚。有人可以解释一下如何编写规范来测试原子中的语法。谢谢

最佳答案

  • 语法在 atom.grammars.grammarForScopeName("source.yourlanguage")
  • 下可用
  • 它返回的语法对象具有您可以提供代码片段的方法(例如 tokenizeLinetokenizeLines)。
  • 这些方法返回标记数组。
  • 测试只是验证这些方法是否返回您期望的结果。

例如(CoffeeScript 警报):

grammar = atom.grammars.grammarForScopeName("source.yourlanguage")
{tokens} = grammar.tokenizeLine("# this is a comment line of some sort")

expect(tokens[0].value).toEqual "#"
expect(tokens[0].scopes).toEqual [
"source.yourlanguage",
"comment.line.number-sign.yourlanguage",
"punctuation.definition.comment.yourlanguage"
]

测试愉快!

  • 示例规范
  • 上面的 grammar.tokenizeLine 调用返回的数组如下所示:

    [
    {
    "value": "#",
    "scopes": [
    "source.yourlanguage",
    "comment.line.number-sign.yourlanguage",
    "punctuation.definition.comment.yourlanguage"
    ]
    },
    {
    "value": " this is a comment line of some sort",
    "scopes": [
    "source.yourlanguage",
    "comment.line.number-sign.yourlanguage"
    ]
    },
    {
    "value": "",
    "scopes": [
    "source.yourlanguage",
    "comment.line.number-sign.yourlanguage"
    ]
    }
    ]

(当我在寻找同一问题的答案时,一直看到这个问题在搜索结果中弹出 - 所以最好在此处记录一下。)

关于atom-editor - 在原子编辑器中编写语法规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30880742/

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