###############################################################################
# Copyright (c) 2010 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
pluginName = Bidirectional Text Support
providerName = Eclipse.org - Equinox
bidiExtensionPointName = Bidi structured text types
bidiExtensionName = Default bidirectional processors

commaProcessorName = Processor for comma-separated lists
emailProcessorName = Processor for E-mail addresses
fileProcessorName = Processor for file and directory names
javaProcessorName = Processor for Java statements
regexProcessorName = Processor for regular expressions
sqlProcessorName = Processor for SQL statements
underscoreProcessorName = Processor for names segmented by underscores
urlProcessorName = Processor for URLs
xpathProcessorName = Processor for XPath expressions
