VS 代码标记语言服务
授权VS代码的Markdown支持的语言服务,取出后可以被其他编辑和工具再用.
特征
这个图书馆的目标 普通马克。对其他Markdown方言和扩展的支持不属于该项目的范围.
目前支持的语言特性 :
-
文件链接( 在编辑器中可单击跨度)
支持的链接包括:
- 链接当前文件内的标题 :
[text](#header) - 文件的绝对和相对链接 :
[text](path/to/file.md) - 参考链接 :
[text][link-name]
- 链接当前文件内的标题 :
-
文号
在下标记文件中查找所有信头
-
工作空间符号
在工作空间找到所有标记下文件的所有标题 .
-
折叠范围
折叠范围为:
- 标题部分
- 区域科
- 名单
- 块元素
-
智能选择( 扩展选择)
-
完成情况
支持完成下列工作:
- 链接到信头
- 路径链接
- 参考链接
-
查找所有引用
支持查找下列参考文献:
- 页眉
- 路径链接
- 链接中的裂痕
- 参考链接
-
定义
支持查找定义头和引用链接.
-
重命名
支持重命名信头和链接.
-
组织链接定义.
文件中的组合和类型链接定义,可选地删除未使用的定义.
-
代码动作
- 提取文件中链接到文件底部链接定义的所有出错 .
- 删除重复或未使用的链接定义的快速修正.
-
诊断(错误报告)
支持生成无效链接的诊断:
- 参考文献.
- 当前文件中的标题 .
- 工作区的文件 .
- 其他文件中的标题 .
还可为以下目的生成诊断:
- 未使用的联系定义.
- 重复链接定义.
-
在文件重命名上更新链接
创建编辑器, 当工作空间中的文件/目录被重命名或移动时更新所有链接 .
使用量
要开始使用此库, 请先安装到您的工作空间 :
npm install vscode-markdown-languageservice
要使用语言服务,首先需要创建使用语言服务的实例 createLanguageService我们使用依赖性注射,以便尽可能多地使用语言服务.
import * as md from 'vscode-markdown-languageservice';
// Implement these
const parser: md.IMdParser = ...;
const workspace: md.IWorkspace = ...;
const logger: md.ILogger = ...;
const languageService = md.createLanguageService({ workspace, parser, logger });
在创建服务后,您可以询问它所支持的语言特性:
// We're using the vscode-language types in this demo
// If you want to use them, make sure to run:
//
// npm install vscode-languageserver vscode-languageserver-textdocument
//
// However you can also bring your own types if you want to instead.
import { CancellationTokenSource } from 'vscode-languageserver';
import { TextDocument } from 'vscode-languageserver-textdocument';
const cts = new CancellationTokenSource();
// Create a virtual document that holds our file content
const myDocument = TextDocument.create(
URI.file('/path/to/file.md').toString(), // file path
'markdown', // file language
1, // version
[ // File contents
'# Hello',
'from **Markdown**',
'',
'## World!',
].join('\n')
);
const symbols = await languageService.getDocumentSymbols(myDocument, { includeLinkDefinitions: true }, cts.token);
见 实例. cjs 用于提供完整的、最低限度的语文服务。 您可以使用 node example.cjs。 。 。 .
其他链接
捐款
如果你有兴趣贡献
- 克隆这个还原
- 使用
npm install - 开始使用汇编
npm run watch
您可以使用 npm test 或以 VS 代码打开项目并按 F5 调试.