Giter VIP home page Giter VIP logo

xl-git's People

Contributors

dear avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xl-git's Issues

git-output-modeをマイナーモード化

  • git-output-mode -- major -> minor
  • git-diff-mode -- minor -> major
  • git-log-mode -- minor -> major
  • git-commit-message-mode -- major

にした方が regexp-keyword-list の取り扱いがメジャーモードのみとなり、
また、別のモードを利用するという発展も可能なのではなかろうか

git-editmsg-mode に diff の着色は要らない?

git commit --verbose の為にdiffの着色も行っているが邪魔かも?

  • コミットメッセージにmarkdown記法を使っている場合、
    行頭の +- が色が付いてしまう
  • また、同じく行頭に diff とかも色が付いてしまう

常時プロンプトを使うべきか?

現状では mercurial.l のように C-u ならプロンプトを出すようにしているが
常に出した方が git-tag 等の引数の有無で動作が全く違う物が使い易くなるのではなかろうか

だが read-string なので completing-read にしてbranchを候補に登録したりは出来なくなる
今でもしてないけど

regexp-keyword-list が上書きされる

append 等で追加しないと他のモードとregexp-keyword-listでの着色を共存できない
しかし、modeが終了した際に消さなきゃいけないな…

git-issue 対応

git-issue に対応する
大体は define-git-command でいける
git issue commitgit commit 同様こちらで再現する必要がありそうなのが大変

取り敢えず使ってみないと何とも…

install 方法

git-intall

の引数に

  • :msysgit MSYSGIT_DIR
  • MSYSGIT_DIR --- msysgit のインストールディレクトリを設定
  • :cygwin CYGWIN_DIR [CYGWIN_ENV]
  • CYGWIN_DIR --- cygwin のインストールディレクトリを設定
  • CYGWIN_ENV -- 環境変数CYGWINの設定値(省略時 "ntsec")

の様な感じで追加してインストール作業を簡単に

git-log の着色ミス

  • 4~40桁7桁もしくは40桁の16進文字列をSHAとして認識している為、メッセージ等に数値文字列があると誤認識する
  • ブランチ・タグを括弧で認識している為、メッセージ等に括弧があると誤認識する
  • ブランチ・タグ等の間のカンマもボールドで彩色されている

正規表現での最大文字数も絡むので中々難しい…

git-commit 時に右に diff を表示する

現状コミットメッセージは *Git* で入力を行っているが
*GitMessage* 等の別バッファにして、右側に git diff --cached を表示させる

--amend の場合は git-diff --cached HEAD^

キーマップに割り当て

現状ではすべて M-x から操作するようになっているが、
mercurial.l のようにリポジトリであればマイナーモードとして
幾つかのコマンドを割り当てる

define-git-command の引数は defapackage に似せた方が良い?

現状

(git::define-git-command ("clone")
  ; :symbol #:git-clone
  :document "Clone a repository into a new directory."
  :prompt t
  :dir-prompt t
  ; :file-arg nil
  ; :minor-mode nil
  :no-std-handles t)

変更案

(git::define-git-command ("clone")
  ; (:name "git-clone")
  (:documentation "Clone a repository into a new directory.")
  (:prompt t)
  (:dir-prompt t)
  ; (:file-arg nil)
  ; (:minor-mode nil)
  (:no-std-handles t))
  • :symbol -> :name
  • :document -> :documentation
  • それぞれの引数は括弧で囲んで

read-stringの履歴引数

*minibuffer-default-history* ではなく別の履歴引数を使う

ni用に load-before-uninstallunregister-history-variable もしないといけない

git-commit の define-git-command 化

現状、git commit を再現する形で最終的にcommit -Fするという方法を取っているが
非常に際限が難しく、また git rebasegit tag -a 等の事を考えると
GIT_EDITORを必ず設定しているのだから普通にそのまま git-make-process して
*auto-mode-alist* でもってメッセージ用のモードに切り替える方法に変更する

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.