{"id":16209236,"url":"https://github.com/gilzoide/nested","last_synced_at":"2025-04-07T20:41:57.559Z","repository":{"id":70590417,"uuid":"268924793","full_name":"gilzoide/nested","owner":"gilzoide","description":"A generic nested data structure file format, where data is formed by nested lists with both sequential data and key-value paired data.","archived":false,"fork":false,"pushed_at":"2023-01-08T14:42:43.000Z","size":137,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-13T22:19:17.427Z","etag":null,"topics":["file-format","lua","nested-lists","nested-structures","serialization"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gilzoide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"publiccode":null,"codemeta":null},"funding":{"github":["gilzoide"],"patreon":null,"open_collective":null,"ko_fi":"gilzoide","tidelift":null,"community_bridge":null,"liberapay":"gilzoide","issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-06-02T22:50:56.000Z","updated_at":"2023-01-08T14:42:48.000Z","dependencies_parsed_at":"2023-06-09T21:45:20.940Z","dependency_job_id":null,"html_url":"https://github.com/gilzoide/nested","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzoide%2Fnested","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzoide%2Fnested/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzoide%2Fnested/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzoide%2Fnested/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gilzoide","download_url":"https://codeload.github.com/gilzoide/nested/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247728279,"owners_count":20986244,"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":["file-format","lua","nested-lists","nested-structures","serialization"],"created_at":"2024-10-10T10:28:51.972Z","updated_at":"2025-04-07T20:41:57.406Z","avatar_url":"https://github.com/gilzoide.png","language":"Lua","readme":"# Nested\nA generic nested data structure textual format.\n\nData is formed by nested lists with associated key-value paired data.\nEach list can have any number of elements, either sublists or text values, and any number of key-value data.\nParticularly, a list containing only sequential data would be like regular *lists* or *arrays* and\na list containing only key-value data would be like *maps* or *dictionaries*.\n\n\n## Format\n\n- Whitespace, commas `,` and semi-colons `;` separates list nodes\n- Any non-whitespace sequence that don't fall in any of the following rules\n  is a text value\n- Parenthesis `()`, brackets `[]` or braces `{}` delimit a child list\n- Starting single quotes `'`, double quotes `\"` and backticks \u003ccode\u003e\\`\u003c/code\u003e delimit a single \n  text value that may contain otherwise special characters, like `()`, `[]`, `,`, `:` or `;`.\n  The quotation marks can be escaped by being doubled, so that the text `'one ''quoted'' phrase'`\n  content becomes `one 'quoted' phrase`, for example. Notice that quotation marks can\n  appear normally in the middle of text values, like `f'` or `double\"quotes\"`\n- A mumber sign `#` starts a comment, so the rest of the line text is discarded.\n  To use `#` as the first character in a text value, the text must be quoted\n- A colon `:` just after a text value marks a key-value data binding\n  with the just parsed text value being the key and the following node\n  being a value. To use `:` in a text value, the text must be quoted.\n  Notice that keys are always text, but values can be either text or nested lists.\n\nIt's interesting to notice that valid [JSON](https://www.json.org) files are also valid **Nested** files,\nalthough **Nested** does not enforce the same semantics for non-textual values like numbers and `null`, nor\ntext escape sequences.\n\n\n## Implementations\nFor now, there is an implementation in Lua. [Lua tables](https://www.lua.org/pil/2.5.html)\nare exactly a representation of data with both sequential and key-pair values.\n\nInstall it using [LuaRocks](https://luarocks.org/):\n\n    $ luarocks install nested\n\nOr just copy `lua/nested.lua` into your Lua path and `require` it, the module has no dependencies.\n\nThere is also a Command Line Interface script for reading and reformatting nested data in the file `lua/main.lua`.\nWhen installing with [LuaRocks](https://luarocks.org/), the CLI script is installed as the `nested` command.\n\n    $ luarocks install nested-cli\n\n\n## Documentation\n[LDoc](https://github.com/lunarmodules/LDoc) based documentation for the Lua module is\navailable at [github pages](https://gilzoide.github.io/nested/) and can be generated with\nthe following command:\n\n    $ ldoc lua/doc -d docs\n\n","funding_links":["https://github.com/sponsors/gilzoide","https://ko-fi.com/gilzoide","https://liberapay.com/gilzoide"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgilzoide%2Fnested","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgilzoide%2Fnested","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgilzoide%2Fnested/lists"}