###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#

###############################################################################

pluginProvider=Eclipse.org
pluginName=Dynamic Languages Toolkit Python ActiveState debugging engine (Incubation)

PythonActiveStateDebuggerPreferencePage.name = ActiveState
PythonActiveStateDebuggerPropertyPage.name = ActiveState

ActiveStateDebuggingEngine.name = ActiveState Python debugging engine
ActiveStateDebuggingEngine.description = ActiveState's Python debugging engine