Skip to content

Commit 88e6d92

Browse files
authored
address opening ipynb, not forcing markdown cells to have default language in cell metadata (#1326)
1 parent 6f385f1 commit 88e6d92

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

src/dotnet-interactive-vscode/common/vscode/commands.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ export function registerFileCommands(context: vscode.ExtensionContext, clientMap
227227
? 'dotnet-interactive'
228228
: 'jupyter-notebook';
229229

230-
if (viewType === 'jupyter-notebook') {
230+
if (viewType === 'jupyter-notebook' && uri.scheme === 'untitled') {
231231
await openNewNotebookWithJupyterEXtension();
232232
} else {
233233
await vscode.commands.executeCommand('vscode.openWith', uri, viewType);

src/dotnet-interactive-vscode/common/vscode/extension.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,11 @@ async function updateNotebookCellLanguageInMetadata(candidateNotebookCellDocumen
185185
isJupyterNotebookViewType(notebook.viewType) &&
186186
isDotnetInteractiveLanguage(candidateNotebookCellDocument.languageId)) {
187187
const cell = versionSpecificFunctions.getCells(notebook).find(c => c.document === candidateNotebookCellDocument);
188-
if (cell && cell.kind === vscode.NotebookCellKind.Code) {
189-
const cellLanguage = getSimpleLanguage(candidateNotebookCellDocument.languageId);
188+
if (cell) {
189+
const cellLanguage = cell.kind === vscode.NotebookCellKind.Code
190+
? getSimpleLanguage(candidateNotebookCellDocument.languageId)
191+
: 'markdown';
192+
190193
const dotnetMetadata = getDotNetMetadata(cell.metadata);
191194
if (dotnetMetadata.language !== cellLanguage) {
192195
const newMetadata = cell.metadata.with({

src/dotnet-interactive-vscode/common/vscode/vscodeUtilities.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ export function toNotebookDocument(document: vscode.NotebookDocument): NotebookD
8383

8484
export function toNotebookCell(cell: vscode.NotebookCell): NotebookCell {
8585
return {
86-
language: getSimpleLanguage(cell.document.languageId),
86+
language: cell.kind === vscode.NotebookCellKind.Code
87+
? getSimpleLanguage(cell.document.languageId)
88+
: 'markdown',
8789
contents: cell.document.getText(),
8890
outputs: cell.outputs.map(vsCodeCellOutputToContractCellOutput)
8991
};

src/dotnet-interactive-vscode/insiders/src/notebookControllers.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ export async function updateCellLanguages(document: vscode.NotebookDocument): Pr
159159
const cell = document.cellAt(i);
160160
const cellMetadata = getDotNetMetadata(cell.metadata);
161161
const cellText = cell.document.getText();
162-
const newLanguage = getCellLanguage(cellText, cellMetadata, documentLanguageInfo, cell.document.languageId);
162+
const newLanguage = cell.kind === vscode.NotebookCellKind.Code
163+
? getCellLanguage(cellText, cellMetadata, documentLanguageInfo, cell.document.languageId)
164+
: 'markdown';
163165
if (cell.document.languageId !== newLanguage) {
164166
const newCellData = new vscode.NotebookCellData(
165167
cell.kind,

src/dotnet-interactive-vscode/stable/src/notebookControllers.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ export async function updateCellLanguages(document: vscode.NotebookDocument): Pr
159159
const cell = document.cellAt(i);
160160
const cellMetadata = getDotNetMetadata(cell.metadata);
161161
const cellText = cell.document.getText();
162-
const newLanguage = getCellLanguage(cellText, cellMetadata, documentLanguageInfo, cell.document.languageId);
162+
const newLanguage = cell.kind === vscode.NotebookCellKind.Code
163+
? getCellLanguage(cellText, cellMetadata, documentLanguageInfo, cell.document.languageId)
164+
: 'markdown';
163165
if (cell.document.languageId !== newLanguage) {
164166
const newCellData = new vscode.NotebookCellData(
165167
cell.kind,

0 commit comments

Comments
 (0)