###############################################################################
# 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.SkippingInstantiationContexts=(.*?):(\\d+):(\\d+:)?\\s*(\\[\\s*skipping \\d+ instantiation context.*)
CDTGNUCErrorParser.regex.InConstexprExpansion=(.*?):(\\d+):(\\d+:)?\\s*(in 'constexpr' expansion of.*)
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=(.*?):?(\\(\\.[^\\s+]+\\+.*\\))?:\\s*(In function [`'"](.*)['"]:)
CDTGNULinkerErrorParser.regex.WarningDangerousFunction=(.*?):(\\d+):(\\d+:)? ([Ww]arning:)?\\s*(the use of [`'"](.*)['"] is dangerous, better use [`'"](.*)['"].*)
CDTGNULinkerErrorParser.regex.TextWarning=(.*?):?\\(\\.[^\\s+]+\\+.*\\): [Ww]arning:? (.*)
CDTGNULinkerErrorParser.regex.TextError=(.*?):?\\(\\.[^\\s+]+\\+.*\\): (.*)
CDTGNULinkerErrorParser.regex.ldInfo=(.*[/\\\\])?ld(\\.exe)?: ((mode|Removing unused section) .*)
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
