Skip to content

feat: add module structure system for customizable output #9

@unhappychoice

Description

@unhappychoice

Summary

Add --structure option to customize which modules are displayed and in what order, inspired by fastfetch.

Available Modules

Module Description
Title username@Steam
Separator Horizontal line
Member Account age in years
Level Steam level
Games Total games owned
Unplayed Unplayed games count and %
Playtime Total playtime in hours
Perfect Perfect games count
Achievements Total achievements and %
TopPlayed Top played games list
RecentlyPlayed Recently played (2 weeks)
Rarest Rarest achievement
Break Empty line
Colors Color palette blocks

Interface

# Show only specific modules
steamfetch --structure "Title:Separator:Level:Games:Playtime"

# Minimal output
steamfetch --structure "Title:Games:Playtime"

# Full output with breaks
steamfetch --structure "Title:Separator:Member:Level:Games:Unplayed:Playtime:Perfect:Achievements:Break:TopPlayed:Break:RecentlyPlayed:Break:Rarest"

Implementation

  • Parse --structure string into module list
  • Create trait Module with render() method
  • Implement each module as a struct
  • Default structure matches current output

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions