This project contains a vimgolf client written in Python.
The user interface is similar to the official vimgolf client, with a few additions inspired by vimgolf-finder, and an optional way to specify keys to type when launching a challenge.
- Python 3.6 or greater
$ pip3 install vimgolf$ pip3 install --upgrade vimgolfIf the launcher script was installed within a directory on your PATH, vimgolf can be launched
directly.
$ vimgolfOtherwise, vimgolf can be launched by passing its module name to Python.
$ python3 -m vimgolf vimgolf [help] # display this help and exit
vimgolf config [API_KEY] # configure your VimGolf credentials
vimgolf local IN OUT [KEYS] # launch local challenge
vimgolf put CHALLENGE [KEYS] # launch vimgolf.com challenge
vimgolf list [PAGE][:LIMIT] # list vimgolf.com challenges
vimgolf show CHALLENGE # show vimgolf.com challenge
vimgolf diff CHALLENGE # show diff for vimgolf.com challenge
vimgolf version # display the version number
CHALLENGE can be a 24-character ID from vimgolf.com, or a plus-prefixed ID corresponding to the
last invocation of vimgolf list. For example, a CHALLENGE of +6 would correspond to the sixth
challenge presented in the most recent call to vimgolf list.
For the local command, IN and OUT are paths to files.
For the local and put commands, the optional KEYS specifies a set of keys to enter when
launching the challenge. For example, ihello world<esc> would enter insert mode, type "hello
world", and then switch back to normal mode. The character < is assumed to start a special
sequence (e.g., <esc>) if that would be possible given the characters that follow. The input
string should use <lt> to disambiguate.
The source code has an MIT License.
See LICENSE.
