mirror of
https://github.com/Eugeny/tabby.git
synced 2025-06-15 08:59:58 +00:00
34 lines
1020 B
TypeScript
34 lines
1020 B
TypeScript
import { Injectable } from '@angular/core'
|
|
import { TabRecoveryProvider, RecoveredTab, RecoveryToken } from 'terminus-core'
|
|
|
|
import { TerminalTabComponent } from './components/terminalTab.component'
|
|
|
|
/** @hidden */
|
|
@Injectable()
|
|
export class RecoveryProvider extends TabRecoveryProvider {
|
|
async applicableTo (recoveryToken: RecoveryToken): Promise<boolean> {
|
|
return recoveryToken.type === 'app:terminal-tab'
|
|
}
|
|
|
|
async recover (recoveryToken: RecoveryToken): Promise<RecoveredTab> {
|
|
return {
|
|
type: TerminalTabComponent,
|
|
options: {
|
|
sessionOptions: recoveryToken.sessionOptions,
|
|
savedState: recoveryToken.savedState,
|
|
},
|
|
}
|
|
}
|
|
|
|
duplicate (recoveryToken: RecoveryToken): RecoveryToken {
|
|
return {
|
|
...recoveryToken,
|
|
sessionOptions: {
|
|
...recoveryToken.sessionOptions,
|
|
restoreFromPTYID: null,
|
|
},
|
|
savedState: null,
|
|
}
|
|
}
|
|
}
|