Search in sources :

Example 11 with Token

use of org.rstudio.studio.client.workbench.views.source.editors.text.ace.Token in project rstudio by rstudio.

the class SetupChunkOptionsPopupPanel method findKnitrPrefix.

private Position findKnitrPrefix(TokenIterator iterator) {
    Token token = iterator.stepBackward();
    if (!(token.valueEquals("::") || token.valueEquals(":::")))
        return null;
    token = iterator.stepBackward();
    return token.valueEquals("knitr") ? iterator.getCurrentTokenPosition() : null;
}
Also used : Token(org.rstudio.studio.client.workbench.views.source.editors.text.ace.Token)

Example 12 with Token

use of org.rstudio.studio.client.workbench.views.source.editors.text.ace.Token in project rstudio by rstudio.

the class SetupChunkOptionsPopupPanel method findOptsChunk.

private Range findOptsChunk() {
    TokenIterator iterator = display_.createTokenIterator(position_);
    while (true) {
        Token token = iterator.stepForward();
        if (token == null)
            break;
        if (token.hasType("codeend"))
            break;
        Position startPos = iterator.getCurrentTokenPosition();
        if (!token.getValue().equals("opts_chunk"))
            continue;
        Position knitrPrefixPos = findKnitrPrefix(iterator.clone());
        if (knitrPrefixPos != null)
            startPos = knitrPrefixPos;
        token = iterator.stepForward();
        if (!token.getValue().equals("$"))
            continue;
        token = iterator.stepForward();
        if (!token.getValue().equals("set"))
            continue;
        token = iterator.stepForward();
        if (!token.getValue().equals("("))
            continue;
        if (!iterator.fwdToMatchingToken())
            continue;
        token = iterator.stepForward();
        Position endPos = iterator.getCurrentTokenPosition();
        return Range.fromPoints(startPos, endPos);
    }
    return null;
}
Also used : TokenIterator(org.rstudio.studio.client.workbench.views.source.editors.text.ace.TokenIterator) Position(org.rstudio.studio.client.workbench.views.source.editors.text.ace.Position) Token(org.rstudio.studio.client.workbench.views.source.editors.text.ace.Token)

Aggregations

Token (org.rstudio.studio.client.workbench.views.source.editors.text.ace.Token)12 Position (org.rstudio.studio.client.workbench.views.source.editors.text.ace.Position)6 Range (org.rstudio.studio.client.workbench.views.source.editors.text.ace.Range)5 TokenIterator (org.rstudio.studio.client.workbench.views.source.editors.text.ace.TokenIterator)3 Element (com.google.gwt.dom.client.Element)2 AceEditor (org.rstudio.studio.client.workbench.views.source.editors.text.AceEditor)2 TokenCursor (org.rstudio.studio.client.workbench.views.source.editors.text.ace.TokenCursor)2 ScheduledCommand (com.google.gwt.core.client.Scheduler.ScheduledCommand)1 Style (com.google.gwt.dom.client.Style)1 HandlerRegistration (com.google.gwt.event.shared.HandlerRegistration)1 Command (com.google.gwt.user.client.Command)1 Event (com.google.gwt.user.client.Event)1 EventListener (com.google.gwt.user.client.EventListener)1 Timer (com.google.gwt.user.client.Timer)1 Image (com.google.gwt.user.client.ui.Image)1 Label (com.google.gwt.user.client.ui.Label)1 SimplePanel (com.google.gwt.user.client.ui.SimplePanel)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 CommandWithArg (org.rstudio.core.client.CommandWithArg)1