tmux-python / tmux-python/tmuxp
Configuration pipeline / processors
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
- Find configs
- Parse configs (yaml, strictyaml, json, jsonc, toml)
- Modify configs (e.g. expand configs/shorthand_
- 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),ConfigIndexorConfigList. 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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