{"id":21291685,"url":"https://github.com/jdtsmith/consult-jump-project","last_synced_at":"2025-09-12T02:11:38.697Z","repository":{"id":49094280,"uuid":"482388929","full_name":"jdtsmith/consult-jump-project","owner":"jdtsmith","description":"Quickly jump between projects, their files and buffers with consult","archived":false,"fork":false,"pushed_at":"2025-02-11T16:51:01.000Z","size":54,"stargazers_count":20,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-11T17:45:39.784Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/jdtsmith.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}},"created_at":"2022-04-17T00:12:04.000Z","updated_at":"2025-02-11T16:51:05.000Z","dependencies_parsed_at":"2024-01-23T04:45:40.476Z","dependency_job_id":null,"html_url":"https://github.com/jdtsmith/consult-jump-project","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/jdtsmith%2Fconsult-jump-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Fconsult-jump-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Fconsult-jump-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Fconsult-jump-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdtsmith","download_url":"https://codeload.github.com/jdtsmith/consult-jump-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243760594,"owners_count":20343660,"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-11-21T13:39:17.041Z","updated_at":"2025-03-15T16:34:29.812Z","avatar_url":"https://github.com/jdtsmith.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# consult-jump-project\n\nQuickly jump between projects, their files and buffers with [consult](https://github.com/minad/consult).\n\nIn action: \n\n\u003cimg width=\"548\" alt=\"image\" src=\"https://user-images.githubusercontent.com/93749/180622965-892d84d2-c6c5-4824-943e-404dfd49c9ed.png\"\u003e\n\nAnd from a non-project buffer:\n\n\u003cimg width=\"520\" alt=\"image\" src=\"https://user-images.githubusercontent.com/93749/163687169-f244d194-84af-41c5-8214-75d846c8c65b.png\"\u003e\n\n\n```elisp\n;; Consult-jump-project provides a single interactive command of the\n;; same name which provides a narrowable list of project-related\n;; targets, ala consult-buffer (which it uses):\n;; \n;;   - project files (f)\n;;   - project buffers (b)\n;;   - other projects (p)\n;;\n;; If the file from which consult-jump-project is invoked is not in\n;; any project, you are prompted only with the full list of projects\n;; known to Emacs (via project.el).  While selecting projects, a\n;; preview is provided in the form of a dired buffer visiting its\n;; root.  Information on the number of recent files and buffers, and\n;; the abbreviated age of the newest of these is shown.\n;;\n;; Upon selecting a project, the interface is re-entered, allowing you\n;; to select one of its recent files or open buffers, or to switch to\n;; yet another project.\n;;\n;; Usage: simply bind `consult-jump-project` to a convenient key, e.g. C-x p j\n;;\n;; Inspiration from: consult, consult-project-extra.\n```\n\n## Install\n\nFor now, simply use straight or a local `load-path` from a cloned directory:\n\n```elisp\n(use-package consult-jump-project\n  :load-path \"~/code/emacs/consult-jump-project/\"\n  ;; :straight (consult-jump-project :type git :host github :repo \"jdtsmith/consult-jump-project\")\n  :custom \n  (consult-jump-direct-jump-modes '(dired-mode))\n  (recentf-filename-handlers (lambda (f)  ; avoid remote ~/abbreviations to recentf files can be matched\n\t\t\t       (if (file-remote-p f) f\n\t\t\t\t (abbreviate-file-name f)))) \n  :bind (\"C-x p p\" . consult-jump-project))\n```\n\n## Customization\n\nCustomize the variable `consult-jump-direct-jump-modes` to a list of modes (symbols) from which to jump directly to the project's dired buffer, if a project is selected, rather than prompting for files/buffers from that project to visit.  \n\nE.g. `(dired-mode)` would indicate that invoking jump from a dired buffer and selecting a project would go directly to the project's dired buffer.\n\n`vc-annotate-background` and `vc-annotate-color-map` can be used to alter project age coloration.  Set the former to `nil` to remove the background color from the age. \n\n## Related Packages\n\n- [consult](https://github.com/minad/consult): required dependency\n- [consult-project-extra](https://github.com/Qkessler/consult-project-extra): Similar package from which this was inspired. Main differences are the color-coded \"project age\" and the project selection, which is always available from the same interface. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdtsmith%2Fconsult-jump-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdtsmith%2Fconsult-jump-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdtsmith%2Fconsult-jump-project/lists"}