{"id":19922464,"url":"https://github.com/furkanonder/bor","last_synced_at":"2025-05-03T07:30:42.079Z","repository":{"id":44385225,"uuid":"407201953","full_name":"furkanonder/bor","owner":"furkanonder","description":"User-friendly, tiny source code searcher written by pure Python.","archived":false,"fork":false,"pushed_at":"2022-08-10T19:28:53.000Z","size":161,"stargazers_count":107,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-19T15:45:14.410Z","etag":null,"topics":["abstract-syntax-tree","code-search","search"],"latest_commit_sha":null,"homepage":"","language":"Python","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/furkanonder.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}},"created_at":"2021-09-16T14:43:42.000Z","updated_at":"2025-01-04T10:40:35.000Z","dependencies_parsed_at":"2022-07-14T14:47:10.238Z","dependency_job_id":null,"html_url":"https://github.com/furkanonder/bor","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkanonder%2Fbor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkanonder%2Fbor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkanonder%2Fbor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/furkanonder%2Fbor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/furkanonder","download_url":"https://codeload.github.com/furkanonder/bor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252156740,"owners_count":21703343,"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":["abstract-syntax-tree","code-search","search"],"created_at":"2024-11-12T22:11:05.099Z","updated_at":"2025-05-03T07:30:41.809Z","avatar_url":"https://github.com/furkanonder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"/assets/logo/bor.png\" width=300px /\u003e\n  \u003ch3\u003eUser-friendly, tiny source code searcher written in pure Python.\u003c/h3\u003e\n  \u003ca href=\"https://github.com/furkanonder/bor/actions\"\u003e\u003cimg alt=\"Actions Status\" src=\"https://github.com/furkanonder/bor/workflows/Test/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/furkanonder/bor/issues\"\u003e\u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/furkanonder/bor\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/furkanonder/bor/stargazers\"\u003e\u003cimg alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/furkanonder/bor\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/furkanonder/bor/blob/main/LICENSE\"\u003e\u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/furkanonder/bor\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pepy.tech/project/bor\"\u003e\u003cimg alt=\"Downloads\" src=\"https://pepy.tech/badge/bor\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Installation\n\n_bor_ can be installed by running `pip install bor`. It requires Python 3.8.0+ to run.\n\n## Usage\n\n_bor_ currently supports `class` and `def` keywords. Other Python keywords will be added\nin the future releases.\n\n```sh\nbor {keyword} {pattern}\n```\n\nBy default, _bor_ runs in your current directory. You can run _bor_ with the specific\nsource file or directory:\n\n```sh\nbor {keyword} {pattern} {source_file_or_directory}\n```\n\n## Configuration\n\nBy default, if _bor_ encounters an error(syntax, indentation error etc.) while analyzing\nfiles, it will stop working. If you want to the ignore errors, you can use\n`--ignore-error` or `-i` argument. For example;\n\n```sh\nbor class Cat --ignore-error\n```\n\n## Example Usages\n\n`Cat` is equivalent in the regular expression as `^Cat$`\n\n```sh\nbor class Cat\n```\n\nOutput:\n\n```sh\nCat at examples/test.py:18\n```\n\n---\n\n`.Cat` is equivalent in the regular expression as `Cat$`\n\n```sh\nbor class .Cat\n```\n\nOutput:\n\n```sh\nCat at examples/test.py:18\nBlueCat at examples/test.py:26\n```\n\n---\n\n`get.` is equivalent in the regular expression as `^get`\n\n```sh\nbor def get. examples/test.py\n```\n\nOutput:\n\n```sh\nget_value at examples/test.py:5\nget_blue_value at examples/test.py:11\nget_purple_value at examples/test.py:14\nget_meow at examples/test.py:22\n```\n\n---\n\n`.cat.` is equivalent in the regular expression as `cat+`\n\n```sh\nbor def .cat.\n```\n\nOutput:\n\n```sh\ncatch_me_if_you_can at examples/test.py:8\nam_i_blue_cat at examples/test.py:30\nwhere_is_the_cat at examples/test.py:38\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffurkanonder%2Fbor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffurkanonder%2Fbor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffurkanonder%2Fbor/lists"}