###############################################################################
# Copyright (c) 2003, 2014 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
#     Anton Leherbauer (Wind River Systems)
#     Martin Oberhuber (Wind River) - [303083] Split out the Spawner
###############################################################################
pluginName=C/C++ Development Tools Core
providerName=Eclipse CDT

cnature.name=C Nature
ccnature.name=C++ Nature
CProblemMarker.name=C/C++ Problem
PathEntryProblemMarker.name=Path Entry Problem
CBuildCommand.name=C Builder Command
CBuilder.name=CDT Core Builder

#names of extension points
CProject.name=C Project
CBuildConsole.name=C Builder Console
ProcessList.name=Process List
ErrorParser.name=Error Parser
BinaryParser.name=Binary Parser
PathEntryStore.name=Path Entry Store
ScannerInfoProvider.name=Scanner Information Provider
LanguageSettingsProvider.name=Language Settings Provider
CIndexer.name= C/C++ Indexer
language.name= CDT Language

CodeFormatter.name=C/C++ Code Formatter

CTaskName=C/C++ Task

IndexerMarker=Indexer Marker

ElfParser.name=Elf Parser
GNUElfParser.name=GNU Elf Parser
PEWindowsParser.name=PE Windows Parser (Deprecated)
PE64WindowsParser.name=PE64 Windows Parser
CygwinPEParser.name=Cygwin PE Parser (Deprecated)
CygwinPE64Parser.name=Cygwin PE64 Parser
XCOFF32Parser.name=AIX XCOFF32 Parser
MachOParser.name=Mach-O Parser (Deprecated)
MachOParser64.name=Mach-O 64 Parser
SOMParser.name=HP-UX SOM Parser

