###############################################################################
# Copyright (c) 2009 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
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
#Properties file for org.eclipse.e4.languages.javascript.debug.ui
Bundle-Vendor = Eclipse
Bundle-Name = Javascript Debug UI (Incubation)
launchConfigurationTabGroup.description = Launch tab group for Javascript debugging
togglebreakpointRulerAction.name = Toggle Breakpoint
breakpointproperties.command.name = JavaScript Breakpoint Properties
breakpointproperties.command.description = View and edit the properties for a given JavaScript breakpoint
breakpointproperties.page.name = Breakpoint Properties
addScriptloadBreakpointAction.name = Add Script Load Breakpoint