<commit_before>package com.python.pydev.debug.model;

import org.eclipse.core.runtime.IPath;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.IBreakpointManager;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IProcess;
import org.python.pydev.core.Tuple;
import org.python.pydev.debug.model.AbstractDebugTarget;
import org.python.pydev.debug.model.PyThread;
import org.python.pydev.debug.model.remote.AbstractDebuggerCommand;

import com.python.pydev.debug.remote.RemoteDebuggerServer;

public class PyDebugTargetServer extends AbstractDebugTarget {
	private static final boolean DEBUG = false;
    private boolean isTerminated;
	
	public PyDebugTargetServer( ILaunch launch, IPath file, RemoteDebuggerServer debugger) {				
		this.file = file;
		this.debugger = debugger;
		this.threads = new PyThread[0];
		this.launch = launch;
		if( launch!=null ) {
			launch.addDebugTarget( this );
		}		
		debugger.setTarget(this);
		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
		breakpointManager.addBreakpointListener(this);
		// we have to know when we get removed, so that we can shut off the debugger
		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
	}
	
	public boolean canTerminate() {	
		return !isTerminated;
	}
	<commit_msg><li><strong>Launching</strong>: Unit-test and code-coverage may launch multiple folders/files at once</li> <li><strong>Code coverage</strong>: Number format exception no longer given when trying to show lines not executed in the editor and all lines are executed</li><commit_after>package com.python.pydev.debug.model;

import org.eclipse.core.runtime.IPath;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.IBreakpointManager;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IProcess;
import org.python.pydev.core.Tuple;
import org.python.pydev.debug.model.AbstractDebugTarget;
import org.python.pydev.debug.model.PyThread;
import org.python.pydev.debug.model.remote.AbstractDebuggerCommand;

import com.python.pydev.debug.remote.RemoteDebuggerServer;

public class PyDebugTargetServer extends AbstractDebugTarget {
	private static final boolean DEBUG = false;
    private boolean isTerminated;
	
	public PyDebugTargetServer( ILaunch launch, IPath[] file, RemoteDebuggerServer debugger) {				
		this.file = file;
		this.debugger = debugger;
		this.threads = new PyThread[0];
		this.launch = launch;
		if( launch!=null ) {
			launch.addDebugTarget( this );
		}		
		debugger.setTarget(this);
		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
		breakpointManager.addBreakpointListener(this);
		// we have to know when we get removed, so that we can shut off the debugger
		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
	}
	
	public boolean canTerminate() {	
		return !isTerminated;
	}
	
{'fraction_non_alphanumeric': 0.10051380860629415, 'fraction_numerical': 0.0006422607578676942, 'mean_word_length': 5.33130081300813, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7663474', 'n_tokens_mistral': 957, 'n_tokens_neox': 922, 'n_words': 208}