Deal with the case where we record a macro that contains both a completion *and* a repeat-last-change which must repeat that completion. Need to ensure that:
author Simon St James
()
committer Simon St James
()
commit 7fec29bf1199d2a9b31b4ebe29f5c52f4c958b1b
tree cbc0db91cab0c8587d0f87153ec1a6fc52e9f9f0
parent ce1ba91e0523e9c90b264a02c54a2e1c6985880a
Deal with the case where we record a macro that contains both a completion *and* a repeat-last-change which must repeat that completion. Need to ensure that:

a) If we're repeating last change (while replaying a macro), we get our next macro completions from the *last change* set of stored completions, rather than the *macro* set; and
b) The set of last change completions is kept up to date, even when we're replaying a macro (so e.g. we replay our macro which enters insert mode, executes a stored completion, which we pull from the stored *macro* completions, and then we have to feed this completion that we just pulled *back* through logCompletionEvent so that it can be used when we repeat the last change).

More confusing that I'd like it to be, but I don't think there's a way of making it simpler :/
part/vimode/kateviinputmodemanager.cpp
part/vimode/kateviinsertmode.cpp
tests/vimode_test.cpp