https://github.com/freesteph/elescope
Search and clone Git repos directly within Emacs.
https://github.com/freesteph/elescope
emacs github
Last synced: 10 months ago
JSON representation
Search and clone Git repos directly within Emacs.
- Host: GitHub
- URL: https://github.com/freesteph/elescope
- Owner: freesteph
- License: gpl-3.0
- Created: 2020-01-19T18:48:12.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-12T11:48:19.000Z (almost 5 years ago)
- Last Synced: 2025-03-14T20:40:52.771Z (10 months ago)
- Topics: emacs, github
- Language: Emacs Lisp
- Size: 1.21 MB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* Elescope
[[https://melpa.org/#/elescope][file:https://melpa.org/packages/elescope-badge.svg]]
[[https://github.com/freesteph/elescope/raw/master/elescope-logo.png]]
** Overview
[[https://github.com/freesteph/elescope/raw/master/elescope-demo.gif]]
Most of programming lies in other people's code, and in
Emacs. Elescope brings you the best of both by allowing you to quickly
search and clone any project found on the supported forges (only
GitHub at the moment but contributions are welcome).
This package uses [[https://github.com/abo-abo/swiper][ivy]] and [[https://github.com/tkf/emacs-request][request]].
** Usage
*** Installation:
1. Elescope is available on MELPA, otherwise copy the ~elescope.el~
file somewhere in your path and load it straight into your Emacs.
2. ~customize-variable~ ~elescope-root-folder~ to tell Elescope
where to clone;
3. ~elescope-checkout~.
For reference, this is the entry in my init file:
#+begin_src emacs-lisp
(use-package elescope
:ensure t
:config
(setf elescope-root-folder "~/build/"
elescope-clone-depth nil
elescope-use-full-path t))
#+end_src
See below for a list of configuration options.
** Configuration
*** ~elescope-root-folder~
Where to clone repos. No default set.
*** ~elescope-clone-depth~
How deep should the repos be cloned. Defaults to 1 so all clones are
shallow.
*** ~elescope-use-full-path~
If non-nil, use the full project path including username/organisation
to clone: cloning ~john/foo~ and ~john/bar~ results in:
#+begin_src
└──
└── john
├── bar
└── foo
#+end_src
as opposed to the default, flat hierarchy:
#+begin_src
└──
├── foo
└── bar
#+end_src
*** ~elescope-github-token~
Token to use for identification on GitHub. This allows you to clone
private repos you have access to.
*** ~elescope-query-delay~
How long to wait before considering the minibuffer input a valid
query. This helps avoid firing a query for every single letter typed.
Defaults to 0.7 sec and can be set to any value understood by
`run-at-time'."
** See also
Previous art:
- [[https://github.com/dgtized/github-clone.el][github-clone.el]].