diff -r 000000000000 -r 1918ee327afb src/scripttools/debugging/scripts/commands/clear.qs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/scripttools/debugging/scripts/commands/clear.qs Mon Jan 11 14:00:40 2010 +0000 @@ -0,0 +1,59 @@ +name = "clear"; + +group = "breakpoints"; + +shortDescription = "Clear breakpoint at specified location"; + +longDescription = "clear : : Clear breakpoints at the given location."; +longDescription += "\nclear : Clear breakpoints at the given line of the current script."; + +seeAlso = [ "delete" ]; + +argumentTypes = [ "script-filename" ]; + +function execute() { + if (arguments.length == 0) { + message("Missing argument."); + return; + } + var arg = arguments[0]; + var colonIndex = arg.lastIndexOf(':'); + if (colonIndex == -1) { + lineNumber = parseInt(arg); + if (isNaN(lineNumber)) { + message("Breakpoint location must be of the form : or ."); + return; + } + var sid = getCurrentScriptId(); + if (sid == -1) { + message("No script."); + return; + } + scriptId = sid; + } else { + fileName = arg.slice(0, colonIndex); + lineNumber = parseInt(arg.slice(colonIndex+1)); + } + scheduleGetBreakpoints(); + state = 1; +} + +function handleResponse(resp) { + if (state == 1) { + var breakpoints = resp.result; + if (breakpoints == undefined) + return; + for (var id in breakpoints) { + var data = breakpoints[id]; + if ((data.lineNumber == lineNumber) + && (data.fileName == fileName) + || ((data.scriptId != -1) && (data.scriptId = scriptId))) { + scheduleDeleteBreakpoint(id); + message("Deleted breakpoint " + id + "."); + } + } + state = 2; + } else if (state == 2) { + + } +}