asphaltbuffet / elf

A helper application for advent-of-code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

elf - a helper for trivial things

GitHub release (with filter) go.mod GitHub License Common Changelog wakatime

CodeQL Coverage Code Smells Security Rating

`elf`` is a helper app for several programming practice sites that attempts to reduce the overhead needed to test and solve puzzles.

Currently supporting:

Features

  • Download challenge information with local caching
  • Solve challenge with multiple language implementations
  • Test solution with implementation-agnostic test cases
  • Show debug output inline with solution output
  • Write visualization for solutions to disk
  • Benchmark with graphs to compare implementations

Demo

TBD

Requirements

See site-specific sections for details on unique requirements.

  • Toolchain must be maintained separately (compiler installation, etc.)
  • Site-specific authorization may need to be set in config file or ENV

Install

Manually download and unpack the elf binary into your preferred location.

Configuration

The default location for this data may vary based on OS and personal settings.

  • Windows: %AppData%/elf
  • Unix: $XDG_CONFIG_HOME/elf (if non-empty), else $HOME/.config/elf
  • Darwin: $HOME/Library/Application Support/elf

Site-specific details

Advent of Code

.
└─ exercises
   └─ <year>
     └─ <day>-<title>
       ├─ go
       │  └─ exercise.go
       ├─ info.json
       ├─ input.txt
       ├─ README.md
       └─ benchmark.json

Caching

Elf caches downloaded information from source sites to reduce load on their servers. The default location for this data may vary based on OS and personal settings.

  • Windows: %AppData%/elf
  • *nix: $XDG_CONFIG_HOME/elf (if non-empty), else $HOME/.config/elf
  • Darwin: $HOME/Library/Application Support/elf

Build

Build scripts use Task. There is a Makefile and justfile with similar arguments. These may be removed at some point though.

Install the necessary dependencies with task install. This should only be necessary to do once.

task snapshot will create a local build for your OS in ./dist/elf-<OS name>/.

About

A helper application for advent-of-code

License:MIT License


Languages

Language:Go 100.0%