{"id":25014302,"url":"https://github.com/gregoryv/goindex","last_synced_at":"2025-09-08T12:46:04.281Z","repository":{"id":43942779,"uuid":"476023207","full_name":"gregoryv/goindex","owner":"gregoryv","description":"Tools to manipulate go source files","archived":false,"fork":false,"pushed_at":"2024-08-25T06:30:05.000Z","size":462,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-23T10:32:45.202Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/gregoryv.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","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,"zenodo":null}},"created_at":"2022-03-30T19:27:41.000Z","updated_at":"2024-06-07T08:13:06.000Z","dependencies_parsed_at":"2023-12-22T13:35:57.455Z","dependency_job_id":"3878a365-6d5e-4ece-82a0-4465b833464a","html_url":"https://github.com/gregoryv/goindex","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/gregoryv/goindex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregoryv%2Fgoindex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregoryv%2Fgoindex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregoryv%2Fgoindex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregoryv%2Fgoindex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gregoryv","download_url":"https://codeload.github.com/gregoryv/goindex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregoryv%2Fgoindex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274188209,"owners_count":25237847,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-02-05T07:19:02.353Z","updated_at":"2025-09-08T12:46:04.214Z","avatar_url":"https://github.com/gregoryv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"goindex - Package for indexing go files\n\nThis module provides tools to manipulate go source files by indexing\nand extracting sections of code. This is useful when you are dealing\nwith large files and want to extract type related sections into a\nseparate file.\n\n![](goindex.gif)\n\n## Quick start\n\n    $ go install github.com/gregoryv/goindex/cmd/...@latest\n\t\nIndex contents of a go file\n\n\t$ index complex.go\n    complex.go 0 18 package testdata\n    complex.go 18 31 import\n    complex.go 31 54 // Decoupled comment\n    complex.go 54 96 func NewBoat() *Boat\n    complex.go 96 132 type Boat struct\n    complex.go 132 282 func (me *Boat) Model() string\n    complex.go 282 369 func DoSomething(v interface{ X() }) (interface{ S() int }, error)\n    complex.go 369 392 // Decoupled comment\n\n\nthen grab Boat related sections using a combination of grep and grab\n\n```shell\n$ goindex complex.go | grep Boat | grab\nfunc NewBoat() *Boat {\n        return \u0026Boat{}\n}\n\ntype Boat struct {\n        model string\n}\n\n// Func comment\nfunc (b *Boat) Model() string {\n        if b.model == \"\" {\n                return fmt.Sprintf(\"%s\", \"unknown\")\n        }\n        // Inline comment\n        return b.model\n}\n```\t\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregoryv%2Fgoindex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregoryv%2Fgoindex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregoryv%2Fgoindex/lists"}