ไธๆฌพ็จไบๅค็้ ็ฝฎๆไปถ็ๅฐๅทฅๅ ทใ
ๆจๅฏไปฅ็จๅฎๆฅ่ช็ฑๆข็ดข tomlใyamlใjsonใronใbsonใLisp S-exp ไปฅๅ xml๏ผๅนถไปไธญๅ็ฐไน่ถฃใ
้ป่ฎคๆ ๅตไธ๏ผๆฒกๆๅฏ็จ bson ๅ xml ๅ่ฝใ
ๅ
ๅๅปๆๅผ svg ๅพ็๏ผ็ถๅๅฏน่่ฒ้ซไบฎ็่ถ
้พๆฅๅค๏ผไพๅฆ โarm64.debโ๏ผๆไธ้ผ ๆ ไธญ้ฎใ
ๅฆๆๆฒกๆ้ผ ๆ ็่ฏ๏ผๅฏไปฅ้ฟๆ่งฆๆธๅฑ๏ผๆๅจ้ๆฉโๅจๆฐๆ ็ญพ้กตไธญๆๅผโ๏ผ่ฟๆ ทๅญๅฐฑๅฏไปฅไธ่ฝฝไบใ
ไธ้ข้ฃๅผ svg ไผ่ชๅจๆดๆฐ๏ผๅฆๆๅ ไธบๆต่งๅจ็ผๅญ่ๅฏผ่ดๆ ๆณ่ทๅๆๆฐ็ svg๏ผๅ่ฏทๅๅพ releases ่ทๅๅบๅฎ็ๆฌ็ svgใ
ๅฏนไบ ubuntu๏ผๆไปฌๅฏไปฅ็ดๆฅ็จ apt install [debๆไปถ็่ทฏๅพ]
ๆฅๅฎ่ฃ
ใ
ๅฆๆๆฒกๆ root ๆ้๏ผๅ้่ฆ็จ
sudo
ๆdoas
ไน็ฑป็ๆๆๅฝไปคใ
ๅ่ฎพ deb ๆไปถ็่ทฏๅพไธบ /app.deb
, ้ฃไนๅฎ่ฃ
ๅฝไปคๅฐฑๆฏ apt install /app.deb
่ฎฉๆไปฌๆฅ่ฏ่ฏ alpine ่ฝไธ่ฝๅฎ่ฃ deb ๅง๏ผ
ๅฎๆฏ musl-linux-riscv64
๏ผ่ไธๆฏ riscv64
, ็่ตทๆฅๅฅฝๅไธ่ฝๅฎ่ฃ
็ๆ ทๅญๅฆ๏ผ
่ฎฉๆไปฌๆฅๅผบๅถๅฎ่ฃ ็็ใ
Q: ๅๅฆ! ็ๆฏๅคชไธๅฏๆ่ฎฎไบ๏ผไธบไปไนๅฎไธไป ๅฏไปฅ่ฃ ไธๅป๏ผ่ไธ่ฟ่ฝ่ทๅข๏ผ
A: ๅ ไธบๅฎๆฏ้ๆ็ผ่ฏ็ใ
ๆๆถๅ glibc ็้ๆ้พๆฅๅฏ่ฝไผๅบ้ฎ้ข๏ผๅปบ่ฎฎ็จ muslใ
่่ๅฐไธๅๅ่ก็็ๅ
็ฎก็ๅจๅฏ่ฝไผๅฒ็ช๏ผๅ ๆญคๅปบ่ฎฎๅจ alpine ไธไฝฟ็จ alpine ่ชๅฎถ็ apk
๏ผ ่ไธๆฏ debian ็ dpkg
ใ
ๆจๅฏไปฅๆๅฎๆๅบๆฅ็จ |
ไธ่ฝฝๅฎ wasm.zst
ๆไปถๅ๏ผ้่ฆๅฐๅ
ถ่งฃๅๅบๆฅใ
ๆฅ็้่ฆ่ทๅ runtime๏ผ็ถๅ่ฎฉ runtime ๆฅๅ ่ฝฝ่ฟไธช wasm ๆไปถใ
ๆฏๆน่ฏด๏ผๆจๅฏไปฅ็จ wasmer
:
wasmer --dir . --env LANG=zh ./tomlyre.wasm
ไนๅฏไปฅ็จ wasmtime
:
wasmtime --dir . --env LANG=zh ./tomlyre.wasm
ๆ่ ๆฏๅ ถไปๆจๅๆฌข็ runtimesใ
ๆจๅฆๆ้่ฆๅจ Linux x64 ็ CI ็ฏๅขไธญไฝฟ็จๅฎ๏ผๅๅฏไฝฟ็จไปฅไธๅฝไปค
docker run -it --rm \
-u $(id -u) \
-v $PWD:/local \
-w /data \
ghcr.io/2moe/tomlyre:x86_64-unknown-linux-musl \
cp tomlyre /local
่ฟ็ธๅฝไบๆๅฎนๅจๅ
้จ็ /data/tomlyre
ๅคๅถๅฐๅฝๅ็ฎๅฝ
ๅฏนไบไปฅ tar.xz
/tar.bz2
ไธบๅ็ผ็ๆไปถ๏ผๆไปฌๅฏไปฅไฝฟ็จ tar -xvf [ๅ็ผฉๅ
]
ๆฅ่งฃๅใ
tar -xvf x64.tar.xz
่งฃๅๅฎๆๅ๏ผๅจ็ป็ซฏ้่ฐ็จ ./tomlyre
ๅณๅฏใ
ๆ ธๅฟๅ่ฝๅชๆไธไธช๏ผ
- ่ฝฌๆข (conv)
- ่ทๅ (get)
- ่ฎพ็ฝฎ/ไฟฎๆน (set)
้คๆญคไนๅค๏ผๅ จ้ฝๆฏ้ขๅค็ๅ่ฝ๏ผไพๅฆ่ฎพ็ฝฎไธป้ขไธ่กจๆ ผ็ๆ ทๅผใ
ไฝฟ็จ --help
่ฝ่ทๅ่ฏฆ็ป็ๅธฎๅฉไฟกๆฏใ
tomlyre set
็ธๅฝไบtomlyre set -h
๏ผๅฎไผ่พๅบ็ฎๆด็ๅธฎๅฉไฟกๆฏใtomlyre set --help
ไผ่พๅบ้ๅธธ่ฏฆ็ป็ไฟกๆฏใ- ๅ็๏ผๅ
ถไปๅญๅฝไปคไน่ฝ่ฐ็จ
--help
ใ
|
|
ไฝฟ็จ --theme
ๅๆฐ (ๅฏไปฅ็ฎๅไธบ -t
) ๆฅๆๅฎไธป้ข๏ผไพๅฆ tomlyre -t "One Dark" conv test.yml -t json
ใ
conv
ๅญๅฝไปค็-t
ๆ็ๆฏ--to
๏ผ่ๆ นๅฝไปค็-t
ๅๆฏ--theme
ใ
ๅฝๆชๆๅฎไธป้ขๅ็งฐๆถ๏ผไผๅไธพๅบๆๆ็ไธป้ขใ
ไปฅไธๆฏๅ ็ฝฎ็ไธป้ข๏ผๆจๅฏไปฅๆๅจ่ฝฝๅ ฅไธป้ข้ๅๅ ๏ผๅนถๆๅฎๅ็งฐ๏ผ่ไธๆฏไฝฟ็จๅ ็ฝฎ็ไธป้ขใ
่ฟไบไธป้ขๅคง้ฝไฝฟ็จ MIT License๏ผๆจๅฏไปฅๅจ hlight/dev/assets/theme ้ๆพๅฐๅ ็ฝฎไธป้ขไปฅๅ็ธๅ ณ็่ฎธๅฏ่ฏๆไปถใ
ไฝฟ็จ --table-style
ๆฅๆๅฎ่กจๆ ผๆ ทๅผ(ๅฏไปฅ็ฎๅไธบ --ts
)๏ผไพๅฆ: --table-style markdown
ๆ --ts md
ๅฏไปฅๆๅฎ่กจๆ ผๆ ทๅผไธบ markdownใ
tomlyre --ts md get Cargo.toml -k profile.fat
profile.fat | ็ฑปๅ | Value |
---|---|---|
inherits | str | thin |
lto | str | fat |
opt-level | str | z |
ไปฅไธไธบๅ ็ฝฎ็่กจๆ ผๆ ทๅผ๏ผ ๏ผ้็ญๅฎฝๅญไฝๅฏ่ฝไผๅบ็ฐๆ็ๅผๅธธ็้ฎ้ข๏ผ
style: default
โญโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโฎ
โ Version โ Codename โ Created โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โฐโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโฏ
style: nothing
Version Codename Created
10 Buster 2017-06-17
11 Bullseye 2019-07-16
12 Bookworm 2021-08-14
13 Trixie 2023
14 Forky 2025
style: ascii
+---------+----------+------------+
| Version | Codename | Created |
+=================================+
| 10 | Buster | 2017-06-17 |
|---------+----------+------------|
| 11 | Bullseye | 2019-07-16 |
|---------+----------+------------|
| 12 | Bookworm | 2021-08-14 |
|---------+----------+------------|
| 13 | Trixie | 2023 |
|---------+----------+------------|
| 14 | Forky | 2025 |
+---------+----------+------------+
style: ascii-borders
+---------------------------------+
| Version Codename Created |
+=================================+
| 10 Buster 2017-06-17 |
| 11 Bullseye 2019-07-16 |
| 12 Bookworm 2021-08-14 |
| 13 Trixie 2023 |
| 14 Forky 2025 |
+---------------------------------+
style: right-u8-fat
โโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ Version โ Codename โ Created โ
โโโโโโโโโโโชโโโโโโโโโโโชโโโโโโโโโโโโโก
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
style: right-u8
โโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ Version โ Codename โ Created โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
style: right-u8-thin
โโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ Version โ Codename โ Created โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
style: u8
โโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ Version โ Codename โ Created โ
โโโโโโโโโโโชโโโโโโโโโโโชโโโโโโโโโโโโโก
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
style: u8-no-dividers
โโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ Version โ Codename โ Created โ
โโโโโโโโโโโชโโโโโโโโโโโชโโโโโโโโโโโโโก
โ 10 โ Buster โ 2017-06-17 โ
โ 11 โ Bullseye โ 2019-07-16 โ
โ 12 โ Bookworm โ 2021-08-14 โ
โ 13 โ Trixie โ 2023 โ
โ 14 โ Forky โ 2025 โ
โโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
style: u8-borders
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Version Codename Created โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโก
โ 10 Buster 2017-06-17 โ
โ 11 Bullseye 2019-07-16 โ
โ 12 Bookworm 2021-08-14 โ
โ 13 Trixie 2023 โ
โ 14 Forky 2025 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
style: u8-no-borders
Version โ Codename โ Created
โโโโโโโโโโชโโโโโโโโโโโชโโโโโโโโโโโโ
10 โ Buster โ 2017-06-17
โโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโ
11 โ Bullseye โ 2019-07-16
โโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโ
12 โ Bookworm โ 2021-08-14
โโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโ
13 โ Trixie โ 2023
โโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโ
14 โ Forky โ 2025
style: horizontal
---------------------------------
Version Codename Created
=================================
10 Buster 2017-06-17
---------------------------------
11 Bullseye 2019-07-16
---------------------------------
12 Bookworm 2021-08-14
---------------------------------
13 Trixie 2023
---------------------------------
14 Forky 2025
---------------------------------
style: round-u8
โญโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโฎ
โ Version โ Codename โ Created โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โฐโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโฏ
style: round-u8-fat
โญโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโฎ
โ Version โ Codename โ Created โ
โโโโโโโโโโโชโโโโโโโโโโโชโโโโโโโโโโโโโก
โ 10 โ Buster โ 2017-06-17 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 11 โ Bullseye โ 2019-07-16 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 12 โ Bookworm โ 2021-08-14 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 13 โ Trixie โ 2023 โ
โโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโค
โ 14 โ Forky โ 2025 โ
โฐโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโฏ
style: markdown
| Version | Codename | Created |
|---------|----------|------------|
| 10 | Buster | 2017-06-17 |
| 11 | Bullseye | 2019-07-16 |
| 12 | Bookworm | 2021-08-14 |
| 13 | Trixie | 2023 |
| 14 | Forky | 2025 |
่ญฆๅ๏ผๅฆๆไธค็ง้ ็ฝฎไน้ด็ๆฐๆฎ็ฑปๅไธ่ฝๅฎๅ จๅ ผๅฎน๏ผ้ฃไน่ฝฌๆขๅๆฐๆฎ็ฑปๅไผๅ็ๆนๅใ
ๆฏๅฆ่ฏด ron ๆ char ็ฑปๅ๏ผไปฃ่กจๅไธชๅญ็ฌฆใ
ไปฅ hello๏ผไธ็
ไธบไพ ๏ผ่ฟๆฏไธไธช stringใ
'h' ๆฏ char, "h" ๆฏ stringใ
"ไธ็" ๆฏ string, 'ไธ' ๆฏ charใ
็ถ่๏ผjson 1.0
ๅ toml 1.0
้ฝๆฒกๆ char ็ฑปๅใ
hello.ron:
{
"s": 'ไธ',
"j": '็',
}
tomlyre c hello.ron -t json
json:
{
"j": "็",
"s": "ไธ"
}
ๅ ๆญค๏ผron
็ char ่ฝฌๆ json 1.0
ไผๅๆ stringใ
ๅๆฏๅฆ๏ผ ็ฎๅๆๅพๅค็ง้
็ฝฎๆ ผๅผ้ฝๆฏๆ่ฟไธค็ง็นๆฎ็ๆตฎ็นๆฐ๏ผNaN ๅ inf๏ผไฝ json 1.0
ไธๆฏๆใ
ๅจ json 1.0
ไธญ๏ผๅฎไปฌ้ฝไผๅๆ null
ใ
f64-map.toml:
[double-float-map]
not-a-num = nan
infinity = inf
tomlyre conv f64-map.toml -t ./f.yaml --save
f.yaml:
double-float-map:
infinity: .inf
not-a-num: .nan
tomlyre conv f.yaml -t ron --sv
f.ron:
{
"double-float-map": {
"infinity": inf,
"not-a-num": NaN,
},
}
tomlyre conv f.ron -t sexp
sexp ๆ็ๆฏ Lisp S-Expressions
(("double-float-map" ("infinity" . inf) ("not-a-num" . NaN)))
tomlyre conv f.ron -t json
{
"double-float-map": {
"infinity": null,
"not-a-num": null
}
}
tomlyre conv f.ron -t json5
{ "double-float-map": { infinity: Infinity, "not-a-num": NaN } }
Q๏ผ json
ๆ๏ผไฝๅ
ถไปๆ ผๅผๆฒกๆ็ๆฐๆฎ็ฑปๅๆฏไปไน๏ผ
A: null
ๆฏๅฆ่ฏด๏ผtoml 1.0
ๅ ron
้ฝไธๆฏๆ null
ๅผ๏ผๅฆๆๅฐๅ
ๅซ null
็ json 1.0
่ฟ่ก่ฝฌๆข๏ผtoml
ไผ็ดๆฅๆฅ้๏ผ่ ron
ๅไผๅฐๅ
ถ่ฝฌๆขๆ็ฉบๅ
็ป ()
, ไนๅฐฑๆฏไฟ็งฐ็ๅๅ
็ฑปๅ๏ผUnit๏ผใ
ๆณจ๏ผ ron ไฝฟ็จ็ๆฏ
Option<T>
็ฑปๅ, ๅผไธบSome(T)
ๆNone
๏ผ่ไธๆฏnull
ใ
ๆญคๅค๏ผไธๅ็้ ็ฝฎๆ ผๅผไน้ด่ฟๆไธๅฐ็ๅบๅซ๏ผๆไปฌๅนถๆฒกๆๅ จ้จๅไธพๅบๆฅใ
ๅฝ็จ set
ๅญๅฝไปคๆๅฎไบ key, ๅนถไธๆชๆๅฎ value ๆถ๏ผ็ธๅฝไบๆด่ฏฆ็ป็ๆฌ็ set
ใ
ๆฏๅฆ่ฏด๏ผๆไปฌไฝฟ็จไปฅไธๅฝไปคไป stdin ไธญ่ฏปๅๅนถ่งฃๆๆฐๆฎ
get ๅ้ข็
-
ไปฃ่กจๆฅๆบๆฏ stdin๏ผ่ไธๆฏๅ ทไฝ็ๆไปถ
curl -sL https://raw.githubusercontent.com/2moe/tomlyre/main/Cargo.toml | tomlyre get - -k profile.thin.strip
ๅฝไฝฟ็จ get
ๆถ๏ผstdout ไผ่พๅบ true
ใ
่ๅฝๆไปฌๆ get
ๆนๆ set
ๆถ, ๅฎไผ่พๅบ ๏ผ
true
key: ["profile", "thin", "strip"]
type: boolean
value:
true
Q: ่พๅบ็ไฟกๆฏๆฏ่ถๅค่ถๅฅฝๅ๏ผ
A: ไธๆฏ็๏ผ
่ฟไธป่ฆๅๅณไบๆไปฌ็ไฝฟ็จ็ฎ็ใ
ๅฝๆไปฌ้่ฆ็จ่ๆฌๆฅ่ทๅๅ
ทไฝ็ๅผๆถ๏ผๅช้่ฆๆๆ็ไฟกๆฏ๏ผๅคไฝ็ไฟกๆฏไธไป
ๆ ็จ๏ผ่ไธ่ฟไผๅนฒๆฐๆฐๆฎ็่ทๅใ
ไธไน็ธๅ๏ผๅฝๆไปฌ้่ฆๆๅจไฟฎๆนๆถ๏ผๆๅ
ทไฝ็ไฟกๆฏๅพๅพไผๆดๅฅฝใ
ๆไปฌๅฏไปฅๅฏน set
ๅญๅฝไปคไฝฟ็จ --help
ๆฅ่ทๅ่ฏฆ็ปไฟกๆฏใ
ๅบๆฌ็จๆณไธบ๏ผ set [ๆฅๆบๆไปถ] -k [็จ"."ๆฅๅๅฒ็keys] [ๆๅฎๆฐๆฎ็ฑปๅ็้้กน] [ๆๅฎๆฐๆฎ็ฑปๅ็ๅผ(ๅฏ่ฝไธบ็ฉบ๏ผไนๅฏ่ฝๆๅคไธช)]
ไพๅฆ set test.toml --key package.edition --str 2024
ๆณจๆ๏ผ
ๅชๆๅฝ src ็ๆ ผๅผไธบ toml ๆถๆไผไฟ็ๆณจ้๏ผๅ ถไปๆ ผๅผไธไผใ
ๅ ถไปๆ ผๅผไผๅ ่ฝฌๆขๆ toml ๅ่ฟ่กไฟฎๆน๏ผ่ฝฌๆขๅ็ๆไปถไธไผไฟ็ๆณจ้ใ
ๆญคๅคๅชๆฏ็ฎๅๅฐๅไธพไธไธๅฎๆฏๆ็ๆฐๆฎ็ฑปๅใ
ๅบๆฌๆฐๆฎ็ฑปๅ
้้กน | ๅซๅ | ๅผ็็ฑปๅ | ๆ่ฟฐ | ็คบไพ |
---|---|---|---|---|
-s | --str | String | ๅญ็ฌฆไธฒ็ฑปๅ | -s "1.114.5-beta.1" |
-b | --bool | bool | ๅธๅฐ็ฑปๅ | -b true |
--f64 | f64 | ๅ็ฒพๅบฆๆตฎ็นๆฐ็ฑปๅ | --f64 314e-2 |
|
-n | --num/--int | i64 | 64 ไฝๆ็ฌฆๅทๆดๆฐ็ฑปๅ | -n 2048 |
-a | --arr | Vec<String> |
ๅญ็ฌฆไธฒ็ๆฐ็ป | -a hello -a world |
--num-arr | --na | Vec<i64> |
i64 ็ๆฐ็ป | --na 11 --na -3 |
--f64-arr | --fa | Vec<f64> |
f64 ็ๆฐ็ป | --fa 3.14 --fa 2.71828182 |
--bool-arr | --ba | Vec<bool> |
bool ็ๆฐ็ป | --ba true --ba false |
-i | --inline-table | Vec<(key, value)> |
ๅ ่่กจ | -i name sd -i os android |
--rm | ๅ ๆๆๅฎ็ key ๅๅ ถ value |
ๆญคๅค๏ผ่ฟๆไธไบไธ้ฃไนโๅบๆฌโ็ๆฐๆฎ็ฑปๅใๆฏๅฆโๆ ๅ่กจโ๏ผโ่กจๆฐ็ปโ๏ผไปฅๅ DateTimeใ
ๆ ๅ่กจๅๅ
่่กจๅพๅ๏ผๅฆๆไธ็ฅ้็จๅชไธช๏ผ้ฃๅฐฑ็จ -i
, ่ไธๆฏ็จ -m
ใ
ๅฏนไบ toml ไปฅๅค็ๆ ผๅผ๏ผๅๅปบๆฐ่กจๆถ๏ผ่ฏทไธๅพไฝฟ็จ -i
, ่ไธๆฏ -m
๏ผ
ๅ่ฎพ hello.toml ้้ขๆไธชๅไธบ test ็่กจๆฐ็ป๏ผ็ดขๅผไธบ 0 ็ map ๆไธช key ๅซ kk, ๅ ถๅผไธบ vใ
[[test]]
kk = "v"
set hello.toml -k test.
test. | ็ฑปๅ | Value |
---|---|---|
0.kk | str | v |
key: ["test"]
type: array of tables
value:
[{ kk = "v" }]
่ฎฉๆไปฌ็จ -m
ๆ --table
ๆฅๅๅปบไธไธชๅญ่กจ็็ใ
set hello.toml --key test.0.a --map hello world --pre
่พๅบๅ ๅฎน:
key: ["test", "0", "a"]
type: table
new value: hello = "world"
test.0 | ็ฑปๅ | ๆฐๅผ(value) |
---|---|---|
kk | str | v |
a.hello | str | world |
[[test]]
kk = "v"
[test.a]
hello = "world"
็่ตทๆฅๅฅฝๅๆฒก้ฎ้ข๏ผๅ็จๅ ่่กจ่ฏ่ฏใ
set hello.toml -k test.0.a -i hello world --pre
่พๅบๅ ๅฎน:
[[test]]
kk = "v"
a = { hello = "world" }
ๅฏนไบ่ฟ็งๆ ๅต๏ผๆ ๅ่กจไธๅ ่่กจๆฏไธๆ ท็ใ๏ผ่ฝ็ถ็่ตทๆฅไธไธๆ ท๏ผไฝๆฏๅ ถ่งฃๆ็็ปๆๆฏไธๆ ท็ใ๏ผ
ๅฏๆฏๅฝ key ไธบ test.0.x.y.z
ๆถ๏ผ้้ขๆๅคไธชไธๅญๅจ็ๅตๅฅๅญ่กจ๏ผๆจๅฏไปฅๅฐ่ฏๅๅซ็จ-m
ไธ -i
ใ
ๅจไบฒ่ชๅฐ่ฏไนๅ๏ผๆ็ธไฟกๆจๅฎ่ฝ็ฅๆไธไฝฟ็จ -m
็็ผ็ฑใ
่ฏฆ็ป็จๅบฆไป้ซๅฐไฝ๏ผไพๆฌกๆฏ trace
> debug
> info
> warn
> error
ๅ
ถไธญ trace
ๆฏๆ่ฏฆ็ป็ใ
้ป่ฎค็็บงๅซไธบ info
ใ
ๆไปฌๅฏไปฅ้่ฟ่ฎพ็ฝฎ็ฏๅขๅ้ๆฅไฟฎๆนๆฅๅฟ็บงๅซ
v0.0.1-beta.1 ๅๅ ถไนๅ็็ๆฌไฝฟ็จ
RUST_LOG
็ฏๅขๅ้๏ผ ่ไธๆฏTOMLYRE_LOG
env TOMLYRE_LOG=debug tomlyre
Q: ่ฟไธชๅทฅๅ ท็่ฎพ่ฎกๅ่กทๆฏไปไน๏ผ
A: ๅ่กทๆฏ่ฎฉๅคงๅฎถๅจ CLI ้๏ผ่ฝไปฅไธ็ง็ฎๅๅไผ้ ็ๆนๅผๅปๆฅ่ฏขไธไฟฎๆน้ ็ฝฎๆไปถใ
ๅคงๆฆๅจไธไธคๅนดๅ็ๆถๅ๏ผๆๆพๅจๅฆไธไธช้กน็ฎ็ๆๆกฃไธญ่ฏด่ฟ๏ผ
- ้ฃไธช้กน็ฎไนๅไผ็จ
toml
ๆ ผๅผ่ฟ่ก้ ็ฝฎ- ๅนถไธ่ฟไป็ปไบไธไบๅ
ทไฝ็็ป่
- ๆฏๅฆ็จ
get
ๅญๅฝไปคๆฅ่ทๅ - ็จ
set
ๆฅไฟฎๆน
- ๆฏๅฆ็จ
- ๅนถไธ่ฟไป็ปไบไธไบๅ
ทไฝ็็ป่
ๅจ่ฎพ่ฎกๆถ๏ผๆไธ็ดๅจ็บ ็ป๏ผๆๅฐๅบ่ฏฅ็จ tomlใyaml ่ฟๆฏ ron๏ผๆ่ ๆฏๅ็ๆด็ปไธ็น๏ผ็ดๆฅ็จๆฐๆฎๅบๅข๏ผ
่ตทๅ็ๆถๅ๏ผๆๅทฒ็ปๅๅฎไบๅๆถๆฏๆ toml ไธ yaml ็ไปฃ็ ใ
่ฟๆถๅๅฐไบ่งฃๆไผๅ
้กบๅบ็้ฎ้ขใ
ๅฝๅๆถๅญๅจไปฅไธๆไปถๆถ๏ผ็จๅบๅบ่ฏฅๅ
่งฃๆๅชไธไธชๅข๏ผ
- cfg.toml
- cfg.Toml
- cfg.yaml
- cfg.yml
- cfg.YAML
- cfg.YML
- cfg.Yaml
่ฟๆถๅๅฐฑ่ฆๆๆ ธๅฟ้
็ฝฎไบ๏ผ้่ฟๆ ธๅฟ้
็ฝฎๆฅๆๅฎ็จๆท้
็ฝฎใ
้ฃไน้ฎ้ขๆฅไบ๏ผๆ ธๅฟ้
็ฝฎๆฏไปไนๆ ผๅผๅข๏ผ
ๆไปฌๅฏไปฅ็ฏๅขๅ้ๆฅๆๅฎๆ ธๅฟ้
็ฝฎ็ๆ ผๅผใ
่ฟไน็ๆฅ่ฒไผผไธๆฏๅพ้พๅ๏ผ
่ฏทๆณจๆ๏ผไธๅๆ ผๅผๆ็ไธๅ็่ง่๏ผๅ
ผๅฎนไธๅๆ ผๅผๅพ่ฆไบ่งฃๅฎไปฌไน้ด็ๅทฎๅผใ
ๅฆๆ่ฆๆฏๆๆดๅค็ๆ ผๅผ๏ผ้ฃไนไผๅๅพๆ็น้บป็ฆใ
ๆไบไบๆ ๆฌ่บซไธๆฏๅพ้พ๏ผไฝๆฏ้่ฆ่ฑๅพๅคๆถ้ดๅ็ฒพๅๅปๅค็ใ
ๆ็ป๏ผๆๆๅฎๅ็ฆปๆๅ็ฌ็ๅฐๅทฅๅ ทใ
่ฟๆ ทๅญ๏ผๅคงๅฎถๅฏไปฅ้่ฟ่ฟไธชๅฐๅทฅๅ ทๆฅ้ดๆฅๆฏๆๅค็งๆ ผๅผใ๏ผๆไปฌ็ๅฐ็ๆฏ yaml, ไฝๆฏๅฎ้ ไฟฎๆน็ๆฏ toml ๆไปถ๏ผ
Q: ไธบไปไน่ฆๆฏๆๅค็ง้ ็ฝฎๆ ผๅผๅข๏ผๅคงๅฎถ้ฝ่ฏด
yaml
็ๅฏ่ฏปๆงๅฅฝ๏ผๅชๆฏๆ yaml ไธ่กๅ๏ผ
่ฝ็ถๆๅพๆณๅๅฎๅฐๅ็ญ๏ผโไธ่ก๏ผโ๏ผไฝๅฎ้ ไธ่ฟๅๅณไบๆจไปฅๅๆจ็็จๆท็้ๆฑใ
yaml ๆฏๆๆฏ toml ๅ json ๆด้ซ็บง็ๅ่ฝ๏ผๅฆ ๅผ็จ
, ๅ
ๅซ
ๅ ๆ ็ญพ
็ญใ
-
้็น(anchor)ๅๅซๅ(alias): ๅ ่ฎธๅจๅไธๆๆกฃไธญๅค็จ็ธๅ็ๆฐๆฎ็ปๆๆ่็นใ Anchor and Alias: Allows reusing the same data structure or node within the same document.
-
ๅผ็จ(References): ๅ ่ฎธๅจ YAML ๆๆกฃไธญๅผ็จๅ ถไป่็น็ๅผใ References: Allows referencing values from other nodes within a YAML document.
-
่ชๅฎไนๆ ็ญพ(Custom Tags): ๅ ่ฎธๅฎไน่ชๅทฑ็ๆ ็ญพ๏ผๆดๅฅฝๅฐๆงๅถ YAML ๆฐๆฎ็ฑปๅ็่งฃๆใ Custom Tags: Allows defining custom tags to better control the parsing of YAML data types.
-
ๅ ๅซ(Includes): ๅ ่ฎธๅฐๅคไธช YAML ๆไปถ็ปๅๆไธไธชๆไปถ๏ผๆ้ซๅฏ้็จๆง๏ผๅค็จๆง๏ผใ Includes: Allows combining multiple YAML files into one file, improving code reusability
ๆจๅฆๆ้่ฆ่ฟไบๅ่ฝ๏ผ้ฃไนไฝฟ็จ yaml ๆฏไธไธชๆไฝณ็้ๆฉใ
ๆจๅฆๆไธ้่ฆ่ฟไบๅ่ฝ๏ผ้ฃไน้ๆฉ yaml ๆฏๅฆๅผๅพๅข๏ผ
่ฟไธช้ฎ้ขๅผๅพๆข่ฎจใ
ๆญฃๆน่ง็น๏ผๅ่ฝ่ถๅค่ถๅฅฝ๏ผๆๅฏไปฅไธ็จ๏ผไฝๆฏไฝ ไธ่ฝๆฒกๆใ
ๅๆน่ง็น๏ผๅคชๅคๅ่ฝไผๅขๅ ๅคๆๅบฆๅๆททไนฑๅบฆใ
้คไบๅฏ่ฏปๆงๅๅ่ฝ็ๆ่กกๅค๏ผ่ฟ่ฆ่่ๆฎ้็จๆท็ๆๅใ
ๅฆๆไธไธช้ ็ฝฎๆไปถๅ ๅซไบๅคๆ็ๅตๅฅ็ปๆ๏ผๅนถไธๆจ็็จๆทๆฒกๆไธไธช โ้ซ็บงโ ็็ผ่พๅจ๏ผ้ฃไน yaml ็็ผฉ่ฟ็นๆงๅฏ่ฝๅพๅฎนๆๅฏผ่ด็ผๅๅบ้ใ
ๅฆๆๆจ็็จๆทๅฏ่ฝไผๅจๆฉๆ Windows ็ notepad(่ฎฐไบๆฌ) ไธ็ผๅ้ ็ฝฎ๏ผ้ฃไนไฝฟ็จ toml ไผไธไผๆฏ yaml ๆดๅฅฝๅข๏ผ
ๆฉๆๆ็ๆฏ 2022 ๅนดไปฅๅ็ Windows 10๏ผ้ฃๆถๅ็ notepad ๅชๆๆๅบๆฌ็ๅ่ฝใ
Windows ็ๅทฅๅ ทๅจไธๆญๅๅฑ๏ผไน่ฎธๆไธๅคฉ๏ผnotepad ไนๆ่ฏญๆณ้ซไบฎ๏ผ็ฉบ็ฝๅญ็ฌฆๆพ็คบๅไปฃ็ ่กฅๅ จ็ญ้ซ็บงๅ่ฝใๅ ๆญคๆๅฐๅ ถ้ๅฎไธบโๆฉๆโใ
็จ Windows ๅฏ่ฝไธๅคชๆฐๅฝ๏ผๅ ไธบ Windows ไธ็็ผ่พๅจ่ฝฏไปถ้ๅธธไธฐๅฏใ
ๅฐฑ็ฎไฝ ๅจๅคง่กไธ้ไพฟๆพไธชๅฐๅญฉๅญ๏ผไป้ฝ่ฝๅธฎไฝ ่ฝปๆพๆๅฎ็ผ่พๅจ่ฝฏไปถ็ๅฎ่ฃ
ใ
ไบๆฏ๏ผๆไปฌๆ้ฎ้ขๅๆไบ๏ผโๆจๅฅฝ๏ผๆ็็ฏๅขๆฏ riscv64 ๆถๆ๏ผuClibc ็ Linux, ๆฒกๆๅ ็ฎก็ๅจ๏ผ่ฏท้ฎๆจ่ฝๅฆๅจๆจ็็ต่ไธๅธฎๆ้ ็ฝฎไบคๅ็ผ่ฏ็ฏๅข๏ผๅ็ผ่ฏไธไธช่ถ ่ฝป้็บง็็ผ่พๅจ๏ผ้่ฆๆ่ฏญๆณ้ซไบฎ๏ผๅนถไธ่ฝๅฏน็ฉบ็ฝๅญ็ฌฆ่ฟ่ก้ซไบฎๆพ็คบใโ
emmm๏ผ่ฟๆฏไธ่ฆๅคชไธบ้พ้ฃไธชๅฐๆๅไบใ