Jupyter Book Search First Steps (#7704)

* Crawling for book search. needs icon

* Remove context until decision on entry point

* Add undefined check
This commit is contained in:
Chris LaFreniere
2019-10-15 17:04:24 -07:00
committed by GitHub
parent e74538b40d
commit 4c946b21a9
5 changed files with 18 additions and 0 deletions

View File

@@ -147,6 +147,14 @@
"dark": "resources/dark/save_inverse.svg",
"light": "resources/light/save.svg"
}
},
{
"command": "notebook.command.searchBook",
"title": "%title.searchJupyterBook%",
"icon": {
"dark": "resources/dark/manage_inverse.svg",
"light": "resources/light/manage.svg"
}
}
],
"languages": [

View File

@@ -30,6 +30,7 @@
"title.SQL19PreviewBook": "SQL Server 2019 Guide",
"books-preview-category": "Jupyter Books",
"title.saveJupyterBook": "Save Book",
"title.searchJupyterBook": "Search Book",
"title.SavedBooks": "Saved Books",
"title.UntitledBooks": "Untitled Books"
}

View File

@@ -42,6 +42,8 @@ export class BookTreeItem extends vscode.TreeItem {
this._sections = book.page;
if (book.isUntitled) {
this.contextValue = 'untitledBook';
} else {
this.contextValue = 'savedBook';
}
} else {
this.setPageVariables();

View File

@@ -191,7 +191,13 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider<BookTreeIte
}
}
}
}
public async searchJupyterBooks(): Promise<void> {
if (this.currentBook && this.currentBook.bookPath) {
let filesToIncludeFiltered = path.join(this.currentBook.bookPath, '**', '*.md') + ',' + path.join(this.currentBook.bookPath, '**', '*.ipynb');
vscode.commands.executeCommand('workbench.action.findInFiles', { filesToInclude: filesToIncludeFiltered, query: '' });
}
}
private runThrottledAction(resource: string, action: () => void) {

View File

@@ -34,6 +34,7 @@ export async function activate(extensionContext: vscode.ExtensionContext): Promi
extensionContext.subscriptions.push(vscode.commands.registerCommand('bookTreeView.openMarkdown', (resource) => bookTreeViewProvider.openMarkdown(resource)));
extensionContext.subscriptions.push(vscode.commands.registerCommand('bookTreeView.openExternalLink', (resource) => bookTreeViewProvider.openExternalLink(resource)));
extensionContext.subscriptions.push(vscode.commands.registerCommand('notebook.command.saveBook', () => untitledBookTreeViewProvider.saveJupyterBooks()));
extensionContext.subscriptions.push(vscode.commands.registerCommand('notebook.command.searchBook', () => bookTreeViewProvider.searchJupyterBooks()));
extensionContext.subscriptions.push(vscode.commands.registerCommand('_notebook.command.new', (context?: azdata.ConnectedContext) => {
let connectionProfile: azdata.IConnectionProfile = undefined;