Commit graph

16 commits

Author SHA1 Message Date
46d57042cd
ref: Turn TConf from dict into class factory method
Code from here:

https://stackoverflow.com/questions/56849331/what-is-the-proper-way-in-python-to-define-a-dataclass-that-has-both-an-auto-gen
2025-04-08 21:00:24 +02:00
4ad9f4c981
ref: Move default opt handling into TConf object 2025-04-08 21:00:24 +02:00
4227465bfb
fix: Use tw default dirs 2025-04-08 21:00:23 +02:00
0277f15ca2
doc: Add docstring documentation 2025-04-07 10:49:16 +02:00
0f10789e9c
chore: Change conf options to dot-notation 2025-04-07 10:49:15 +02:00
6e1761e690
chore: Fit env var names to conf option names 2025-04-07 10:49:14 +02:00
8c3ecfa431
chore: Restructure script 2025-04-07 10:49:14 +02:00
cf7e9dd5fe
ref: Ensure paths are Path objects 2025-04-07 10:49:13 +02:00
0e167cf08a
ref: Turn dict into conf obj 2025-04-07 10:49:13 +02:00
c6f05d0b64
feat: Specify taskrc as cli option
In addition to task-data we also allow specifying the taskrc file on the
command line.
2025-04-07 10:49:12 +02:00
3fded7315c
fix: Parse EDITOR and VISUAL env vars with lower precedence
Since the precedence now goes (from lowest to highest):

defaults -> conf_file -> env -> cli

existing EDITOR or VISUAL variables would overwrite those
explicitly set in the conf file. While we do want the general
precedence of env over conf file, this is a special case where
we get the value of the _DEFAULT_ variable from the env, and
only then start parsing our own options. So now, for these vars
we do:

default -> env (EDITOR/VISUAL) -> conf_file -> env (TOPEN_EDITOR) -> cli
2025-04-07 10:49:12 +02:00
96422d254b
fix: Reintegrate env var parsing
Was removed from parsing when conf parsing was added, now re-added into
configuration parsing.
2025-04-07 10:49:11 +02:00
f1f3041928
feat: Add taskrc parsing
We first parse the taskrc file now, before overwriting those options
with ones given on the command line.
2025-04-07 10:49:11 +02:00
1ec3755344
chore: Simplify funcs by removing default args
In preparation for reading the config also from a taskrc file I want to
simplify the configuration management beforehand. There should be one
place where we grab it from the environment, one place to grab from CLI
and then one place from conf file. This helps with simplifying a little
by not again injecting defaults at the mid-point.

Ultimately, we should create one 'config' data structure, probably dict
or NameSpace which we pass around and each function receives it.
2025-04-07 10:49:07 +02:00
790b5b4bad
doc: Update pyproject and cli descriptions
Reflects forge project description.
2025-04-01 14:24:20 +02:00
bda8c3b992
fix: Allow correct installation of script 2025-04-01 10:57:07 +02:00
Renamed from topen (Browse further)