# C/C++ Folding Structure Provider

###### Identifier:

org.eclipse.cdt.ui.foldingStructureProviders

###### Since:

3.0

###### Description:

Contributions to this extension point define folding structures for the C/C++ editor. That is, they define the regions of a C/C++ source file that can be folded away. See `org.eclipse.jface.text.source.ProjectionViewer` for reference.

Extensions may optionally contribute a preference block which will appear on the C/C++ editor preference page.

###### Configuration Markup:

<!ELEMENT extension (provider)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT provider EMPTY>

<!ATTLIST provider

id IDREF #REQUIRED

name CDATA #IMPLIED

class CDATA #REQUIRED

preferencesClass CDATA #IMPLIED>

- id - The unique identifier of this provider.
- name - The name of this provider. If none is given, the id is used instead.
- class - An implementation of org.eclipse.cdt.ui.text.folding.ICFoldingStructureProvider
- preferencesClass - An implementation of org.eclipse.cdt.ui.text.folding.ICFoldingPreferenceBlock

###### Examples:

See `org.eclipse.cdt.ui.text.folding.DefaultCFoldingStructureProvider` for an example.

###### Supplied Implementation:

`org.eclipse.cdt.ui.text.folding.DefaultCFoldingStructureProvider` provides the default folding structure for the C/C++ editor. `org.eclipse.cdt.internal.ui.text.folding.DefaultCFoldingPreferenceBlock` provides the preference block for the default structure provider.

Copyright (c) 2001, 2006 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/ t; t;SPDX-License-Identifier: EPL-2.0