本文整理汇总了TypeScript中terminal-kit.terminal类的典型用法代码示例。如果您正苦于以下问题:TypeScript terminal类的具体用法?TypeScript terminal怎么用?TypeScript terminal使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了terminal类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: function
terminal.on('key', function (name) {
if (name !== 'y') {
process.exit(0)
}
terminal.grabInput(false)
resolve()
})
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:7,代码来源:pull.ts
示例2: handleKeyEvent
async function handleKeyEvent(name: string,
currentIndex: number,
selectedIndices: number[],
projects: ProjectInfo[],
env: SystemEnvironment,
callback: () => void): Promise<number> {
switch (name) {
case 'DOWN': {
currentIndex = (currentIndex + 1) % projects.length
rerender(projects, currentIndex, selectedIndices)
break
}
case 'UP': {
currentIndex = (currentIndex + projects.length - 1) % projects.length
rerender(projects, currentIndex, selectedIndices)
break
}
case ' ': { // SPACE
const index = selectedIndices.indexOf(currentIndex)
if (index >= 0) {
selectedIndices.splice(index, 1)
} else {
selectedIndices.push(currentIndex)
}
rerender(projects, currentIndex, selectedIndices)
break
}
case 'ENTER': {
await handleSelect(selectedIndices, projects, env)
terminal.grabInput(false)
callback()
break
}
case 'CTRL_C': {
clear(projects)
terminal.hideCursor(false)
terminal.grabInput(false)
process.exit()
}
default: {
break
}
}
return currentIndex
}
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:47,代码来源:delete.ts
示例3: async
export default async (props: DeleteProps, env: SystemEnvironment): Promise<void> => {
const {resolver, out} = env
if (props.sourceProjectId) {
out.startSpinner(deletingProjectMessage(props.sourceProjectId))
try {
await deleteProject([props.sourceProjectId], resolver)
out.stopSpinner()
out.write(deletedProjectMessage([props.sourceProjectId]))
} catch (e) {
out.stopSpinner()
if (e.errors) {
const errors = parseErrors(e)
const output = generateErrorOutput(errors)
out.writeError(`${output}`)
} else {
throw e
}
}
} else {
const projects = await fetchProjects(resolver)
terminal.saveCursor()
terminal.grabInput()
terminal.hideCursor()
terminal(`\n`)
// initially select current project
const projectId = getProjectId(env)
let currentIndex = projectId ? projects.map(p => p.projectId).indexOf(projectId) : 0
const selectedIndices = []
render(projects, currentIndex, selectedIndices)
await new Promise(resolve => {
terminal.on('key', async (name: string) => {
currentIndex = await handleKeyEvent(name, currentIndex, selectedIndices, projects, env, resolve)
})
})
}
}
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:45,代码来源:delete.ts
示例4: Promise
await new Promise(resolve => {
terminal.on('key', function (name) {
if (name !== 'y') {
process.exit(0)
}
terminal.grabInput(false)
resolve()
})
})
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:9,代码来源:pull.ts
示例5: interactiveProjectSelection
async function interactiveProjectSelection(env: SystemEnvironment): Promise<string> {
const projects = await fetchProjects(env.resolver)
terminal.saveCursor()
terminal.grabInput()
terminal.hideCursor()
terminal(`\n`)
let currentIndex = 0
render(projects, currentIndex)
const projectId = await new Promise<string>(resolve => {
terminal.on('key', async (name: string) => {
currentIndex = await handleKeyEvent(name, currentIndex, projects, resolve)
})
})
return projectId
}
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:19,代码来源:pull.ts
示例6: handleSelect
async function handleSelect(selectedIndices: number[], projects: ProjectInfo[], env: SystemEnvironment): Promise<void> {
terminal(`\n\n${deletingProjectWarningMessage}`)
terminal.grabInput(true)
await new Promise(resolve => {
terminal.on('key', function (name) {
if (name !== 'y') {
process.exit(0)
}
terminal.grabInput(false)
resolve()
})
})
const projectIdsToDelete = selectedIndices.reduce((prev: string[], current: number) => {
prev.push(projects[current].projectId)
return prev
}, [])
terminal.restoreCursor()
terminal.eraseDisplayBelow()
terminal.hideCursor(false)
env.out.startSpinner(deletingProjectsMessage(projectIdsToDelete))
try {
await deleteProject(projectIdsToDelete, env.resolver)
env.out.stopSpinner()
env.out.write(deletedProjectMessage(projectIdsToDelete))
} catch (e) {
env.out.stopSpinner()
if (e.errors) {
const errors = parseErrors(e)
const output = generateErrorOutput(errors)
env.out.writeError(`${output}`)
} else {
throw e
}
}
}
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:43,代码来源:delete.ts
示例7: handleKeyEvent
async function handleKeyEvent(name: string,
currentIndex: number,
projects: ProjectInfo[],
callback: (projectId: string) => void): Promise<number> {
switch (name) {
case 'DOWN': {
currentIndex = (currentIndex + 1) % projects.length
rerender(projects, currentIndex)
break
}
case 'UP': {
currentIndex = (currentIndex + projects.length - 1) % projects.length
rerender(projects, currentIndex)
break
}
case 'ENTER': {
clear(projects)
terminal.hideCursor(false)
terminal.grabInput(false)
callback(projects[currentIndex].projectId)
break
}
case 'CTRL_C': {
clear(projects)
terminal.hideCursor(false)
terminal.grabInput(false)
process.exit()
}
default: {
break
}
}
return currentIndex
}
开发者ID:sadeeqaji,项目名称:graphcool-cli,代码行数:36,代码来源:pull.ts
示例8: question
(error: any, result: any) => {
if (result) {
term.green("'Yes' detected! Good bye!\n");
} else {
term.red("'No' detected, are you sure?\n");
question();
}
}
开发者ID:csrakowski,项目名称:DefinitelyTyped,代码行数:8,代码来源:terminal-kit-tests.ts
示例9:
() => {
const input = term.inputField({
history: history1,
autoComplete: autoComplete1,
autoCompleteMenu: true
}).promise;
term.green("\nYour name is '%s'\n", input);
};
开发者ID:csrakowski,项目名称:DefinitelyTyped,代码行数:9,代码来源:terminal-kit-tests.ts
注:本文中的terminal-kit.terminal类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论