1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 18:26:01 +02:00

framework for code formatter.

This commit is contained in:
Alain Magloire 2004-11-05 23:19:23 +00:00
parent 05788b2494
commit ae5688b47e
5 changed files with 27 additions and 17 deletions

View file

@ -1,3 +1,10 @@
2004-11-05 Alain Magloire
More framework for the formatter.
* src/org/eclipse/cdt/core/ToolFactory.java
* src/org/eclipse/cdt/core/CCorePlugin.java
* src/org/eclipse/cdt/core/formatter/CodeFormatter.java
* src/org/eclipse/cdt/core/formatter/CodeFormatterConstants.java
2004-11-01 Alain Magloire 2004-11-01 Alain Magloire
Change to the errorParserManager, ... finally Change to the errorParserManager, ... finally

View file

@ -82,6 +82,11 @@ public class CCorePlugin extends Plugin {
public final static String BUILD_SCANNER_INFO_SIMPLE_ID = "ScannerInfoProvider"; //$NON-NLS-1$ public final static String BUILD_SCANNER_INFO_SIMPLE_ID = "ScannerInfoProvider"; //$NON-NLS-1$
public final static String BUILD_SCANNER_INFO_UNIQ_ID = PLUGIN_ID + "." + BUILD_SCANNER_INFO_SIMPLE_ID; //$NON-NLS-1$ public final static String BUILD_SCANNER_INFO_UNIQ_ID = PLUGIN_ID + "." + BUILD_SCANNER_INFO_SIMPLE_ID; //$NON-NLS-1$
/**
* Name of the extension point for contributing a source code formatter
*/
public static final String FORMATTER_EXTPOINT_ID = "CodeFormatter" ; //$NON-NLS-1$
/** /**
* Possible configurable option value for TRANSLATION_TASK_PRIORITIES. * Possible configurable option value for TRANSLATION_TASK_PRIORITIES.
* @see #getDefaultOptions * @see #getDefaultOptions

View file

@ -18,7 +18,6 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension; import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Platform;
/** /**
@ -38,9 +37,8 @@ public class ToolFactory {
if (options == null) if (options == null)
options = CCorePlugin.getOptions(); options = CCorePlugin.getOptions();
String formatterID = (String)options.get(CCorePreferenceConstants.CODE_FORMATTER); String formatterID = (String)options.get(CCorePreferenceConstants.CODE_FORMATTER);
IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry(); String extID = CCorePlugin.FORMATTER_EXTPOINT_ID;
IExtensionPoint extension = Platform.getExtensionRegistry(). IExtensionPoint extension = Platform.getExtensionRegistry().getExtensionPoint(CCorePlugin.PLUGIN_ID, extID);
getExtensionPoint(CCorePlugin.PLUGIN_ID, "CodeFormatter");
if (extension != null) { if (extension != null) {
IExtension[] extensions = extension.getExtensions(); IExtension[] extensions = extension.getExtensions();
for(int i = 0; i < extensions.length; i++){ for(int i = 0; i < extensions.length; i++){

View file

@ -58,7 +58,7 @@ public abstract class CodeFormatter {
* @param kind Use to specify the kind of the code snippet to format. It can be any of these: * @param kind Use to specify the kind of the code snippet to format. It can be any of these:
* K_EXPRESSION, K_STATEMENTS, K_CLASS_BODY_DECLARATIONS, K_COMPILATION_UNIT, K_UNKNOWN * K_EXPRESSION, K_STATEMENTS, K_CLASS_BODY_DECLARATIONS, K_COMPILATION_UNIT, K_UNKNOWN
* @param file - file associated with this source (null if no file is associated) * @param file - file associated with this source (null if no file is associated)
* @param document the document to format * @param source the document to format
* @param offset the given offset to start recording the edits (inclusive). * @param offset the given offset to start recording the edits (inclusive).
* @param length the given length to stop recording the edits (exclusive). * @param length the given length to stop recording the edits (exclusive).
* @param indentationLevel the initial indentation level, used * @param indentationLevel the initial indentation level, used
@ -70,7 +70,7 @@ public abstract class CodeFormatter {
* @throws IllegalArgumentException if offset is lower than 0, length is lower than 0 or * @throws IllegalArgumentException if offset is lower than 0, length is lower than 0 or
* length is greater than source length. * length is greater than source length.
*/ */
public abstract TextEdit format(int kind, IDocument document, int offset, int length, int indentationLevel, String lineSeparator); public abstract TextEdit format(int kind, String source, int offset, int length, int indentationLevel, String lineSeparator);
/** /**
* @param options - general formatter options * @param options - general formatter options

View file

@ -1,18 +1,18 @@
/* /*******************************************************************************
* Created on Sep 5, 2004 * Copyright (c) 2000, 2004 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
* *
* TODO To change the template for this generated file go to * Contributors:
* Window - Preferences - Java - Code Style - Code Templates * QNX Software Systems - Initial API and implementation
*/ *******************************************************************************/
package org.eclipse.cdt.core.formatter; package org.eclipse.cdt.core.formatter;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
/** /**
* @author Alex Chapiro
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/ */
public class CodeFormatterConstants { public class CodeFormatterConstants {