【问题标题】:New grammar / syntax highlighting in AtomAtom 中的新语法/语法突出显示
【发布时间】:2020-10-10 07:36:36
【问题描述】:

我正在尝试为 Atom 制作一个新的、非常简单的语法,只是为了满足我的文本编辑需求。要么,要么能够修改 Markdown 语法。我的问题是我什至无法进行测试...

这是我关注的guide,我也试过Atom's flight manual

这是我的 package.json:

{
  "name": "language-mylanguage",
  "version": "0.0.0",
  "description": "Mylanguage language support in Atom",
  "engines": {
    "atom": "*"
  },
  "dependencies": {},
  "repository": {
    "type": "git",
    "url": ""
  },
  "bugs": {
    "url": ""
  },
  "license": "MIT"
}

还有styles/language-mylanguage.less:

@import "ui-variables";

.mylanguage {
  color: red;
}
.text {
  color: blue;
}

还有语法/mylanguage.cson:

'scopeName': 'source.mylanguage'
'name': 'Mylanguage'
'fileTypes': ['md', 'txt']

'patterns': [
    {
        'match': '\\bLorem\\b'
        'name': 'text.mylanguage'
    }
]

最后是我的测试文件:

# H1
## H2
### H3
#### H4
Lorem Ipsum
[Text 1]
{Text 2}
%Text 3%
^Text 4^
> Text 5
++ Comment ++

这些是我在包文件夹中的唯一文件。到目前为止,我已经尝试通过视图菜单刷新,然后退出并重新启动。请帮忙!

编辑:根据我目前的代码,我预计 Lorem 为蓝色,而其余部分为红色。

【问题讨论】:

  • @Mandy8055 编辑了它。:)

标签: regex atom-editor syntax-highlighting cson


【解决方案1】:

首先,你不应该在一个包中混合语言语法和主题,它们是分开的。这样,其他人仍然可以将您的语法定义与他们自己偏好或能力的语法主题一起使用(想想可访问性问题)。

其次,坚持 TextMate 命名约定(Atom 和许多其他编辑器也使用该约定),以便其他主题可以突出您的语法。因此,与其使用.text 选择器,不如使用.string.unquoted.* 之类的东西。作为副作用,您会注意到您不需要自己的样式表来突出您的语言。

这里还有一个提示:将光标放在语法中的任意位置,然后从命令面板运行 Editor: Log Cursor Scope。这将显示光标位置使用的语法范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多