{"id":13861769,"url":"https://github.com/jcs-elpa/isearch-project","last_synced_at":"2025-05-02T01:31:10.344Z","repository":{"id":41564215,"uuid":"176335106","full_name":"jcs-elpa/isearch-project","owner":"jcs-elpa","description":"Incremental search through the whole project.","archived":false,"fork":false,"pushed_at":"2025-04-23T00:08:29.000Z","size":11232,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T01:21:09.616Z","etag":null,"topics":["convenience","emacs","isearch","replace"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jcs-elpa.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,"zenodo":null},"funding":{"github":["jcs-elpa","jcs090218"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-03-18T17:19:21.000Z","updated_at":"2025-04-23T00:08:33.000Z","dependencies_parsed_at":"2023-01-26T07:46:13.046Z","dependency_job_id":"969efc11-3e6c-4087-8380-9b0630eeb9b0","html_url":"https://github.com/jcs-elpa/isearch-project","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcs-elpa%2Fisearch-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcs-elpa%2Fisearch-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcs-elpa%2Fisearch-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcs-elpa%2Fisearch-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcs-elpa","download_url":"https://codeload.github.com/jcs-elpa/isearch-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251969362,"owners_count":21673191,"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":["convenience","emacs","isearch","replace"],"created_at":"2024-08-05T06:01:29.855Z","updated_at":"2025-05-02T01:31:05.335Z","avatar_url":"https://github.com/jcs-elpa.png","language":"Emacs Lisp","funding_links":["https://github.com/sponsors/jcs-elpa","https://github.com/sponsors/jcs090218","https://www.paypal.me/jcs090218","https://www.patreon.com/jcs090218"],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![JCS-ELPA](https://raw.githubusercontent.com/jcs-emacs/badges/master/elpa/v/isearch-project.svg)](https://jcs-emacs.github.io/jcs-elpa/#/isearch-project)\n[![MELPA](https://melpa.org/packages/isearch-project-badge.svg)](https://melpa.org/#/isearch-project)\n[![MELPA Stable](https://stable.melpa.org/packages/isearch-project-badge.svg)](https://stable.melpa.org/#/isearch-project)\n\n# isearch-project\n\u003e Incremental search through the whole project.\n\n[![CI](https://github.com/jcs-elpa/isearch-project/actions/workflows/test.yml/badge.svg)](https://github.com/jcs-elpa/isearch-project/actions/workflows/test.yml)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./etc/isearch-project-demo.gif\" width=\"450\" height=\"513\"/\u003e\n\u003c/p\u003e\n\nThis is an alternative package replacing `ag` searcher. The  logic behinds this \npackage is similar to  [Visual Studio](https://visualstudio.microsoft.com/)\n`find and replace` functionalities, but using `isearch`.  It simply searches \n`regexp` in each file accordingly to the project file tree.\n\n`isearch` gives a better visuality than `ag` does. `ag` is great but is verbose \nfor me to use because it gives you a whole list that matches even the matching line \nare in the exact same line.\n\n*P.S. Inspired by [Visual Studio](https://visualstudio.microsoft.com/) `find and replace` preset behavior.*\n\n## 🧪 Customization\n\nSet the paths you usually want to ignore to search through.\n\n```el\n(setq isearch-project-ignore-paths '(\".vs/\"\n                                     \".vscode/\"\n                                     \"node_modules/\"))\n```\n\n## 🔧 Usage\n\nCall it from `minibuffer` directly, \n\n```\nM-x isearch-project-forward\n```\n\nOr you can bind it globally to any key you want.\n\n```el\n(global-set-key (kbd \"any-key\") #'isearch-project-forward)\n```\n\n## 🛠️ Contribute\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n[![Elisp styleguide](https://img.shields.io/badge/elisp-style%20guide-purple)](https://github.com/bbatsov/emacs-lisp-style-guide)\n[![Donate on paypal](https://img.shields.io/badge/paypal-donate-1?logo=paypal\u0026color=blue)](https://www.paypal.me/jcs090218)\n[![Become a patron](https://img.shields.io/badge/patreon-become%20a%20patron-orange.svg?logo=patreon)](https://www.patreon.com/jcs090218)\n\nIf you would like to contribute to this project, you may either\nclone and make pull requests to this repository. Or you can\nclone the project and establish your own branch of this tool.\nAny methods are welcome!\n\n### 🔬 Development\n\nTo run the test locally, you will need the following tools:\n\n- [Eask](https://emacs-eask.github.io/)\n- [Make](https://www.gnu.org/software/make/) (optional)\n\nInstall all dependencies and development dependencies:\n\n```sh\n$ eask install-deps --dev\n```\n\nTo test the package's installation:\n\n```sh\n$ eask package\n$ eask install\n```\n\nTo test compilation:\n\n```sh\n$ eask compile\n```\n\n**🪧 The following steps are optional, but we recommend you follow these lint results!**\n\nThe built-in `checkdoc` linter:\n\n```sh\n$ eask lint checkdoc\n```\n\nThe standard `package` linter:\n\n```sh\n$ eask lint package\n```\n\n*📝 P.S. For more information, find the Eask manual at https://emacs-eask.github.io/.*\n\n## ⚜️ License\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\nSee [`LICENSE`](./LICENSE.txt) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcs-elpa%2Fisearch-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcs-elpa%2Fisearch-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcs-elpa%2Fisearch-project/lists"}