textmate - 如何在 TextMate 中启用 markdown 代码折叠?

标签 textmate text-editor

我想在 textmate 中启用 markdown 的代码折叠。

具体来说,我希望任何标题(前面有一个或多个“#”字符的文本)成为在其与下一个标题和/或水平线之间切换 block 的行。示例:

# Level 1 Heading - I'd like the block below to fold

The text I'd like to fold away

## Level 2 Heading

More text...

BBEdit 似乎对 Markdown 来说做得很好。 TextMate 支持代码折叠,对于用成对(且缩进相同)大括号表示 block 的语言来说效果很好。

我知道 TextMate 提供了两个可以在语言语法文件中设置的变量,但我需要更多的正则表达式人才才能弄清楚。以下是当前 Markdown 语言语法中代码折叠设置的内容:

foldingStartMarker = '(?x)
    (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?>
    |<!--(?!.*-->)
    |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
    )';
foldingStopMarker = '(?x)
    (</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>
    |^\s*-->
    |(^|\s)\}
    )';

非常感谢任何帮助!

最佳答案

TextMate 完全无法做到这一点。

TextMate 的语言解析器逐行读取文件。这意味着为了折叠代码,需要有一个开始标记和一个结束标记。喜欢<ul></ul> 。在这种情况下,由于除了下一节的开头之外,一个节的结尾没有被任何其他内容标记,因此逐行解析器无法返回并说空行应该标记代码折叠 block 的结尾。

这有意义吗?

关于textmate - 如何在 TextMate 中启用 markdown 代码折叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880484/

相关文章:

java - Eclipse 文本编辑器拖放鼠标单击组合键

heroku - Heroku bash shell 中有哪些文本编辑器可用?

php - 将文件夹拖到 Eclipse IDE 中?

javascript - 当我更改代码、保存并在我的浏览器上测试它时,它仍然运行旧代码,为什么?

json - 如何在 TextMate、Emacs、BBEdit 或 Sublime Text 2 中缩进 JSON 数据?

javascript - 有没有简单的、免费下载的 JavaScript IDE?

ruby - 如何让 Textmate 正确突出显示 Ruby .rb 文件中的代码?

migration - 是否有人设法将较早的Textmate bundle 与Textmate2结合使用?

text-editor - VSCode 代码折叠

java - 将 TextEditor 添加到 eclipse 插件时出现导入错误 - 找不到 org.eclipse.jface.text.revisions.RevisionInformation 的类文件