Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions apps/vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@
"command": "markdown.toggleMacCodeBlock",
"title": "Toggle Mac Code Block",
"category": "Markdown Preview"
},
{
"command": "markdown.toggleCiteStatus",
"title": "Toggle Cite Status",
"category": "Markdown Preview"
}
],
"menus": {
Expand Down
4 changes: 4 additions & 0 deletions apps/vscode/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ export function activate(context: vscode.ExtensionContext) {
vscode.commands.registerCommand(`markdown.toggleMacCodeBlock`, () => {
treeDataProvider.updateMacCodeBlock(!treeDataProvider.getCurrentMacCodeBlock())
}),
vscode.commands.registerCommand(`markdown.toggleCiteStatus`, () => {
treeDataProvider.updateCiteStatus(!treeDataProvider.getCurrentCiteStatus())
}),
)

const disposable = vscode.commands.registerCommand(`markdown.preview`, () => {
Expand Down Expand Up @@ -74,6 +77,7 @@ export function activate(context: vscode.ExtensionContext) {
const renderer = initRenderer({
countStatus: treeDataProvider.getCurrentCountStatus(),
isMacCodeBlock: treeDataProvider.getCurrentMacCodeBlock(),
citeStatus: treeDataProvider.getCurrentCiteStatus(),
legend: `none`,
})

Expand Down
23 changes: 23 additions & 0 deletions apps/vscode/src/treeDataProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
private currentFontFamily: string
private countStatus: boolean
private isMacCodeBlock: boolean
private citeStatus: boolean
private context: vscode.ExtensionContext

constructor(context: vscode.ExtensionContext) {
Expand All @@ -21,6 +22,7 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
this.currentFontFamily = this.context.workspaceState.get(`markdownPreview.fontFamily`, fontFamilyOptions[0].value)
this.countStatus = this.context.workspaceState.get(`markdownPreview.countStatus`, false)
this.isMacCodeBlock = this.context.workspaceState.get(`markdownPreview.isMacCodeBlock`, false)
this.citeStatus = this.context.workspaceState.get(`markdownPreview.citeStatus`, false)
}

getTreeItem(element: vscode.TreeItem): vscode.TreeItem {
Expand All @@ -39,6 +41,12 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
this._onDidChangeTreeData.fire(undefined)
}

updateCiteStatus(status: boolean): void {
this.citeStatus = status
this.context.workspaceState.update(`markdownPreview.citeStatus`, status)
this._onDidChangeTreeData.fire(undefined)
}

getCurrentMacCodeBlock(): boolean {
return this.isMacCodeBlock
}
Expand All @@ -47,6 +55,10 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
return this.countStatus
}

getCurrentCiteStatus(): boolean {
return this.citeStatus
}

getChildren(element?: vscode.TreeItem): Thenable<vscode.TreeItem[]> {
if (!element) {
return Promise.resolve([
Expand All @@ -56,6 +68,7 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
new vscode.TreeItem(`主题色`, vscode.TreeItemCollapsibleState.Expanded),
new vscode.TreeItem(`计数状态`, vscode.TreeItemCollapsibleState.None),
new vscode.TreeItem(`Mac代码块`, vscode.TreeItemCollapsibleState.None),
new vscode.TreeItem(`微信外链转引用`, vscode.TreeItemCollapsibleState.None),
].map((item) => {
if (item.label === `计数状态`) {
item.command = {
Expand All @@ -77,6 +90,16 @@ export class MarkdownTreeDataProvider implements vscode.TreeDataProvider<vscode.
item.iconPath = new vscode.ThemeIcon(`check`)
}
}
else if (item.label === `微信外链转引用`) {
item.command = {
command: `markdown.toggleCiteStatus`,
title: `Toggle Cite Status`,
arguments: [],
}
if (this.citeStatus) {
item.iconPath = new vscode.ThemeIcon(`check`)
}
}
return item
}))
}
Expand Down