/*
* Completions.java
*
* Copyright (C) 2009-12 by RStudio, Inc.
*
* Unless you have received this program directly from RStudio pursuant
* to the terms of a commercial license agreement with RStudio, then
* this program is licensed to you under the terms of version 3 of the
* GNU Affero General Public License. This program is distributed WITHOUT
* ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
* AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
*
*/
package org.rstudio.studio.client.common.codetools;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayBoolean;
import com.google.gwt.core.client.JsArrayInteger;
import com.google.gwt.core.client.JsArrayString;
public class Completions extends JavaScriptObject
{
public static native Completions createCompletions(String token,
JsArrayString completions,
JsArrayString packages,
JsArrayBoolean quote,
JsArrayInteger type,
String fguess,
boolean excludeOtherCompletions,
boolean overrideInsertParens,
boolean cacheable,
String helpHandler)
/*-{
return {
token: [token],
results: completions,
packages: packages,
quote: quote,
type: type,
fguess: fguess ? [fguess] : null,
excludeOtherCompletions: excludeOtherCompletions,
overrideInsertParens: overrideInsertParens,
cacheable: cacheable,
helpHandler: helpHandler
};
}-*/;
protected Completions()
{
}
public final native String getToken() /*-{
return this.token[0] ;
}-*/;
public final native JsArrayString getCompletions() /*-{
return this.results ;
}-*/;
public final native JsArrayString getPackages() /*-{
// Packages end up as arrays of arrays because I suck at R.
// results: [["base"], null, null, ["graphics"], null]
// => ["base", null, null, "graphics", null]
return this.packages;
}-*/;
/**
* If rcompgen thinks we're doing function args, this
* returns the name of the function it thinks we're in
*/
public final native String getGuessedFunctionName() /*-{
if (!this.fguess)
return null ;
return this.fguess[0] ;
}-*/;
public final native void setCacheable(boolean cacheable) /*-{
this.cacheable = cacheable;
}-*/;
public final native boolean isCacheable() /*-{
return !!this.cacheable;
}-*/;
public final native void setSuggestOnAccept(boolean suggestOnAccept) /*-{
this.suggestOnAccept = suggestOnAccept;
}-*/;
public final native boolean shouldInsertParens() /*-{
return this.insertParens;
}-*/;
public final native JsArrayBoolean getQuote() /*-{
return this.quote;
}-*/;
public final native JsArrayInteger getType() /*-{
return this.type;
}-*/;
public final native boolean getSuggestOnAccept() /*-{
return !!this.suggestOnAccept;
}-*/;
public final native boolean getExcludeOtherCompletions() /*-{
return this.excludeOtherCompletions;
}-*/;
public final native boolean getOverrideInsertParens() /*-{
return this.overrideInsertParens;
}-*/;
public final native String getHelpHandler() /*-{
return this.helpHandler;
}-*/;
}