Age | Commit message (Collapse) | Author |
|
Make our custom mapping work while retaining any user-defined
`completefunc`.
Doing it this way enables us to get away without having to set a hacky
`CursorMovedI` unsetting autocommand as imagined in
e70d92c495001c0af0037b9fadbeec170d2c318f.
We clutter our `GitSHAComplete` completion function a bit with
functionality that doesn't really belong to it in order to get a win for
simple implementation of the `completefunc` restore feature.
|
|
|
|
Experiment with providing a custom mapping for our Git SHA completion
function. We use <C-x><C-s>.
The custom mapping should set our function as the custom `completefunc`,
call the user completion function by programmatically running
`<C-x><C-u>`, and then unset and restore the previous `completefunc`
value.
This allows us to not clobber a user-defined completion function and
also give ourselves a special custom <C-x> mapping.
Just experimenting for now. Figured out how to get this to work using a
test `ASDF` function along with these resources:
* http://stackoverflow.com/questions/15643234/remapping-tab-completions-in-vim
* https://github.com/ervandew/supertab/blob/master/plugin/supertab.vim
* http://stackoverflow.com/questions/6926034/creating-a-mapping-for-insert-mode-but-not-for-autocomplete-submode
It works. The only problem is that we can't restore the old
`completefunc` value. Thinking about ways to do this, and for now my
most promising idea is to use the `CursorMovedI` autocommand.
|
|
Get the list of SHAs from `git rev-list` and use this for
completion. Not too different from the original structure.
Renamed `res` to `matches` because that seemed clearer to me.
|
|
Copy the completion function included in `:h complete-functions` to
give us a base custom completion function to work from. We'll be using
this to provide completion for Git SHAs.
|