Notepad++ 将折叠应用于记事本+中YAML的块序列+;

Notepad++ 将折叠应用于记事本+中YAML的块序列+;,notepad++,yaml,folding,Notepad++,Yaml,Folding,我有一些YAML文件&我希望Notepad++对映射进行编码(在YAML中,它是一个块序列)。例如,在本例中: TerrainGeometryMap: - - [G, W] - [G, G] - [G, G] - - [G, G] - [G, G] - [G, G] 有没有办法完全折叠第一张地图?您发现了一个YAML lexer错误。 如前所述,我最初认为您的第一个案例不应导致与第二个案例相同的折叠,但随后我检查了中的示例10.4(由SnakeYAML实施)和中的示例4.19,发

我有一些YAML文件&我希望Notepad++对映射进行编码(在YAML中,它是一个块序列)。例如,在本例中:

TerrainGeometryMap: - - [G, W] - [G, G] - [G, G] - - [G, G] - [G, G] - [G, G] 有没有办法完全折叠第一张地图?

您发现了一个YAML lexer错误。 如前所述,我最初认为您的第一个案例不应导致与第二个案例相同的折叠,但随后我检查了中的示例10.4(由SnakeYAML实施)和中的示例4.19,发现您对折叠的期望是有效的

闪烁编辑器(Notepad++的构建基础)没有正确折叠YAML块序列

你可以

  • 在中报告该问题(我在列表中尚未找到)
    • 报告问题可能更好,因为实际上是他们在维护Lexer(而不是Notepad++)。希望修复程序很快就会传播到Notepad++中
更新:我将错误注册为。您可以在那里查看其状态

  • 通过编辑模块
    scatinlla\lexers\LexYAML.cxx
    中的方法
    FoldYAMLDoc()
    ,您可以在Notepad++源存档文件中找到该方法,自行修复该问题。如果你能重建你的记事本++二进制文件,你应该让它工作
  • 找出哪个有YAML lexer

我认为问题在于我上面给出的示例在浏览器中正确显示,但在复制/粘贴到记事本++时有额外的空白。我添加了一个在浏览器中看起来错误的示例,但复制/粘贴的方式会重现问题。我不是说Notepad++YAML lexer有问题,而是想知道是否可以调整它以按需要显示。如果不是,我会把这个标记为答案。问题中的YAML来自SnakeYAML发射器,但正如您所建议的,从这个角度解决问题可能更容易。进一步研究后,我不同意您关于所有三个元素处于同一水平的断言。根据
,由于人们将“-”指示符视为缩进,嵌套块序列可能会缩进一个较小的空间以补偿
@Pikalek–似乎我们同时在做同样的研究。:)请参阅更新的答案。我还检查了YAML1.0,以了解它是否在1.0和1.1之间变化。事实并非如此。
TerrainGeometryMap:
  - - [D, G]
    - [D, G]
    - [K]
  - - [D, G]
    - [D, G]
    - [D, G]