在 Notepad++ 中将折叠应用于 YAML 的块序列
Apply folding to block sequence of YAML in Notepad++
我有一些 YAML 文件,我希望 Notepad++ 编码折叠映射(在 YAML 中它是一个块序列)。例如在这个例子中:
TerrainGeometryMap:
- - [G, W]
- [G, G]
- [G, G]
- - [G, G]
- [G, G]
- [G, G]
我想折叠整个 TerrainGeometryMap
映射。如果 YAML 映射的格式带有额外的缩进,即
,Notepad++ 会执行我想要的操作
TerrainGeometryMap:
- - [D, G]
- [D, G]
- [K]
- - [D, G]
- [D, G]
- [D, G]
有没有办法完全折叠第一张地图?
您发现了一个 YAML 词法分析器错误。
如前所述,我最初认为您的第一种情况不应导致与第二种情况相同的折叠,但后来我检查了 Example 10.4 in YAML 1.1 specification (implemented by SnakeYAML) and Example 4.19 in YAML 1.0 specification 并发现您的对折叠的期望是有效的。
Scintilla 编辑器(构建 Notepad++ 的基础)未正确折叠 YAML 块序列。
你可以
- 在 Notepad++ bugtracker 中报告问题(我还没有在列表中找到它)
- 也许更好的方法是在 Scintilla bugtracker 中报告问题,因为实际上是他们在维护词法分析器(而不是 Notepad++)。 希望修复会得到解决很快传播到 Notepad++
UPDATE: I registered the bug as #1847. You can check there to see its status.
- 通过编辑模块
scintilla\lexers\LexYAML.cxx
中的方法 FoldYAMLDoc()
自行解决问题,您可以在 Notepad++ 源存档文件中找到该模块。如果你可以重建你的 Notepad++ 二进制文件,你应该让它工作
- 找到具有 YAML 词法分析器的 some other editor with code folding support
我有一些 YAML 文件,我希望 Notepad++ 编码折叠映射(在 YAML 中它是一个块序列)。例如在这个例子中:
TerrainGeometryMap: - - [G, W] - [G, G] - [G, G] - - [G, G] - [G, G] - [G, G]
我想折叠整个 TerrainGeometryMap
映射。如果 YAML 映射的格式带有额外的缩进,即
TerrainGeometryMap: - - [D, G] - [D, G] - [K] - - [D, G] - [D, G] - [D, G]
有没有办法完全折叠第一张地图?
您发现了一个 YAML 词法分析器错误。
如前所述,我最初认为您的第一种情况不应导致与第二种情况相同的折叠,但后来我检查了 Example 10.4 in YAML 1.1 specification (implemented by SnakeYAML) and Example 4.19 in YAML 1.0 specification 并发现您的对折叠的期望是有效的。
Scintilla 编辑器(构建 Notepad++ 的基础)未正确折叠 YAML 块序列。
你可以
- 在 Notepad++ bugtracker 中报告问题(我还没有在列表中找到它)
- 也许更好的方法是在 Scintilla bugtracker 中报告问题,因为实际上是他们在维护词法分析器(而不是 Notepad++)。 希望修复会得到解决很快传播到 Notepad++
UPDATE: I registered the bug as #1847. You can check there to see its status.
- 通过编辑模块
scintilla\lexers\LexYAML.cxx
中的方法FoldYAMLDoc()
自行解决问题,您可以在 Notepad++ 源存档文件中找到该模块。如果你可以重建你的 Notepad++ 二进制文件,你应该让它工作 - 找到具有 YAML 词法分析器的 some other editor with code folding support