{"id":16199964,"url":"https://github.com/agateau/filefind","last_synced_at":"2025-04-07T17:47:14.232Z","repository":{"id":66380958,"uuid":"75876894","full_name":"agateau/filefind","owner":"agateau","description":"An easy-to-use file finder","archived":false,"fork":false,"pushed_at":"2019-10-09T08:40:58.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-13T19:49:53.490Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/agateau.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},"funding":{"github":"agateau","ko_fi":"agateau","liberapay":"agateau","custom":"https://agateau.com/support/"}},"created_at":"2016-12-07T21:23:51.000Z","updated_at":"2016-12-07T21:25:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"95656b6a-d7bf-48c0-903a-3215e2330c08","html_url":"https://github.com/agateau/filefind","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Ffilefind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Ffilefind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Ffilefind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agateau%2Ffilefind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agateau","download_url":"https://codeload.github.com/agateau/filefind/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247703796,"owners_count":20982286,"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-10-10T09:28:50.381Z","updated_at":"2025-04-07T17:47:14.212Z","avatar_url":"https://github.com/agateau.png","language":"Python","funding_links":["https://github.com/sponsors/agateau","https://ko-fi.com/agateau","https://liberapay.com/agateau","https://agateau.com/support/"],"categories":[],"sub_categories":[],"readme":"# Filefind\n\nFilefind is an easy-to-use, source-code friendly file finder.\n\n## Usage\n\n### Listing files\n\nTo specify which files to list, use the `--include` and `--exclude` options:\n\n    ff --include '*.cpp' --include '*.h' --exclude 'test/*'\n\nAs a special case you can also specify include values with the `--include`, so\n\n    ff '*.cpp' '*.h'\n\nis the same as:\n\n    ff --include '*.cpp' --include '*.h'\n\n### Running a command on matching files\n\nYou can use the `--exec` option to run a command on a temporary file containing\nall the matched files. For example:\n\n    ff --include '*.cpp' --include '*.h' --exclude 'test/*' --exec 'command @filelist'\n\n### Configuration files\n\nOptions can be stored in a configuration file, so you could store all filters\nin a file named `filefind.cfg` with the following content:\n\n```\ninclude *.cpp\ninclude *.h\n\n# Exclude tests\nexclude test/*\n```\n\nAnd then list files with:\n\n    ff --config filefind.cfg\n\nA configuration file can refer to another configuration file with the `config`\nkeyword, so for example you can create `filelist.cfg` with this content:\n\n```\ninclude *.cpp\ninclude *.h\n\n# Exclude tests\nexclude test/*\n```\n\nAnd `codestyle.cfg` which refers to it and reformats your code:\n\n```\nconfig filelist.cfg\n\nexec uncrustify --replace --no-backup -F @filelist\n```\n\nNow you can reformat your code with `ff -c codestyle.cfg`.\n\n### submodules\n\nIf you want to exclude files inside Git submodules, use the\n`--exclude-submodules` option.\n\n## Installation\n\n    ./setup.py install\n\n## Testing\n\nIf you want to run tests, first install the development requirements with:\n\n    pip install -r requirements-dev.txt\n\nThen run tests with:\n\n    pytest\n\n## License\n\nApache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateau%2Ffilefind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagateau%2Ffilefind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagateau%2Ffilefind/lists"}