TypeScript lib.dom.d.ts应该转义jsdoc注解中的html元素

jgwigjjp  于 2022-10-29  发布在  TypeScript
关注(0)|答案(5)|浏览(128)

lib更新请求

配置检查

我的编译 * 目标 * 是ES2020,我的 * 库 * 是the default

定义缺失/不正确

对于HTMLScriptElement之类的html元素,JSDoc包含<script>

示例代码

const a: HTMLScriptElement // hover over HTMLScriptElement

建议书
这些JSDoc注解应该转义注解中的任何html。我建议使用markdown内联代码来代替:

/**HTML `<script>` elements expose the HTMLScriptElement interface ... */
interface HTMLScriptElement extends HTMLElement {
xv8emn3q

xv8emn3q1#

这看起来像是TS服务器或VS代码问题--用户可能也在写这个?

atmip9wb

atmip9wb2#

一些jsdoc实现允许使用html元素,比如/**text <b>bold</b> */
在这些特定的情况下,我认为我们应该转义这些元素。

d4so4syb

d4so4syb3#

对于<b>,标签被去除,但内容保留,但对于<script>,内容也被去除:

/**no tag <script>script tag</script> <b>b tag</b> */
var a;

https://www.typescriptlang.org/play?#code/PQKhAIDsHtwFwIYHNwB4DOBjATgSwA5wB8Weh8yqwpBxaARkfRUlY+CMAFABuC24BAG4uQA

6pp0gazn

6pp0gazn4#

我搞不懂这是怎么回事。如果我写

/**Comment <neat> here */
const a = 0;

那么显示的是Comment here,为什么<script>吃尾部内容,而neat不吃?
VS代码吃HTML标签感觉像是一个bug。我的直觉是,评论中的文本应该被当作<pre></pre>来处理,除非我们有其他的指示。我愿意接受人们在评论中写反标记的证据,但我找不到任何证据。

x6yk4ghg

x6yk4ghg5#

即使我们没有剥离html,使用markdown代码来显示它而不是纯文本仍然更有意义
<script>删除其余内容的原因是因为我们完全删除了非文本html元素。

相关问题