🐛 fix(vscode): 代码阅读预览记住浏览位置,编辑 / 预览互切位置对齐
This commit is contained in:
1 parent
6897954644
commit
37306bd23e
13 files changed
+409
-37
No files matched your search
@@ -1,22 +1,12 @@
|
||||
/** 代码阅读预览与扩展之间的收发,以及按块 id 记的视图状态。 */
|
||||
/** 代码阅读预览与扩展之间的收发,以及 webview 状态。 */
|
||||
|
||||
import type { ExtensionToWebview, WebviewToExtension } from './types'
|
||||
import type { ViewState } from './viewState'
|
||||
import { createVsCodeBridge } from '@/lib/vscodeBridge'
|
||||
|
||||
/** 哪些块停在「编辑」、哪些块折叠了。块 id 是它在树里的位置,文档刷新后照旧对得上。 */
|
||||
export interface ViewState {
|
||||
editing: string[]
|
||||
collapsed: string[]
|
||||
}
|
||||
import { createViewStateStore } from './viewState'
|
||||
|
||||
const bridge = createVsCodeBridge<ExtensionToWebview, WebviewToExtension, ViewState>()
|
||||
|
||||
export const { postMessage, onMessage } = bridge
|
||||
|
||||
export function loadViewState(): ViewState {
|
||||
return bridge.getState() ?? { editing: [], collapsed: [] }
|
||||
}
|
||||
|
||||
export function saveViewState(state: ViewState): void {
|
||||
bridge.setState(state)
|
||||
}
|
||||
export const viewState = createViewStateStore(bridge)
|
||||
Reference in new issue
Block a user