Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/todo
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4510/src/org/python/pydev/builder/todo
Modified Files:
PyTodoVisitor.java
Log Message:
- No longer using Runtime.exec(String), only Runtime.exec(String[])
- Updating the markers in a better (faster) way
Index: PyTodoVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/todo/PyTodoVisitor.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** PyTodoVisitor.java 31 Jan 2006 13:04:38 -0000 1.12
--- PyTodoVisitor.java 21 May 2008 01:38:08 -0000 1.13
***************
*** 6,11 ****
package org.python.pydev.builder.todo;
! import java.util.Iterator;
import java.util.List;
import org.eclipse.core.resources.IMarker;
--- 6,12 ----
package org.python.pydev.builder.todo;
! import java.util.ArrayList;
import java.util.List;
+ import java.util.Map;
import org.eclipse.core.resources.IMarker;
***************
*** 16,19 ****
--- 17,21 ----
import org.python.pydev.builder.PyDevBuilderVisitor;
import org.python.pydev.builder.PydevMarkerUtils;
+ import org.python.pydev.builder.PydevMarkerUtils.MarkerInfo;
import org.python.pydev.plugin.PydevPlugin;
***************
*** 30,34 ****
public void visitChangedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
if (document != null) {
! List todoTags = PyTodoPrefPage.getTodoTags();
if(todoTags.size() > 0){
--- 32,36 ----
public void visitChangedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
if (document != null) {
! List<String> todoTags = PyTodoPrefPage.getTodoTags();
if(todoTags.size() > 0){
***************
*** 36,41 ****
try {
! resource.deleteMarkers(IMarker.TASK, false, IResource.DEPTH_ZERO);
!
int line = 0;
while (line < numberOfLines) {
--- 38,44 ----
try {
! //Timer timer = new Timer();
! List<PydevMarkerUtils.MarkerInfo> lst = new ArrayList<PydevMarkerUtils.MarkerInfo>();
!
int line = 0;
while (line < numberOfLines) {
***************
*** 44,58 ****
int index;
! for (Iterator iter = todoTags.iterator(); iter.hasNext();) {
! String element = (String) iter.next();
if ((index = tok.indexOf(element)) != -1) {
! PydevMarkerUtils.createMarker(resource, document, tok.substring(index).trim(), line, IMarker.TASK, IMarker.SEVERITY_WARNING, false, false, null);
}
-
}
-
line++;
}
} catch (Exception e) {
PydevPlugin.log(e);
--- 47,74 ----
int index;
! for (String element : todoTags) {
if ((index = tok.indexOf(element)) != -1) {
!
! String message=tok.substring(index).trim();
! String markerType=IMarker.TASK;
! int severity=IMarker.SEVERITY_WARNING;
! boolean userEditable=false;
! boolean isTransient=false;
! int absoluteStart=region.getOffset()+index;
! int absoluteEnd=absoluteStart+message.length();
! Map<String, Object> additionalInfo = null;
!
!
! MarkerInfo markerInfo = new PydevMarkerUtils.MarkerInfo(document, message, markerType, severity, userEditable,
! isTransient, line, absoluteStart, absoluteEnd, additionalInfo);
! lst.add(markerInfo);
}
}
line++;
}
+
+ PydevMarkerUtils.replaceMarkers(lst, resource, IMarker.TASK);
+ //timer.printDiff("Total time to put markers: "+lst.size());
} catch (Exception e) {
PydevPlugin.log(e);
|