Skip to content

Commit 36dde49

Browse files
committed
Add: allow multiple key bindings to be set
1 parent 19b264f commit 36dde49

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

list.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,22 @@ export class ListWidget<T> implements Buffer {
3131
this.#items.map((item) => item.renderFn(item.item)),
3232
);
3333

34-
Object.keys(this.#keybinds).forEach(async (key) => {
35-
denops.dispatcher[`keyHandler`] = async (
36-
index: unknown,
37-
): Promise<void> => {
38-
await this.#keybinds[key](
39-
denops,
40-
this.#items[(index as number)].item,
41-
);
42-
};
34+
denops.dispatcher[`keyHandler`] = async (
35+
key: unknown,
36+
index: unknown,
37+
): Promise<void> => {
38+
await this.#keybinds[key as string](
39+
denops,
40+
this.#items[index as number].item,
41+
);
42+
};
4343

44+
Object.keys(this.#keybinds).forEach(async (key) => {
4445
await execute(
4546
denops,
46-
[
47-
`nmap <buffer> <expr> ${key} denops#notify('${denops.name}', 'keyHandler', [line('.') - 1])`,
48-
],
47+
`nmap <buffer><expr> ${key} denops#notify('${denops.name}', 'keyHandler', ['${
48+
key.replaceAll("<", "<lt>")
49+
}', string(line('.') - 1)])`,
4950
);
5051
});
5152

0 commit comments

Comments
 (0)