* Copyright (C) 2010 Robert Futrell
* robert_futrell at users.sourceforge.net
* http://fifesoft.com/rsyntaxtextarea
* This library is distributed under a modified BSD license. See the included
* RSTALanguageSupport.License.txt file for details.
package org.fife.rsta.ac.c;
import javax.swing.ListCellRenderer;
import org.fife.rsta.ac.AbstractLanguageSupport;
import org.fife.ui.autocomplete.AutoCompletion;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
* Language support for C.
public class CLanguageSupport extends AbstractLanguageSupport {
* The completion provider, shared amongst all text areas editing C.
private CCompletionProvider provider;
public CLanguageSupport() {
setParameterAssistanceEnabled(true);
protected ListCellRenderer createDefaultCompletionCellRenderer() {
return new CCellRenderer();
private CCompletionProvider getProvider() {
provider = new CCompletionProvider();
public void install(RSyntaxTextArea textArea) {
CCompletionProvider provider = getProvider();
AutoCompletion ac = createAutoCompletion(provider);
installImpl(textArea, ac);
textArea.setToolTipSupplier(provider);
public void uninstall(RSyntaxTextArea textArea) {
textArea.setToolTipSupplier(null);