Started working on completion.
Implemented offsetToArgument and argumentToOffset in CommandArguments.
The completion may suddenly start working now.
The completion almost works. Just gotta rearrange the cursor to argument
conversion to prorerly handle quotes and escaped characters.
I'd better commit this because it works, and I may break it later.