键绑定的 Atom 数据语法

2024-01-25

有人可以完整解释 Atom 的数据语法属性(用于键绑定选择器)的语法吗?

例如,有什么区别

[data-grammar='source example']

and

[data-grammar~='source example']

?

另外,如何指定多种语法?例如,您如何指定键绑定应限制为 html 或 xml 格式?

如果某处已经存在关于此的文档,我还没有找到它,但希望能指出它。


简单示例:

键盘映射.cson:

"atom-text-editor[data-grammar='text tex latex']":
  'f5':'latex:build'

语法信息和文档

我首先查看了file-types https://atom.io/packages/file-types包裹。source and text对语言进行分类 -source处理开发语言,同时text处理文档/日志格式。 您可以通过阅读飞行手册来添加和自定义语言识别。我在下面链接了一些对此有帮助的特定部分。

飞行手册 |基本定制:

语言识别 http://flight-manual.atom.io/using-atom/sections/basic-customization/#customizing-language-recognition

语言特定设置 http://flight-manual.atom.io/using-atom/sections/basic-customization/#language-specific-settings-in-your-config-file

与...一起工作[data-grammar]:

给出的小文档列在“深度键盘映射”部分下。

飞行手册 |深度按键映射

选择器和自定义包 http://flight-manual.atom.io/behind-atom/sections/keymaps-in-depth/#selectors-and-custom-packages.

这也描述了not([...])下面使用的功能以及如何操作各种规则。

虽然在上面,语法是以点的格式列出的,即source.c,将它们用于[data-grammar='<name>']相反,需要格式空格。

我如何在 keymap.cson 配置中使用数据语法选项的示例如下(这里我使用的是 Latex 包):

"atom-text-editor[data-grammar='text tex latex']":
  'f5':'latex:build'

The ~不是数据语法所需功能的正确语法。相反,使用类似的东西"atom-text-editor:not([data-grammar='<name>'])":

请注意,您不会使用data-grammar在类似的事情中config.cson。语言细节的语法看起来像这样:

# **config.cson**
".latex.tex.text":
  editor:
    softWrap: true

额外有用的信息 - 已注册语法列表

输出的转储Object.keys(atom.grammars.grammarsByScopeName).sort().join('\n')通过开发控制台(查看 > 开发人员 > 切换开发人员选项 > 控制台)

source.c
source.cake
source.clojure
source.coffee
source.cpp
source.cs
source.css
source.css.less
source.css.scss
source.csx
source.diff
source.gfm
source.git-config
source.go
source.gotemplate
source.java
source.java-properties
source.js
source.js.rails source.js.jquery
source.js.regexp
source.js.regexp.replacement
source.json
source.litcoffee
source.makefile
source.nant-build
source.objc
source.objcpp
source.perl
source.perl6
source.plist
source.python
source.python.django
source.regexp.python
source.ruby
source.ruby.gemfile
source.ruby.rails
source.ruby.rails.rjs
source.sass
source.shell
source.sql
source.sql.mustache
source.sql.ruby
source.strings
source.toml
source.verilog
source.yaml
text.bibtex
text.git-commit
text.git-rebase
text.html.basic
text.html.erb
text.html.gohtml
text.html.jsp
text.html.mustache
text.html.php
text.html.ruby
text.hyperlink
text.junit-test-report
text.log.latex
text.plain
text.plain.null-grammar
text.python.console
text.python.traceback
text.shell-session
text.tex
text.tex.latex
text.tex.latex.beamer
text.tex.latex.memoir
text.todo
text.xml
text.xml.plist
text.xml.xsl
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

键绑定的 Atom 数据语法 的相关文章

