Giter VIP home page Giter VIP logo

git-messenger's Introduction

git-messenger.el

melpa badge melpa stable badge gh actions badge

git-messenger.el is Emacs port of git-messenger.vim.

git-messenger.el provides function that popup commit message at current line. This is useful when you want to know why this line was changed.

Screenshot

Screenshot of git-messenger.el

Installation

git-messenger is available on MELPA and MELPA stable

You can install git-messenger with the following command.

M-x package-install [RET] git-messenger [RET]

Dependency

Supported VCS

  • Git
  • Subversion
  • Mercurial

Commands

git-messenger:popup-message

Pop up last commit message at current line. Show detail message, Commit ID, Author, Date and commit message with C-u prefix

Screenshot of git-messenger with prefix argument

Key Bindings

You can modify key bindings by customizing git-messenger-map.

Key Command
M-w Copy commit message and quit
c Copy commit ID and quit
d Pop up git diff of last change of this line
s Pop up git show --stat of last change of this line
S Pop up git show --stat -p of last change of this line
q Quit

Customize

git-messenger:show-detail(Default nil)

Always show detail message if this value is t.

git-messenger:handled-backends(Default '(git svn))

Handled VCS which git-messenger uses. Entries in this list will be tried in order to determine whether a file is under that sort of version control.

git-messenger:use-magit-popup(Default nil)

Use magit-show-commit for showing status/diff commands

Hooks

git-messenger:before-popup-hook

Run before popup commit message. Hook function take one argument, commit message.

git-messenger:after-popup-hook

Run after popup commit message. Hook function take one argument, commit message.

git-messenger:popup-buffer-hook

Run after popup buffer.

Global Variables

You may be able to use these variables useful in commands of git-messenger-map.

git-messenger:last-message

Last popup-ed commit message

git-messenger:last-commit-id

Last popup-ed commit ID

Sample Configuration

(require 'git-messenger) ;; You need not to load if you install with package.el
(global-set-key (kbd "C-x v p") 'git-messenger:popup-message)

(define-key git-messenger-map (kbd "m") 'git-messenger:copy-message)

;; Use magit-show-commit for showing status/diff commands
(custom-set-variables
 '(git-messenger:use-magit-popup t))

git-messenger's People

Contributors

gonewest818 avatar jordonbiondo avatar seanfarley avatar stsquad avatar syohex avatar tdksk avatar yangsheng6810 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.