###############################################################################
# Copyright (c) 2016, 2017 Red Hat Inc. 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:
#     Sopot Cela & Mickael Istria (Red Hat Inc.) - initial implementation
#     Lucas Bullen (Red Hat Inc.) - Bug 508829 custom reconciler support
#                                 - Bug 521382 default highlighter
#     Simon Scholz <simon.scholz@vogella.com> - Bug 527830
###############################################################################
genericEditor_name=Generic Text Editor
ExtPoint.reconciliers=Reconciliers
ExtPoint.presentationReconciliers=Presentation Reconciliers
ExtPoint.hoverProviders= Hover Providers
ExtPoint.contentAssistProcessors=Content Assist Providers
ExtPoint.autoEditStrategies=Auto Edit Strategies
ExtPoint.highlightReconcilers=Highlight Reconcilers
ExtPoint.foldingReconcilers=Folding Reconcilers
ExtPoint.characterPairMatchers=Character Pair Matcher Providers
ExtPoint.hyperlinkDetectorTarget=Generic Text Editor
ExtPoint.iconProviders=Generic Editor Icon Providers
openDeclarationCommand_name=Open Declaration
context_name=in Generic Code Editor
context_description=When editing in the Generic Code Editor
findReferencesCommand_name=Find References
findReferencesCommand_description=Find other code items referencing the current selected item.
Bundle-Vendor=Eclipse.org
Bundle-Name=Generic and Extensible Text Editor
command.toggle.highlight.label = Toggle Mark Occurences
command.toggle.highlight.name = Toggle Highlight
menu.source.label = Source