kohashi
6/20/2014 - 9:57 AM

IgnoreDiffUnityFilesOnGitHub.user.js

これは何

Unityが生成する .unity ファイルとか .prefab ファイルとか .meta ファイルとか 、 3D モデルのインポートに使ったりする .dae ファイルとかの差分を人間が読んでもよくわからないのでとりあえず非表示にするというuserscriptです。

有効にしておくと commit や pull request の差分表示でこれらのファイルが非表示になります。また、これら以外のファイルも含めてファイル名をクリックすると内容を非表示にしたり表示したり切り替えられるようになります。

使い方

Chromeの場合は Ninjakitを使うのがいい感じです。Ninjakit以外で使えるかは試していません。

// ==UserScript==
// @name          IgnoreDiffUnityFilesOnGitHub
// @namespace  http://ymrl.net/   
// @include        *://github.com/*/*/pull/*/files
// @include        *://github.com/*/*/commit/*
// @require   http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
// ==/UserScript==

(function () {
  var ignore = ["\\.unity", "\\.prefab", "\\.meta", "\\.anim", "\\.controller", "\\.dae"];
  $('.file').each(function () {
    var t = $(this),n = t.find('.meta .info span.js-selectable-text[title]').attr('title'),i,len;
    for (i = 0, len = ignore.length; i < len; i++) {
      if (n.match(RegExp(ignore[i] + '$'))) {
        t.find('.data').hide();
        t.find('.image').hide();
      }
    }
  });
  $('.file .meta').click(function () {
    var p = $(this).parents('.file');
    p.find('.data').toggle();
    p.find('.image').toggle();
  });
})(jQuery);