Git Product home page Git Product logo

rhq's Introduction

https://img.shields.io/github/tag/ROCKTAKEY/rhq.svg?style=flat-square https://img.shields.io/github/license/ROCKTAKEY/rhq.svg?style=flat-square https://img.shields.io/codecov/c/github/ROCKTAKEY/rhq.svg?style=flat-square https://img.shields.io/github/actions/workflow/status/ROCKTAKEY/rhq/CI.yml.svg?branch=master&style=flat-square

Emacs client for rhq

Use rhq with Emacs!

Rhq is local repository manager like ghq. You can clone or create any repositories with rhq command, and manage them with rhq. By default, each repository is put in ~/rhq/, even though repository in other directory can be managed by using rhq add.

How to Use?

  1. Install rhq
    • Run M-x rhq-install-executable or directly install by the command:
    cargo install rhq
        
  2. Create ~/.config/rhq/config.toml (needed, even allowed to be empty)
    mkdir ~/.config/rhq -p
    touch ~/.config/rhq/config.toml
        
  3. Clone project by M-x rhq-clone or create new project by M-x rhq-new. The argument like “username/repo” means git clone https://github.com/username/repo.
  4. Browse projects by rhq-find-file or rhq-open-project.
    • rhq-find-file : Find project and find file in it.
    • rhq-open-project : Find project and open the directory.
  5. Enjoy!

Commands to run rhq

rhq-clone

Clone repository and put it into rhq management. It takes one argument URL (and two optional arguments, ROOT and VCS).

URL can be:

  • URL like https://github.com/username/repo
  • Abbreviated URL like username/repo (default host can be set in config.toml)

On interactive usage, ROOT and VCS can be passed only with prefix argument. ROOT is directory where the project placed. Note that ROOT is NOT the name of project directory, but name of directory in which rhq-managed projects is placed. By default, ~/rhq/ is used.

VCS is name of version control system which manage the project. By default, git is used.

rhq-new

Create new repository and put it into rhq management. This function is same as rhq-clone except first argument can be invalid URL (because this command does NOT clone any repository, but just create new repository locally). See also #rhq-clone.

rhq-add

Add local existing project into rhq management. For example, adding ./emacs.d and other config file is useful.

rhq-refresh

Refresh rhq cache. Rhq has cache of project list to keep performance of rhq list. So you should refresh when delete your project, rename project, and so on.

rhq-import

Import root of projects. In the other words, use the directory as root directory like ~/rhq/. All project in it is managed by rhq.

Commands to browse project managed by rhq

rhq-open-project

Find project and open the directory.

rhq-open-project-or-clone

Same as rhq-open-project except that clone repository if it is not found.

rhq-find-file

Find project and find file in the directory.

Projectile integration

You can turn on rhq-projectile-mode to integrate rhq and projectile. It reloads project list from rhq before projectile retrive known project list.

Consult integration

You can use rhq-consult-source-project-directory as source of consult. For example:

(add-to-list 'consult-buffer-sources #'rhq-consult-source-project-directory)

Commands for developer

rhq-get-project-list

Return list of projects managed by rhq. Absolute path is returned by default.

If optional argument ROOT is non-nil, it should be directory. Then, this function return relative path when the path is rooted by ROOT. Note that the path is not rooted by ROOT, it remains absolute path.

License

This package is licensed by GPLv3. See LICENSE.

rhq's People

Contributors

rocktakey avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.