text: // Generated by CoffeeScript 1.9.0
  
  /*
    matchName Checker
      (C) 2013-2015 あかつきみさき（みくちぃP）
  
    このスクリプトについて
      選択した一つ目のプロパティか選択した一つ目のレイヤーのmatchNameをプロンプトですぐにコピーできるようにして表示します.
      プロパティが選択されていない場合はレイヤーのmatchNameを,プロパティが選択されている場合はプロパティのmatchNameが入力されます.
  
    動作環境
      Adobe After Effects CS5.5以上
  
    使用方法
      matchNameを取得したいレイヤーかプロパティを選択して実行してください.
  
    バージョン情報
      2015/02/12 Ver1.2.0 Update
        対象がエフェクトの場合,カテゴリとディスプレイネームを表示するようにした.
        対応バージョンの変更.
  
      2013/12/29 Ver1.1.0 Update
        プロパティ選択時に最後に選択されたプロパティを表示するようにした.
  
      2013/11/10 Ver1.0.0 Release
   */
  
  (function() {
    var MNCData, actComp, entryFunc, getEffectName, isCompActive, isLayerSelected, isPropertySelected, runAEVersionCheck, selLayers;
  
    MNCData = (function() {
      var canRunVersionC, canRunVersionNum, guid, scriptName, scriptURLName, scriptURLVersion, scriptVersionNumber;
      scriptName = "matchName Checker";
      scriptURLName = "matchNameChecker";
      scriptVersionNumber = "1.2.0";
      scriptURLVersion = 120;
      canRunVersionNum = 10.5;
      canRunVersionC = "CS5.5";
      guid = "{50EC3707-B4E6-4284-8F3D-BDA375223852}";
      return {
        getScriptName: function() {
          return scriptName;
        },
        getScriptURLName: function() {
          return scriptURLName;
        },
        getScriptVersionNumber: function() {
          return scriptVersionNumber;
        },
        getScriptURLVersion: function() {
          return scriptURLVersion;
        },
        getCanRunVersionNum: function() {
          return canRunVersionNum;
        },
        getCanRunVersionC: function() {
          return canRunVersionC;
        },
        getGuid: function() {
          return guid;
        }
      };
    })();
  
    runAEVersionCheck = function(AEVersion) {
      if (parseFloat(app.version) < AEVersion.getCanRunVersionNum()) {
        alert("This script requires After Effects " + (AEVersion.getCanRunVersionC()) + " or greater.");
        return false;
      } else {
        return true;
      }
    };
  
    isCompActive = function(selComp) {
      if (!(selComp && selComp instanceof CompItem)) {
        alert("Select Composition");
        return false;
      } else {
        return true;
      }
    };
  
    isLayerSelected = function(selLayers) {
      if (selLayers.length <= 0) {
        alert("Select Layers");
        return false;
      } else {
        return true;
      }
    };
  
    isPropertySelected = function(selProperties) {
      if (selProperties.length <= 0) {
        alert("Select Properties");
        return false;
      } else {
        return true;
      }
    };
  
    getEffectName = function(effectMatchName) {
      var effectsList, i, _i, _ref;
      effectsList = app.effects;
      for (i = _i = 0, _ref = effectsList.length - 1; _i < _ref; i = _i += 1) {
        if (effectMatchName === effectsList[i].matchName) {
          return "Category : " + effectsList[i].category + ", displayName : " + effectsList[i].displayName;
        }
      }
      return "";
    };
  
    entryFunc = function(MNCData, selLayers) {
      var curLayer, effectName, target, typeName;
      curLayer = selLayers[selLayers.length - 1];
      effectName = "";
      if (curLayer.selectedProperties[0] != null) {
        target = curLayer.selectedProperties[curLayer.selectedProperties.length - 1];
        if (target.isEffect === true) {
          effectName = getEffectName(target.matchName);
        }
        typeName = "Property";
      } else {
        target = curLayer;
        typeName = "Layer";
      }
      prompt("Name : " + target.name + "\ntype : " + typeName + "\n" + effectName + "\n", target.matchName, MNCData.getScriptName());
      return 0;
    };
  
  
    /*
    メイン処理開始
     */
  
    if (!runAEVersionCheck(MNCData)) {
      return 0;
    }
  
    actComp = app.project.activeItem;
  
    if (!isCompActive(actComp)) {
      return 0;
    }
  
    selLayers = actComp.selectedLayers;
  
    if (!isLayerSelected(selLayers)) {
      return 0;
    }
  
    entryFunc(MNCData, selLayers);
  
    return 0;
  
  }).call(this);
  