diff options
Diffstat (limited to 'some-quick-git-diff-tips.post')
-rw-r--r-- | some-quick-git-diff-tips.post | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/some-quick-git-diff-tips.post b/some-quick-git-diff-tips.post new file mode 100644 index 0000000..12a728d --- /dev/null +++ b/some-quick-git-diff-tips.post @@ -0,0 +1,51 @@ +;;;;; +title: Some quick git diff tips +tags: org-mode, lisp, config, git +date: 2013-08-11 00:54 +format: md +;;;;; + +A couple of quick tips. As you possibly know you can specify some +options to be used for diffs (and other things) per file type. The one +I'm interested in is the function name. + +## For org-mode + +The primary way of identifying which part of an org-mode document a +change occurs in seems to me to be the heading. So, in your +`$HOME/.gitconfig` put: + + [diff "org"] + xfuncname = "^\\*+.*" + +Which should show any lines starting with one or more `*` characters. +And then in `$XDG_CONFIG_HOME/git/attributes` or +`$HOME/.config/git/attributes` put: + + ,*.org diff=org + +## For lisp and lisp-like langauges + +For anything that resembles lisp (so Common Lisp, Emacs Lisp, Hy, +scheme, etc.) I would think that the easiest thing to do is just see +the closes top-level form. So, in your `$HOME/.gitconfig` put: + + [diff "lisp"] + xfuncname = "^\\([^ ]+ [^ ]+" + +Which should show the opening parenthesis and the first two words. For +example: + + (defun some-function-name + (defclass my-awesome-class + (define-route this-strange-route + +And then put in your `$XDG_CONFIG_HOME/git/attributes` or +`$HOME/.config/git/attributes`: + + ,*.lisp diff=lisp + ,*.el diff=lisp + ,*.hy diff=lisp + ,*.scm diff=lisp + +And possibly any other lisp-like language files you can think of. |