当两种嵌套显示的语言换行符不同时,理论上编辑器应当如何换行?

比如 HTML 的换行符是 LF、CRLF、CR,

CSS 的换行符是 LF、CRLF、CR、FF,

JS 的换行符是 LF、CRLF、CR、LS、PS,

那么如下内容的 .html 文件:

<style><FF></style><CR><script><LS></script>

应当显示为(即遵循最外层模式):

<style></style>
<script></script>

还是(即遵循每层自身的模式):

<style>
</style>
<script>
</script>

目前主流编辑器根本不管内外层,实际上即便是单一语言,也不管除 LF、CRLF、CR 之外的换行符。这里不考虑实现的难度,只从编程角度考虑合理性尺度本身。

另外一个边缘情况是,如果内层允许的换行符比外层少,这时内层中出现了在内层中不算换行可在外层算换行的换行符,行号该怎么显示?还是说凡是能嵌套的语言,设计时都会避免这种情况。

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进