{"id":17693603,"url":"https://github.com/andy5995/canfigger","last_synced_at":"2025-05-13T03:18:24.306Z","repository":{"id":40306523,"uuid":"372144309","full_name":"andy5995/canfigger","owner":"andy5995","description":"A lightweight library designed to parse configuration files","archived":false,"fork":false,"pushed_at":"2025-01-11T14:33:09.000Z","size":347,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"trunk","last_synced_at":"2025-05-13T03:18:16.152Z","etag":null,"topics":["c","config","configuration-files","gpl-3-or-later","library","mesonbuild","parser","small-projects"],"latest_commit_sha":null,"homepage":"https://andy5995.github.io/canfigger/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andy5995.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-05-30T06:49:51.000Z","updated_at":"2025-04-16T13:48:06.000Z","dependencies_parsed_at":"2024-02-20T23:31:00.305Z","dependency_job_id":"3da711e2-f451-44ad-be4e-1a6e626d76a3","html_url":"https://github.com/andy5995/canfigger","commit_stats":{"total_commits":79,"total_committers":3,"mean_commits":"26.333333333333332","dds":0.240506329113924,"last_synced_commit":"3e98e3326c87cf7cc34ec546865bc325ab620edd"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy5995%2Fcanfigger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy5995%2Fcanfigger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy5995%2Fcanfigger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andy5995%2Fcanfigger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andy5995","download_url":"https://codeload.github.com/andy5995/canfigger/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253863173,"owners_count":21975596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","config","configuration-files","gpl-3-or-later","library","mesonbuild","parser","small-projects"],"created_at":"2024-10-24T13:45:37.384Z","updated_at":"2025-05-13T03:18:24.284Z","avatar_url":"https://github.com/andy5995.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![codeql-badge]][codeql-url]\n[![actions-c-badge]][actions-c-url]\n[![cirrus-badge]][cirrus-url]\n[![windows-badge]][windows-url]\n\n# canfigger v0.3.1-dev\n\nCanfigger is a lightweight C language library designed to parse configuration\nfiles. It provides functionality to read them and represent their contents as\na linked list of key-value pairs, along with associated attributes for each\npair.\n\n* [website/API documentation and examples](https://andy5995.github.io/canfigger/)\n* [source on GitHub](https://github.com/andy5995/canfigger/)\n* [releases](https://github.com/andy5995/canfigger/releases)\n\n## Format\n\nThe following config file example represents the format handled by canfigger:\n\n```\nfoo = bar\nblue = color, shiny\nstatement = hello world, obvious\n\n# An option with no value or attributes\nFeatureFooEnabled\n\n# key, value with 2 attributes\ndhcp-range = 192.168.0.50, 192.168.0.150, 12\n\n# key, value with 9 attributes\nsolar_system = sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Neptune, Uranus, Pluto\n```\n\nYou can change the attribute delimiter character by passing it as the second\nargument:\n\n    canfigger_parse_file(filename_ptr, ':');\n\n## Dependencies\n\nNone\n\n## Building\n\n    meson setup _build\n    cd _build\n    ninja\n\nFor configuration options, use `meson configure` (see the [Meson\ndocs](https://mesonbuild.com/) for detailed usage).\n\n## Tests\n\n    meson test (-v)\n\n## Example program\n\nAn example program will be built when you run `ninja`. It will read\n`examplerc` in the source root directory. If you want to try it with a\ndifferent config file, give `example` the name of a config file as an\nargument.\n\n## Using canfigger in your project\n\nIf canfigger is not available for your operating system or distribution, you\ncan copy the required sources (and the LICENSE file) into your project and add\nthem to your build system. The line `include \u003cconfig.h\u003e` from the top of the\n.c file will need to be removed, as it is normally generated during the Meson\nsetup and only contains version information.\n\nAlternatively, if your project uses Meson, you can add a [wrap\nfile](https://mesonbuild.com/Wrap-dependency-system-manual.html#wrap-dependency-system-manual)\nfor canfigger in your 'subprojects' directory.\n\n\u003c!-- Add your project here if it has had at least one release --\u003e\n## Projects using canfigger\n\n* [rmw](https://theimpossibleastronaut.github.io/rmw-website/)\n\n[codeql-badge]: https://github.com/andy5995/canfigger/workflows/CodeQL/badge.svg\n[codeql-url]: https://github.com/andy5995/canfigger/actions?query=workflow%3ACodeQL\n[actions-c-badge]: https://github.com/andy5995/canfigger/actions/workflows/c-cpp.yml/badge.svg\n[actions-c-url]: https://github.com/andy5995/canfigger/actions/workflows/c-cpp.yml\n[cirrus-badge]:https://api.cirrus-ci.com/github/andy5995/canfigger.svg\n[cirrus-url]:https://cirrus-ci.com/github/andy5995/canfigger\n[windows-badge]:https://github.com/andy5995/canfigger/actions/workflows/windows.yml/badge.svg\n[windows-url]:https://github.com/andy5995/canfigger/actions/workflows/windows.yml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy5995%2Fcanfigger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandy5995%2Fcanfigger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy5995%2Fcanfigger/lists"}