// ==UserScript==
// @name           Hoptoad Textmate
// @namespace      hoptoad
// @description    Add TextMate links to hoptoad backtraces
// @include        https://*.hoptoadapp.com/errors/*
// ==/UserScript==
//the local direct where you put your projects
local_project_directory='/Users/YOUR_USERNAME/Sites/';
//map of project names to folder names
projects = {
  "Hoptoad Project1 Name": 'hoptoad_project1_folder',
  "Hoptoad Project2 Name": 'hoptoad_project2_folder'
};
stacktrace_elements=document.getElementById('backtrace').getElementsByTagName('p');
project_link = document.getElementById("main_sidebar").getElementsByClassName("main_top_content")[0].getElementsByTagName("h4")[0].getElementsByTagName("a")[0];
real_project = projects[project_link.innerHTML] ? projects[project_link.innerHTML]  : project_link.innerHTML.toLowerCase().sub(" ","_");
for (i=0; i < stacktrace_elements.length; i++){
  elem = stacktrace_elements[i];
  m=elem.innerHTML.match(/^([^\[\/][^\:]*):(\d+)/);
  if (m) {
    textmate_href = "txmt://open?url=file://" + local_project_directory + real_project + "/" + m[1] + "&amp;line=" + m[2];
    elem.innerHTML = elem.innerHTML.replace(m[0],"<a href='" + textmate_href + "'>" + m[0] + "</a>");
  }
};

