{"id":16713908,"url":"https://github.com/shepmaster/ebene-rust","last_synced_at":"2025-03-23T14:31:52.487Z","repository":{"id":66121655,"uuid":"79168998","full_name":"shepmaster/ebene-rust","owner":"shepmaster","description":"A Rust source code parser and explorer","archived":false,"fork":false,"pushed_at":"2023-08-31T02:01:01.000Z","size":542,"stargazers_count":23,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-18T21:50:47.535Z","etag":null,"topics":["parser","rust"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/shepmaster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-01-16T23:29:51.000Z","updated_at":"2025-01-26T10:03:29.000Z","dependencies_parsed_at":"2023-08-31T14:53:08.190Z","dependency_job_id":null,"html_url":"https://github.com/shepmaster/ebene-rust","commit_stats":null,"previous_names":["shepmaster/ebene-rust"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shepmaster%2Febene-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shepmaster%2Febene-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shepmaster%2Febene-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shepmaster%2Febene-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shepmaster","download_url":"https://codeload.github.com/shepmaster/ebene-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245116030,"owners_count":20563267,"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":["parser","rust"],"created_at":"2024-10-12T20:48:30.952Z","updated_at":"2025-03-23T14:31:52.173Z","avatar_url":"https://github.com/shepmaster.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ebene-Rust\n\nEbene-Rust is a unique way of exploring Rust code, aiming to answer\nquestions like:\n\n- Which methods take a generic argument that implements the trait `Foo`?\n- Do any structs contain a field called `data`?\n- What statements come after a \"TODO\" comment?\n- Are weird statements like `let Single { y }: Single\u003c\u0026'static u32\u003e;` ever used?\n\n## How do I use it?\n\nRight now, this project is very much in an alpha state. That's the\npolite way of saying \"it works on my machine, and probably no\nother\". I'm hoping to get it into a shape where it at least compiles\nin CI soon.\n\n## Components\n\nEbene-Rust is a combination of many pieces of open source\ntechnology. Some selected pieces include:\n\n### Ebene\n\n[Ebene][] is the underlying search technology that powers the ability\nto perform queries based on the structure of the data. These queries\nare different from the traditional search engine inverted index and\nare based around manipulating ranges of the indexed text known as\n\"extents\".\n\nThe Ebene crate works well on stable Rust.\n\n[Ebene]: https://github.com/shepmaster/ebene\n\n### Fuzzy Pickles\n\n[Fuzzy Pickles][] is a Rust parser written in Rust, constructed with\nthe goal of expressing the level of detail needed to power the\nunderlying search technology.\n\nFuzzy Pickles works well on stable Rust.\n\n[Fuzzy Pickles]: https://github.com/shepmaster/fuzzy-pickles\n\n### Web UI\n\nAlthough the command line is a wonderful tool, building up the\ncomplicated queries and showing the highlighted results works best in\na medium with more fidelity, such as the web. A [Rocket][] backend\npowers a [React][] and [Redux][] frontend.\n\nRocket requires **nightly** Rust.\n\n[Rocket]: https://rocket.rs/\n[React]: https://facebook.github.io/react/\n[Redux]: http://redux.js.org/\n\n## Contribution opportunities\n\nA project always has need for help from interested people!\n\n### Introductory opportunities 🌟\n\nThese are things that anyone should be able to help with!\n\n- Suggest some queries that might be answerable given the structure of\n  a Rust file. Ones that you have had in the Real World are preferred!\n- Try to run the indexer and server on your own files.\n\n### Intermediate opportunities 🌟🌟🌟\n\nThese might require diving into the code a bit and adding new code or\nchanging existing code.\n\n- To be determined!\n\nPlease open up an issue to begin a dialog before starting if a feature\nseems like it will require more than just a straight-forward addition!\n\n### Advanced opportunities 🌟🌟🌟🌟🌟\n\nThese are intense feature requests that probably require a good amount\nof effort and *definitely* should be discussed in an issue before\nbeginning.\n\n- To be determined!\n\n## License\n\nebene-rust is distributed under the terms of both the MIT license and\nthe Apache License (Version 2.0).\n\n## Authors\n\nThis crate was created by Jake Goulding of [Integer 32][].\n\n[Integer 32]: http://www.integer32.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshepmaster%2Febene-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshepmaster%2Febene-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshepmaster%2Febene-rust/lists"}