( editor: CodeMirrorEditor | null, keys: string[], callback?: EmptyCallback, )
| 133 | type EmptyCallback = () => void; |
| 134 | |
| 135 | export function useKeyMap( |
| 136 | editor: CodeMirrorEditor | null, |
| 137 | keys: string[], |
| 138 | callback?: EmptyCallback, |
| 139 | ) { |
| 140 | useEffect(() => { |
| 141 | if (!editor) { |
| 142 | return; |
| 143 | } |
| 144 | for (const key of keys) { |
| 145 | editor.removeKeyMap(key); |
| 146 | } |
| 147 | |
| 148 | if (callback) { |
| 149 | const keyMap: Record<string, EmptyCallback> = {}; |
| 150 | for (const key of keys) { |
| 151 | keyMap[key] = () => callback(); |
| 152 | } |
| 153 | editor.addKeyMap(keyMap); |
| 154 | } |
| 155 | }, [editor, keys, callback]); |
| 156 | } |
| 157 | |
| 158 | export type UseCopyQueryArgs = { |
| 159 | /** |
no test coverage detected