Attaching first attempt. Needs a fair bit of work...
Created attachment 49149 [details] vim-completion
In.