Benchmark-Perl-Formance-Cargo
view release on metacpan or search on metacpan
share/P6STD/std_hilite/STD_syntax_highlight.js view on Meta::CPAN
$(document.body).ready(function() {
//find first span after pre and use it as top-level node
var lastSelectedNode = null;
var keepResults = false;
var timeoutId = null;
$("#parse_tree_output").html("Found " + $("span").size() + " node(s)");
function updateTree(node) {
if(lastSelectedNode) {
$(lastSelectedNode).css("border","");
$(lastSelectedNode).css("background-color","");
}
$(node).css("border","1px solid orange");
$(node).css("background-color","#FFF5DF");
lastSelectedNode = node;
var output = "";
var ident = "";
var rules = $("#" + node.id.replace("node","tree")).text().split(/ /);
for(var i = 0; i < rules.length; i++) {
var r = rules[i];
output += ident + '<span class="' + r + '">' + r + '</span><br/>';
ident += " ";
}
$("#parse_tree_output").html(output);
}
function bind_node_highlighter() {
$(document.body).mousemove(function(e) {
if(keepResults) {
return false;
}
var node = $.browser.msie ? e.srcElement : e.target;
if(node.nodeName == "PRE") {
if(lastSelectedNode) {
$(lastSelectedNode).css("border","");
$(lastSelectedNode).css("background-color","");
lastSelectedNode = null;
}
$("#parse_tree_output").html("... ");
return false;
}
if (lastSelectedNode == node || node.nodeName != "SPAN") {
return false;
}
clearTimeout(timeoutId);
timeoutId = setTimeout(function() { updateTree(node) }, 100);
return false;
});
}
function bind_clicks() {
$(document.body).click(function(e) {
var node = $.browser.msie ? e.srcElement : e.target;
if(node.nodeName == "SPAN") {
if(keepResults) {
if(lastSelectedNode) {
$(lastSelectedNode).css("border","");
$(lastSelectedNode).css("background-color","");
}
} else {
$(node).css("border","1px solid black");
lastSelectedNode = node;
}
keepResults = !keepResults;
} else {
if(lastSelectedNode) {
$(lastSelectedNode).css("border","");
$(lastSelectedNode).css("background-color","");
}
keepResults = false;
}
return false;
});
}
function bind_events() {
bind_node_highlighter();
bind_clicks();
}
$(window).scroll(function() {
$("#parse_tree").css("top", "" + document.body.scrollTop + "px");
});
function unbind_events() {
$("#parse_tree_output").html("Unbinding events... Please wait");
$(document.body).unbind();
}
$("#parse_tree_collapse").hide();
$("#parse_tree_expand").click(function() {
bind_events();
$("#parse_tree_output").show();
$("#parse_tree_expand").hide();
$("#parse_tree_collapse").show();
$("#parse_tree_output").html("...");
});
$("#parse_tree_collapse").click(function() {
unbind_events();
$("#parse_tree_output").hide();
$("#parse_tree_expand").show();
$("#parse_tree_collapse").hide();
$("#parse_tree_output").empty();
});
$("#parse_tree_help").click(function() {
( run in 0.732 second using v1.01-cache-2.11-cpan-13bb782fe5a )