本文整理汇总了TypeScript中@jupyterlab/coreutils.MarkdownCodeBlocks类的典型用法代码示例。如果您正苦于以下问题:TypeScript MarkdownCodeBlocks类的具体用法?TypeScript MarkdownCodeBlocks怎么用?TypeScript MarkdownCodeBlocks使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MarkdownCodeBlocks类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
execute: () => {
let widget = tracker.currentWidget.content;
if (!widget) {
return;
}
let code = '';
let editor = widget.editor;
let text = editor.model.value.text;
let path = widget.context.path;
let extension = PathExt.extname(path);
if (MarkdownCodeBlocks.isMarkdown(extension)) {
// For Markdown files, run only code blocks.
const blocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(text);
for (let block of blocks) {
code += block.code;
}
} else {
code = text;
}
const activate = false;
if (code) {
return commands.execute('console:inject', { activate, code, path });
} else {
return Promise.resolve(void 0);
}
},
示例2: if
execute: () => {
// Run the appropriate code, taking into account a ```fenced``` code block.
const widget = tracker.currentWidget.content;
if (!widget) {
return;
}
let code = '';
const editor = widget.editor;
const path = widget.context.path;
const extension = PathExt.extname(path);
const selection = editor.getSelection();
const { start, end } = selection;
let selected = start.column !== end.column || start.line !== end.line;
if (selected) {
// Get the selected code from the editor.
const start = editor.getOffsetAt(selection.start);
const end = editor.getOffsetAt(selection.end);
code = editor.model.value.text.substring(start, end);
} else if (MarkdownCodeBlocks.isMarkdown(extension)) {
const { text } = editor.model.value;
const blocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(text);
for (let block of blocks) {
if (block.startLine <= start.line && start.line <= block.endLine) {
code = block.code;
selected = true;
break;
}
}
}
if (!selected) {
// no selection, submit whole line and advance
code = editor.getLine(selection.start.line);
const cursor = editor.getCursorPosition();
if (cursor.line + 1 === editor.lineCount) {
let text = editor.model.value.text;
editor.model.value.text = text + '\n';
}
editor.setCursorPosition({
line: cursor.line + 1,
column: cursor.column
});
}
const activate = false;
if (code) {
return commands.execute('console:inject', { activate, code, path });
} else {
return Promise.resolve(void 0);
}
},
示例3: if
execute: () => {
// This will run the current selection or the entire ```fenced``` code block.
const widget = tracker.currentWidget;
if (!widget) {
return;
}
let code = '';
const editor = widget.editor;
const path = widget.context.path;
const extension = PathExt.extname(path);
const selection = editor.getSelection();
const { start, end } = selection;
const selected = start.column !== end.column || start.line !== end.line;
if (selected) {
// Get the selected code from the editor.
const start = editor.getOffsetAt(selection.start);
const end = editor.getOffsetAt(selection.end);
code = editor.model.value.text.substring(start, end);
} else if (MarkdownCodeBlocks.isMarkdown(extension)) {
const { text } = editor.model.value;
const blocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(text);
for (let block of blocks) {
if (block.startLine <= start.line && start.line <= block.endLine) {
code = block.code;
break;
}
}
}
const activate = false;
if (code) {
return commands.execute('console:inject', { activate, code, path });
} else {
return Promise.resolve(void 0);
}
},
示例4: it
it('should find a block with a language', () => {
let codeblocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(BLOCK1);
expect(codeblocks.length).to.equal(1);
expect(codeblocks[0].code).to.equal('a = 10\nb = 20\n');
});
示例5: it
it('should find a simple block', () => {
const codeblocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(BLOCK1);
expect(codeblocks.length).to.equal(1);
expect(codeblocks[0].code).to.equal('a = 10\nb = 20\n');
});
示例6: it
it('should return true for a valid markdown extension', () => {
let isMarkdown = MarkdownCodeBlocks.isMarkdown(".md");
expect(isMarkdown).true;
});