gohelix

command module
v0.0.0-...-c0dc90f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

README

gohelix

A terminal game for practicing Helix motions. Each challenge gives you a before.go and an after.go; transform one into the other in as few keystrokes as possible.

challenge picker challenge preview
challenge picker preview (difft diff view)
editing in helix failed-run result
editing in helix with split view result after a failed attempt

Install

Try it without installing:

go run github.com/sollniss/gohelix@latest

Or install it:

go install github.com/sollniss/gohelix@latest

Or build from source:

go build -o gohelix .

Requires hx (Helix) on your PATH. Optional: bat adds syntax highlighting, difftastic adds an aligned diff view with change highlighting (toggle with d).

Usage

gohelix          # random challenge order (each appears once per cycle)
gohelix -c 9     # start at challenge 9

Keys:

  • Previewenter start • j/k/h/l scroll • d diff view • ? hint • s solution split • esc picker • q quit
  • Pickerj/k move • enter select • s solution split • esc back • q quit
  • Resultr retry • enter next • j/k/h/l scroll diff • d diff view • esc picker • q quit

Arrow keys work wherever j/k/h/l do. The d and s choices persist across sessions.

Configuration

config.json in the config dir (~/.config/gohelix/ on Linux). diff_mode and solution_split are written by the in-app toggles.

Field Meaning
diff_mode diff view: "builtin" or "difft"
solution_split "off", "left", "right", "top", "bottom"
peek_key peek toggle for split runs, e.g. "ctrl-t"
window_move_left / _right / _up / _down key sequences injected to move helix window focus, for remapped window-mode keys (defaults "ctrl-w h" etc.)
quit_commands extra quit detections for remapped quits: [{"typed": "ZZ", "inject": ":qa enter"}]

Key sequences are space-separated tokens: ctrl-x, esc, space, tab, enter, up/down/left/right; any other token is typed literally.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package difft is a thin integration with difftastic (https://difftastic.wilfred.me.uk).
Package difft is a thin integration with difftastic (https://difftastic.wilfred.me.uk).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL