Skip to content

dstein64/vimgolf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

vimgolf

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.

Installation

Requirements

  • Python 3.6 or greater

Install

$ pip3 install vimgolf

Update

$ pip3 install --upgrade vimgolf

Usage

Launch

If the launcher script was installed within a directory on your PATH, vimgolf can be launched directly.

$ vimgolf

Otherwise, vimgolf can be launched by passing its module name to Python.

$ python3 -m vimgolf

Commands

  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.

Demo

License

The source code has an MIT License.

See LICENSE.