CDTGNUCErrorParser.name=GNU gcc/g++ Error Parser
CDTGNUCErrorParser.regex.ReportedOnlyOnce=(.*?):(\\d+):(\\d+:)? .*\\(Each undeclared identifier is reported only once.*
CDTGNUCErrorParser.regex.ForEachFunctionItAppearsIn=(.*?):(\\d+):(\\d+:)? .*for each function it appears in.\\).*
CDTGNUCErrorParser.regex.ReportedOnlyOncePerInputFile=(.*?):(\\d+):(\\d+:)? .*this will be reported only once per input file.*
CDTGNUCErrorParser.regex.InstantiatedFromHere=(.*?):(\\d+):(\\d+:)?\\s*(.*((instantiated)|(required)) from .*)
CDTGNUCErrorParser.regex.GenericInfo=(.*?):(\\d+):(\\d+:)?\\s*(([Nn]ote)|(NOTE)|([Ii]nfo)|(INFO)): (.*)
CDTGNUCErrorParser.regex.ParseErrorBefore=(.*?):(\\d+):(\\d+:)? (parse error before.*[`'"](.*)['"].*)
CDTGNUCErrorParser.regex.ErrorUndeclared=(.*?):(\\d+):(\\d+:)? [Ee]rror: ([`'"](.*)['"] undeclared .*)
CDTGNUCErrorParser.regex.ErrorConflictingTypesFor=(.*?):(\\d+):(\\d+:)? [Ee]rror: (conflicting types for .*[`'"](.*)['"].*)
CDTGNUCErrorParser.regex.GenericError=(.*?):(\\d+):(\\d+:)?\\s*(([Ee]rror)|(ERROR)): (.*)
CDTGNUCErrorParser.regex.DefinedButNotUsed=(.*?):(\\d+):(\\d+:)? [Ww]arning: ([`'"](.*)['"] defined but not used.*)
CDTGNUCErrorParser.regex.WarningConflictingTypesFor=(.*?):(\\d+):(\\d+:)? [Ww]arning: (conflicting types for .*[`'"](.*)['"].*)
CDTGNUCErrorParser.regex.GenericWarning=(.*?):(\\d+):(\\d+:)?\\s*(([Ww]arning)|(WARNING)): (.*)
CDTGNUCErrorParser.regex.OtherError=(.*?):(\\d+):(\\d+:)? (.*)

CDTGNULinkerErrorParser.name=GNU Linker Error Parser
CDTGNULinkerErrorParser.regex.InFunction=(.*?):?(\\(\\.\\w+\\+.*\\))?:\\s*(In function [`'"](.*)['"]:)
CDTGNULinkerErrorParser.regex.WarningDangerousFunction=(.*?):(\\d+):(\\d+:)? ([Ww]arning:)?\\s*(the use of [`'"](.*)['"] is dangerous, better use [`'"](.*)['"].*)
CDTGNULinkerErrorParser.regex.TextWarning=(.*?):?\\(\\.\\w+\\+.*\\): [Ww]arning:? (.*)
CDTGNULinkerErrorParser.regex.TextError=(.*?):?\\(\\.\\w+\\+.*\\): (.*)
CDTGNULinkerErrorParser.regex.ldWarning=(.*[/\\\\])?ld(\\.exe)?: [Ww]arning:? (.*)
CDTGNULinkerErrorParser.regex.ldError=(.*[/\\\\])?ld(\\.exe)?: (.*)

CDTGNUAssemblerErrorParser.name=GNU Assembler Error Parser
CDTWorkingDirLocator.name=pushd/popd CWD Locator
CDTGNUMakeErrorParser.name=GNU gmake Error Parser 7.0
CDTGNUMakeErrorParser.name.deprecated=GNU gmake Error Parser 6.0 (Deprecated)
CDTVisualCErrorParser.name=Microsoft Visual C Error Parser

PathEntryContainerInitializer=Path Entry Container Initializer

fileTypeMapping.AssemblyLanguage=Assembly
fileTypeMapping.cSourceFile=C Source File
fileTypeMapping.cppSourceFile=C++ Source File
fileTypeMapping.assemblySourceFile=Assembly Source File
fileTypeMapping.cHeaderFile=C Header File
fileTypeMapping.cppHeaderFile=C++ Header File

cSourceName=C Source File
cHeaderName=C Header File
cxxSourceName=C++ Source File
cxxHeaderName=C++ Header File
asmSourceName=Assembly Source File
binaryFileName=Binary File

cdt_pathentry_var.description=CDT PathEntry variable
config_name_var.description=The name of the active configuration for the project specified as an argument
config_description_var.description=The description of the active configuration for the project specified as an argument
core_build_dir.description=The build directory for the active Core Build configuration for the given project

PDOMProviderName=PDOM Provider

fastIndexer.name=Fast Indexer

# Built-in languages
language.name.gcc= GNU C
language.name.gpp= GNU C++
language.name.asm= Assembly

CConfigurationDataProvider.name = CConfigurationData provider
projectConverter.name = Project converter
CIndex.name = C/C++ Index
externalSettingsProvider.name = External Settings provider
tagger.name = Parser Node Tagger Extension Point
PDOMASTProcessor.name = PDOM AST Processor Extension Point
GeneratePDOMApplication.name = GeneratePDOM
defaultProvider.name = Default Provider
templatesExtensionPoint.name = Templates Extension point
templateProcessTypes.name = Process Types Extension point
templateAssociations.name = Template Associations
CProjectDescriptionStorage.name = Project Description Storage Extension point
CProjectStorageType.singlefile.name = XML Storage (single file)
CProjectStorageType.separatefile.name = XML Storage (Separate Files)
scannerInfoProvider2.name = Scanner Info Provider
efsExtensionProvider.name = EFS Extension Provider
refreshExclusionFactory.name = Refresh Exclusion Factory
uncPathConverter.name = UNC Path Converter
ScannerInfoExtensionLanguageSettingsProvider.name=Contributed ScannerInfo Entries
PathEntryScannerInfoLanguageSettingsProvider.name=Contributed PathEntry Containers
ReferencedProjectsLanguageSettingsProvider.name=Exported Entries from Referenced Projects

problemMarkerFilter.name=Problem Marker Filter
