Changed the way keys are processed.
authorDaniel Carl <danielcarl@gmx.de>
Wed, 14 Aug 2013 18:15:06 +0000 (20:15 +0200)
committerDaniel Carl <danielcarl@gmx.de>
Thu, 19 Sep 2013 22:58:07 +0000 (00:58 +0200)
commit46f8678f4600ca7c1566f483cbee143ed6294772
tree4510df6626f02e5b07e00331a3f81b034442001e
parent6ae1f47d8eab6229c96f4ff0ec2a51b83aa1ab75
Changed the way keys are processed.

Until today vimb mapped two-part keybindings to commands. This patch changed
this paradigm into a more vi like way. The commands are separated into normal
mode commands that mainly consists of a single char and ex commands that can
by typed into the inputbox like ':open'. This change allows us to adapt also
the way keypresses and mapping are handled. Now every keypress is converted
into a unsigned char and collected into a typeahead queue. The mappings are
applied on the queue. So now we can use also long keymaps and run multiple
commands for different modes with them like ':nmap abcdef :set
scripts!<CR>:open search query<CR>50G'.
25 files changed:
src/command.c
src/command.h
src/completion.c
src/default.h
src/dom.c
src/ex.c [new file with mode: 0644]
src/ex.h [new file with mode: 0644]
src/hints.c
src/hints.h
src/hints.js
src/history.c
src/input.c [new file with mode: 0644]
src/input.h [new file with mode: 0644]
src/keybind.c [deleted file]
src/keybind.h [deleted file]
src/main.c
src/main.h
src/map.c [new file with mode: 0644]
src/map.h [new file with mode: 0644]
src/mode.c [new file with mode: 0644]
src/mode.h [new file with mode: 0644]
src/normal.c [new file with mode: 0644]
src/normal.h [new file with mode: 0644]
src/pass.c [new file with mode: 0644]
src/pass.h [new file with mode: 0644]