本文整理汇总了TypeScript中atom.TextEditor.getCursors方法的典型用法代码示例。如果您正苦于以下问题:TypeScript TextEditor.getCursors方法的具体用法?TypeScript TextEditor.getCursors怎么用?TypeScript TextEditor.getCursors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atom.TextEditor
的用法示例。
在下文中一共展示了TextEditor.getCursors方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: prettifyFile
export async function prettifyFile(editor: TextEditor) {
const [firstCursor, ...cursors] = editor
.getCursors()
.map((cursor) => cursor.getBufferPosition())
const format = editor.getGrammar().scopeName
const prettify = format === 'source.cabal' ? cabalFormat : filterFormat
const workDir = (await getRootDir(editor.getBuffer())).getPath()
try {
const { stdout, stderr } = await prettify(
editor.getText(),
workDir,
editor.getRootScopeDescriptor(),
)
editor.setText(stdout)
const lastCursor = editor.getLastCursor()
if (lastCursor) {
lastCursor.setBufferPosition(firstCursor, { autoscroll: false })
}
cursors.forEach((cursor) => {
editor.addCursorAtBufferPosition(cursor, { autoscroll: false })
})
if (stderr.length > 0) {
atom.notifications.addWarning(
'Prettifier reported the following problems:',
{
detail: stderr,
dismissable: true,
},
)
}
} catch (e) {
const err: Error = e.error || e
let stderr: string = e.stderr ? e.stderr.trim() : ''
if (err.message.includes(stderr)) {
stderr = ''
}
atom.notifications.addError('Failed to prettify', {
detail: `${stderr ? `${stderr}\n\n` : ''}${err.message}`,
stack: err.stack,
dismissable: true,
})
}
}