✨ feat(vscode): 代码阅读注释里不带路径的引用 [Name] 能点,本文件定义的优先、再找导入的
This commit is contained in:
1 parent
0958506681
commit
300d8a07b9
16 files changed
+600
-124
No files matched your search
@@ -81,6 +81,29 @@ describe('renderMarkdown', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('不带路径的引用', () => {
|
||||
it('注释里的 [Name]、[A.b] 是链接,地址 symbol:名字', () => {
|
||||
expect(renderMarkdown('见 [LocalRuntimeDisabled]。')).toBe('<p>见 <a href="symbol:LocalRuntimeDisabled">LocalRuntimeDisabled</a>。</p>\n')
|
||||
expect(renderMarkdown('[Agent.owner_id]')).toBe('<p><a href="symbol:Agent.owner_id">Agent.owner_id</a></p>\n')
|
||||
expect(renderMarkdown('转写谁说的话: [USER] / [ASSISTANT]')).toBe('<p>转写谁说的话: <a href="symbol:USER">USER</a> / <a href="symbol:ASSISTANT">ASSISTANT</a></p>\n')
|
||||
expect(renderMarkdown('见[Name]')).toContain('<a href="symbol:Name">')
|
||||
})
|
||||
|
||||
it('反引号里的、下标、中文、后面跟 (…) 的完整链接都不算', () => {
|
||||
expect(renderMarkdown('`[x]`')).toBe('<p><code>[x]</code></p>\n')
|
||||
expect(renderMarkdown('items[i] 和 f()[k]、a[0][1]')).toBe('<p>items[i] 和 f()[k]、a[0][1]</p>\n')
|
||||
expect(renderMarkdown('以 [会话进展] 开头')).toBe('<p>以 [会话进展] 开头</p>\n')
|
||||
expect(renderMarkdown('[名字](backend/a.py#Agent)')).toBe('<p><a href="backend/a.py#Agent">名字</a></p>\n')
|
||||
expect(renderMarkdown('[Agent](backend/a.py#Agent)')).toBe('<p><a href="backend/a.py#Agent">Agent</a></p>\n')
|
||||
expect(renderMarkdown('[Agent](javascript:x)')).not.toContain('<a')
|
||||
})
|
||||
|
||||
it('问 AI 的回答不认;带增删的注释照样认', () => {
|
||||
expect(renderMarkdown('见 [Agent]', 'answer')).toBe('<p>见 [Agent]</p>\n')
|
||||
expect(renderMarkdownDiff([{ text: '见 ' }, { text: '[Agent]', change: 'add' }])).toContain('href="symbol:Agent"')
|
||||
})
|
||||
})
|
||||
|
||||
describe('renderMarkdownDiff', () => {
|
||||
it('照常排版,新加的字包进 <ins>、删掉的包进 <del>', () => {
|
||||
expect(renderMarkdownDiff([{ text: '放锁' }, { text: '前', change: 'del' }, { text: '都', change: 'add' }, { text: '必须比对 `token`' }]))
|
||||
|
||||
Reference in new issue
Block a user