Giter Club home page Giter Club logo

helm-ls-git's Introduction

License GPL 3 MELPA MELPA Stable

helm-ls-git

Yet another helm for listing the files in a git repo.

Features:

  • Display the open buffers in project.

  • Display a status source showing state of project (modified files etc...).

  • Display a list of all files in project under git control.

  • Allow looking quickly at diff on modified files.

  • Allow switching to git status with your preferred frontend (vc-dir, magit,etc...)

  • Full integration of git-grep, allow also usage of helm-grep (you can use ack-grep instead of grep).

  • Integrate usage of gid from id-utils.

  • Full integration with helm-find-files, allow you to browse project unrelated to current-buffer.

  • In addition, all actions of type files and buffers are provided.

Installation

  • We assume that you have git installed and that OSX users have solved any $PATH issues that prevent them being able to call git from emacs.

  • Ensure you are running at least >= Emacs-24.3.

  • Install helm according to the instructions on its repo page

  • If you are using the MELPA package manager then M-x list-packages and install helm-ls-git.

  • Or, if you are using el-get then invoke M-x el-get-install and at the Install package: prompt type helm-ls-git and hit enter.

  • Otherwise, clone this repo and put helm-ls-git.el somewhere on the emacs load-path.

  • Finally, add to your .emacs.el:

Assuming you are already using helm and it is installed properly (See Install helm)

(require 'helm-ls-git)

Use M-x helm-browse-project or bind it to a key, for example:

(global-set-key (kbd "C-x C-d") 'helm-browse-project)

If you are using helm-find-files you will be able to browse any git repo unrelated to the current-buffer: M-x helm-find-files navigate to some git repo and hit C-x C-d

You can also navigate in your git projects with M-x helm-projects-history or bind it to a key:

(global-set-key (kbd "C-x r p") 'helm-projects-history)

If you want to use the helm-ls-git sources somewhere else, you can build them individually with functions helm-ls-git-build-git-status-source, helm-ls-git-build-buffers-source and helm-ls-git-build-ls-git-source.

As these sources are built with their own classes, they can be configured with defmethod helm-setup-user-source, see FAQ.

Usage

Use helm-projects-history or helm-browse-project as a starting point.

  • By calling helm-browse-project in any buffer that is a part of a git repo (or if you have navigated to a git repo from helm-find-files), you will be presented with a corresponding helm buffer containing a list of all the files currently in that same repository. In the usual helm style you can just type at the prompt in the minibuffer and see the results narrow according to the input of your search pattern.

  • When the helm-buffer is active and displaying results, the user can invoke C-] to toggle between showing filenames or full pathnames for the data that helm is listing.

NOTE: You can also use directly helm-ls-git-ls, but note that in this case your project will NOT be recorded in project history and BTW not available through M-x helm-projects-history.

Another way to record your projects is using bookmarks from helm-find-files (C-x r m).

Have fun!

helm-ls-git's People

Contributors

bsuh avatar celeritascelery avatar damiencassou avatar itiut avatar maio avatar peaker avatar rcj avatar shea-parkes avatar thierryvolpiatto avatar xuchunyang avatar

Watchers

 avatar  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.