72 content_provider = new Content_Provider() |
72 content_provider = new Content_Provider() |
73 context.subscriptions.push( |
73 context.subscriptions.push( |
74 workspace.registerTextDocumentContentProvider(preview_uri_scheme, content_provider), |
74 workspace.registerTextDocumentContentProvider(preview_uri_scheme, content_provider), |
75 content_provider) |
75 content_provider) |
76 |
76 |
77 language_client.onNotification(protocol.preview_response_type, |
77 language_client.onNotification(protocol.preview_response_type, params => |
78 params => show_preview(Uri.parse(params.uri), params.column, params.label, params.content)) |
78 { |
|
79 const preview_uri = encode_preview(Uri.parse(params.uri)) |
|
80 if (preview_uri) { |
|
81 preview_content.set(preview_uri.toString(), params.content) |
|
82 if (params.column == 0) content_provider.update(preview_uri) |
|
83 else commands.executeCommand("vscode.previewHtml", preview_uri, params.column, params.label) |
|
84 } |
|
85 }) |
79 } |
86 } |
80 |
87 |
81 |
88 |
82 /* commands */ |
89 /* commands */ |
83 |
90 |
89 else if (!split) return active_editor.viewColumn |
96 else if (!split) return active_editor.viewColumn |
90 else if (active_editor.viewColumn === ViewColumn.One) return ViewColumn.Two |
97 else if (active_editor.viewColumn === ViewColumn.One) return ViewColumn.Two |
91 else return ViewColumn.Three |
98 else return ViewColumn.Three |
92 } |
99 } |
93 |
100 |
94 export function update_preview(preview_uri: Uri) |
101 export function request(uri?: Uri, split: boolean = false) |
95 { |
|
96 const document_uri = decode_preview(preview_uri) |
|
97 if (document_uri && language_client) { |
|
98 language_client.sendNotification(protocol.preview_request_type, |
|
99 { uri: document_uri.toString(), column: 0 }) |
|
100 } |
|
101 } |
|
102 |
|
103 export function request_preview(uri?: Uri, split: boolean = false) |
|
104 { |
102 { |
105 const document_uri = uri || window.activeTextEditor.document.uri |
103 const document_uri = uri || window.activeTextEditor.document.uri |
106 const preview_uri = encode_preview(document_uri) |
104 const preview_uri = encode_preview(document_uri) |
107 if (preview_uri && language_client) { |
105 if (preview_uri && language_client) { |
108 language_client.sendNotification(protocol.preview_request_type, |
106 language_client.sendNotification(protocol.preview_request_type, |
109 { uri: document_uri.toString(), column: preview_column(split) }) |
107 { uri: document_uri.toString(), column: preview_column(split) }) |
110 } |
108 } |
111 } |
109 } |
112 |
110 |
113 export function show_preview(document_uri: Uri, column: number, label: string, content: string) |
111 export function update(preview_uri: Uri) |
114 { |
112 { |
115 const preview_uri = encode_preview(document_uri) |
113 const document_uri = decode_preview(preview_uri) |
116 if (preview_uri && content_provider) { |
114 if (document_uri && language_client) { |
117 preview_content.set(preview_uri.toString(), content) |
115 language_client.sendNotification(protocol.preview_request_type, |
118 if (column == 0) content_provider.update(preview_uri) |
116 { uri: document_uri.toString(), column: 0 }) |
119 else commands.executeCommand("vscode.previewHtml", preview_uri, column, label) |
|
120 } |
117 } |
121 } |
118 } |
122 |
119 |
123 export function show_source(preview_uri: Uri) |
120 export function source(preview_uri: Uri) |
124 { |
121 { |
125 const document_uri = decode_preview(preview_uri) |
122 const document_uri = decode_preview(preview_uri) |
126 if (document_uri) { |
123 if (document_uri) { |
127 const editor = |
124 const editor = |
128 window.visibleTextEditors.find(editor => |
125 window.visibleTextEditors.find(editor => |