tmux-python / tmux-python/tmuxp

Configuration pipeline / processors

Open
#769 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
4.6k
Forks
248
Avg merge
2h 13m
Merged PRs (30d)
1

Description

This is needed for easier completion / testability and making listing of configs more accessible

  1. Find configs
  2. Parse configs (yaml, strictyaml, json, jsonc, toml)
  3. Modify configs (e.g. expand configs/shorthand_
  4. Workspace endpoints

See also the Config loaders and backends from https://github.com/vcs-python/vcspull/issues/351

  • Builds an immutable list of build_config_index(**options), ConfigIndex or ConfigList. Reads all configs, configurable, optionally include (filter?)

    Make into a class that can be instantiated / reused / a singleton?

    c = Configs()
    c.configs
    c.search() - if even?

    It needs to know about current working directory, user-space configs (e.g. XDG_DIRS), system-level configs (also XDG)

    It likely won't know about project based configs but we can add loaders to "Look up" in a current project for a project-based config e.g. ~/work/projects/tmuxp/.tmuxp.yaml, being able to see it from CWD of ~/work/projects/tmuxp/docs/configuration

  • Of if staying in list form

    Return an immutable list configs search_configs()

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the related Config loaders and backends issue (#351) and tracing the existing build_config_index, ConfigIndex, ConfigList, and search_configs entry points. Clarify whether the design should use a reusable Configs object or an immutable list, then define how config discovery, parsing, modification, and workspace endpoints cover current-directory, user, system, and project configs.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.