###############################################################################
# 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 Core

extension-point.name.language=DLTK Language Declaration
extension-point.name.buildpathContainerInitializer=Buildpath Container Initializer
extension-point.name.buildpathVariableInitializer=Buildpath Variable Initializer
extension-point.name.mixin=Mixin
extension-point.name.builder=Builder
extension-point.name.projectIndexer=Project Indexer
extension-point.name.typeEvaluators=Type Evaluators
extension-point.name.sourceParsers=Source Parsers
extension-point.name.sourceElementParsers=Source Element Parsers
extension-point.name.search=Search
extension-point.name.selectionEngine=Selection Engine
extension-point.name.completionEngine=Completion Engine
extension-point.name.callHierarchy=Call Hierarchy
extension-point.name.problemFactory=Problem Factory
extension-point.name.fileHierarchyResolvers=File Hierarchy Resolver
extension-point.name.environment=Environment
extension-point.name.locationResolver=Environment Location Resolver
extension-point.name.scriptFileConfigurator=Script File Configurator
extension-point.name.buildParticipant=DLTK Build Participant
extension-point.name.fileCache=DLTK file cache
extension-point.name.filenameAssociation=Filename Association

runtimeProblemName=Runtime Problem
dltkProblemName=DLTK Problem
buildPathProblemName=Build Path Problem
transientDLTKProblemName=Transient DLTK Problem
dltkTaskName=DLTK Task

scriptBuilderName=Script Builder
providerName = www.example.org
