<!--
  ~ Copyright 2011 Holger Brandl
  ~
  ~ This code is licensed under BSD. For details see
  ~ http://www.opensource.org/licenses/bsd-license.php
  -->

<templateSet group="R">

    <!-- Base -->

    <template name="fun" value="$FUN_NAME$ &lt;- function($FUN_ARGS$){&#10;    $SELECTION$&#10;}&#10;$END$"
              title="function definition" toReformat="true" toShortenFQNames="true">
        <variable name="FUN_NAME" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="FUN_ARGS" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <template name="iter" value="for ($VAR$ in $ITERABLE$) {&#10;$END$&#10;}"
              toReformat="true" toShortenFQNames="true">
        <variable name="VAR" expression="" defaultValue="&quot;i&quot;" alwaysStopAt="true"/>
        <variable name="ITERABLE" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <!--ggplot specific life templates-->

    <template name="gg" value="ggplot(aes($AES$)) + $LAYER$" toReformat="false" title="ggplot: New plot"
              toShortenFQNames="true">
        <variable name="AES" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="LAYER" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="gt" value="+ ggtitle(&quot;$TITLE$&quot;)$END$" title="ggplot2: Add title" toReformat="false"
              toShortenFQNames="true">
        <variable name="TITLE" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="sxl" value="+ scale_x_log10()" title="ggplot2: Use log10 x-axis" toReformat="false"
              toShortenFQNames="true">
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="syl" value="+ scale_y_log10()" title="ggplot2: Use log10 y-axis" toReformat="false"
              toShortenFQNames="true">
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="si" value="stat=&quot;identity&quot;" title="ggplot2: use 'identity' as stat" toReformat="false"
              toShortenFQNames="true">
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <template name="qp" value="qplot(x = $X_COLUMN$, y = $Y_COLUMN$, data = $TABLE$, geom = &quot;$GEOM$&quot;)" toReformat="false"
              title="ggplot: qplot" toShortenFQNames="true">
        <variable name="TABLE" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="X_COLUMN" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="Y_COLUMN" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="GEOM" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <!-- misc-->

    <template name="sl"
              value="save($FILE$, file=&quot;$FILE$.RData&quot;)&#10;# $FILE$ &lt;- local(get(load(&quot;$FILE$.RData&quot;)))&#10;"
              title="save and load a current environment" toReformat="false" toShortenFQNames="true">
        <variable name="FILE" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="lgl" value="local(get(load($END$)))" description="local get load" toReformat="false"
              toShortenFQNames="true">
        <context>
            <option name="R" value="true"/>
        </context>
    </template>


    <template name="ses"
              value="session::save.session(&quot;.$NAME$.dat&quot;);&#10;# session::restore.session(&quot;.$NAME$.dat&quot;);&#10;"
              toReformat="false" toShortenFQNames="true">
        <variable name="NAME" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <!-- dplyr templates-->

    <template name="mut" value="mutate($VAR$ = $RULE$) $END$" title="dplyr: mutate" toReformat="true"
              toShortenFQNames="true">
        <variable name="VAR" expression="" defaultValue="" alwaysStopAt="true"/>
        <variable name="RULE" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

    <!-- readr-->

    <template name="wri"
              value="write_tsv($FILE$, path=&quot;$FILE$.txt&quot;)&#10;# $FILE$ &lt;- read_tsv(&quot;$FILE$.txt&quot;)&#10;"
              description="readr: Save a table as tsv-file" toReformat="false" toShortenFQNames="true">
        <variable name="FILE" expression="" defaultValue="" alwaysStopAt="true"/>
        <context>
            <option name="R" value="true"/>
        </context>
    </template>

</templateSet>