{"id":18495930,"url":"https://github.com/leanprover/subverso","last_synced_at":"2025-10-31T15:30:41.726Z","repository":{"id":224938571,"uuid":"764638973","full_name":"leanprover/subverso","owner":"leanprover","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-11T14:44:50.000Z","size":118,"stargazers_count":4,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-11T15:38:43.481Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lean","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leanprover.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2024-02-28T12:54:17.000Z","updated_at":"2025-02-11T14:44:53.000Z","dependencies_parsed_at":"2024-04-29T07:34:02.230Z","dependency_job_id":"eb13f6bf-eff1-4368-b521-c3329a2787e6","html_url":"https://github.com/leanprover/subverso","commit_stats":null,"previous_names":["leanprover/subverso"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanprover%2Fsubverso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanprover%2Fsubverso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanprover%2Fsubverso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanprover%2Fsubverso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leanprover","download_url":"https://codeload.github.com/leanprover/subverso/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239212561,"owners_count":19600830,"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":[],"created_at":"2024-11-06T13:26:51.896Z","updated_at":"2025-10-31T15:30:41.681Z","avatar_url":"https://github.com/leanprover.png","language":"Lean","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SubVerso - Verso's Library for Subprocesses\n\nSubVerso is a support library that allows a\n[Verso](https://github.com/leanprover/verso) document to describe Lean\ncode written in multiple versions of Lean. Verso itself may be tied to\nnew Lean versions, because it makes use of new compiler features. This\nlibrary will maintain broader compatibility with various Lean versions.\n\n## Versions and Compatibility\n\nSubVerso's CI currently validates it on every Lean release since\n4.0.0, along with whatever version or snapshot is currently targeted\nby Verso itself.\n\nThere should be no expectations of compatibility between different\nversions of SubVerso, however - the specifics of its data formats is\nan implementation detail, not a public API. Please use SubVerso itself\nto read and write the data.\n\n## Features\n\n### Code Examples\n\nPresently, SubVerso supports the extraction of highlighting\ninformation from code. There may be a many-to-many relationship\nbetween Lean modules and documents that describe them. In these cases,\nusing SubVerso's examples library to indicate examples to be shown in\nthe text can be useful.\n\nThis feature may also be useful for other applications that require\ncareful presentation of Lean code.\n\nTo use this feature, first add a dependency on `subverso` to your\nLakefile:\n\n```\nrequire subverso from git \"git@github.com:leanprover/subverso.git\"\n```\n\nThen, in the modules that contain code examples to be used in\ndocumentation, add the following to the imports list:\n```\nimport SubVerso.Examples\n```\nand open the namespace within which the new (scoped) operators are defined:\n```\nopen SubVerso.Examples\n```\n\nThis library defines two new pieces of syntax. Wrapping a sequence of\ncommands in `%example NAME` and `%end` causes their data to be saved\nunder the key `NAME`. Any `%ex{NAME2}{T}` expressions within the\ncommand are additionally saved under the key `NAME2`, with the `%ex`\nannotation removed from the highlighted code.\n\nFor instance, if the module to be highlighted contains:\n```\n%example F\ndef f (n : Nat) : Nat := %ex{plus23}{$ex{N}{n} + 23}\n\n#eval f 5\n%end\n```\nthen three pieces of highlighted code are saved, named `F` (the whole\nblock), `plus23` (which contains `n + 23`), and `N` (which contains\n`n`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanprover%2Fsubverso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleanprover%2Fsubverso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanprover%2Fsubverso/lists"}