A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
756 B
50 lines
756 B
export default interface MarkKeyRepository { |
|
isSetMode(): boolean; |
|
|
|
enableSetMode(): void; |
|
|
|
disabeSetMode(): void; |
|
|
|
isJumpMode(): boolean; |
|
|
|
enableJumpMode(): void; |
|
|
|
disabeJumpMode(): void; |
|
} |
|
|
|
interface Mode { |
|
setMode: boolean; |
|
jumpMode: boolean; |
|
} |
|
|
|
let current: Mode = { |
|
setMode: false, |
|
jumpMode: false, |
|
}; |
|
|
|
export class MarkKeyRepositoryImpl implements MarkKeyRepository { |
|
|
|
isSetMode(): boolean { |
|
return current.setMode; |
|
} |
|
|
|
enableSetMode(): void { |
|
current.setMode = true; |
|
} |
|
|
|
disabeSetMode(): void { |
|
current.setMode = false; |
|
} |
|
|
|
isJumpMode(): boolean { |
|
return current.jumpMode; |
|
} |
|
|
|
enableJumpMode(): void { |
|
current.jumpMode = true; |
|
} |
|
|
|
disabeJumpMode(): void { |
|
current.jumpMode = false; |
|
} |
|
}
|
|
|