随机推荐

  • 将 CSV 导入 MySQL 表返回错误 #1148

    我尝试使用 DirectAdmin 导入 但在不使用 LOAD DATA 的情况下选择 CSV 时 我收到错误 第 1 行 CSV 输入中的字段计数无效 当我尝试使用 LOAD DATA 时 出现以下错误 1148 此 MySQL 版本不允
  • 将项目从 Delphi 7 迁移到 Delphi XE 有多难?

    我们公司有一个软件已经开发了10多年 所以里面有一些非常过时的东西 它仍然很实用 什么都有 但我看到 Delphi XE 上的新功能 它让我想要切换 问题是源代码本身有超过 300mb 的 pas 文件 包含组件等总共 1GB 我们使用自定
  • F# If/Then 中的推断类型

    如果我有以下功能 let myFunc x y if y 0 then 1 x 我收到错误 Program fs 58 17 error FS0001 This expression was expected to have type un
  • Powershell 连接到 VSO

    我正在尝试使用 Powershell 连接到 VSO 这是我的代码 tfsServer New Object System Uri the server is here creds System Net CredentialCache De
  • Python - calendar.timegm() 与 time.mktime()

    我似乎很难理解这个问题 有什么区别calendar timegm and time mktime 说我有一个datetime datetime如果没有附加 tzinfo 两者不应该给出相同的输出吗 它们不都给出纪元和作为参数传递的日期之间的
  • C++:固定但运行时定义长度数组的向量

    我知道我可以使用 std vector
  • 使用 Linq 从数据表中获取不同的行(多列不同)

    我试图区分多个列并从数据表中获取数据行 但出现错误 Dim query As IEnumerable Of DataRow From row As DataRow In SourceTable AsEnumerable Select row
  • C# 和元数据文件错误

    我使用 MSDN 上的教程创建了自己的小型 C 编译器 但它无法正常工作 我遇到一些错误 然后修复它们 然后我遇到新的 不同的错误 然后修复它们 等等 最新的错误真的让我很困惑 Line number 0 Error number CS00
  • CSS 覆盖规则和特殊性

    我经常对 CSS 覆盖规则感到困惑 一般来说 我意识到更具体的样式表会覆盖不太具体的样式表 并且特异性取决于指定的选择器数量 还有 important关键字 也发挥着作用 因此 这是一个简单的示例 我有一个包含两个表格单元格的表格 表格本身
  • sklearn的MLP Predict_proba函数内部是如何工作的?

    我想了解如何sklearn的 MLP 分类器 https scikit learn org stable modules generated sklearn neural network MLPClassifier html检索其结果pre
  • 将 png 图像转换为有损 avif

    我尝试压缩大约 1MB 的 png 以获得更小的图像 当我使用以下命令将图像压缩为 jpeg 时 for i in card png do convert resize 445x625 background white flatten i
  • Metro 应用程序中的 ListView 没有垂直滚动条

    我对 Windows Store 又名 Metro 应用程序 XAML 没有经验 所以也许我忽略了一些简单的东西 但根据书籍和示例 垂直滚动条是 ListView 控件的自然组成部分 除非明确禁用 否则会在出现时显示是 ListView 中
  • 获取画布中两点之间的距离

    我有画布绘图选项卡 并希望 lineWidth 基于最后两次鼠标移动坐标更新之间的距离 我将自己将距离转换为宽度 我只需要知道如何获得这些点之间的距离 我已经有了这些点的坐标 你可以用毕达哥拉斯定理来做 如果有两个点 x1 y1 和 x2
  • Python 和 Rust 之间零拷贝共享 Polars 数据帧的示例?

    我有一个Python函数 例如 def add data input df 对 input df Polars 数据框 进行一些操作 例如用新值填充某些列 我想在 Rust 函数中使用这个函数 input df 可能有几十兆字节大 所以我想
  • 使用 process.start 打开文本文件

    在计算皮尔逊相关并将结果写入文本文件后 我一直试图从系统中打开一个文本文件 但到目前为止 由于某种原因 代码没有打开任何记事本文件 我尝试打开其他文件 它们可以工作很好 但 txt 文件没有专门打开 甚至 docx 文件也使用相同的代码打开
  • 允许递归构造函数可能有什么好处(如果有)?

    在 Java 中 构造函数不能是递归的 编译时错误 递归构造函数调用 假设我们没有这个限制 要记住的事情 构造函数的返回类型为 void 由于它是一个 void 方法 因此您无法利用递归的完整功能 构造函数可以使用 this 调用自身 或任
  • FileChannel#force 和缓冲

    我现在想澄清一下 并在 FileOutputStream 和 FileChannel 之间画出一些相似之处 所以首先 似乎使用标准 Java io 写入文件的最有效方法是使用用 BufferedOutputStream 包装的 FileOu
  • WPF MVVM取消窗口关闭

    我是 WPF 和 MVVM 新手 我想最小化窗口而不是关闭它 换句话说 我想取消Closing窗口事件并最小化该窗口 我应该如何以 MVVM 方式进行操作 如果相关的话 最后我会设置ShowInTaskbar to false并使用WinF
  • 刷新有嵌套路由的页面时出现“404 not found”,因为Vite没有将所有路由重定向到index.html

    我可以使用 React 路由器useNavigate钩子去一个嵌套的路线 比如localhost 3000 nested route 但是一旦重新加载 我就会收到 404 未找到错误 因为它正在尝试查找localhost 3000 nest
  • 键绑定的 Atom 数据语法

    有人可以完整解释 Atom 的数据语法属性 用于键绑定选择器 的语法吗 例如 有什么区别 data grammar source example and data grammar source example 另外 如何指定多种语法 例如