pixelb / crudini

A utility for manipulating ini files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support of repeated sections

vaab opened this issue · comments

I'm trying to use crudini on wireguard's config used by wg-quick.

There's a nice example of this file right on the main page: https://www.wireguard.com/

Let's repeat it here:

[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820

[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=
AllowedIPs = 10.192.122.3/32, 10.192.124.1/24

[Peer]
PublicKey = TrMvSoP4jYQlY6RIzBgbssQqY3vxI2Pi+y71lOWWXX0=
AllowedIPs = 10.192.122.4/32, 192.168.0.0/16

Notice the multiple [Peer] sections.

When using crudini on this Peer section, I only get the last section. Did I miss something in the docs ?

More accurately crudini does support multiple sections of the same name,
but will merge the keys in each section, and so only show the last value for each duplicated name.
The TODO mentions we might add support in future for duplicate keys using something like --list=multiname