<?xml version="1.0" encoding="UTF-8"?>
<!--
 #=============================================================================#
 # Copyright (c) 2012, 2019 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
 #=============================================================================#
-->

<templates>

<template id="org.eclipse.statet.r.templates.RSnippets_SetWorkingDir"
	context="org.eclipse.statet.r.templates.RConsoleSnippetContextType"
	name="r.ConsoleSnippet:SetWorkingDir"
	description="%r_SetWorkingDir_description"
	>setwd("${resource_loc}")
</template>

<template id="org.eclipse.statet.r.templates.RSnippets_PrintHead"
	context="org.eclipse.statet.r.templates.RConsoleSnippetContextType"
	name="r.ConsoleSnippet:PrintHead"
	description="%r_PrintHead_description"
	>head(${r_object_name})
</template>
<template id="org.eclipse.statet.r.templates.RSnippets_PrintTail"
	context="org.eclipse.statet.r.templates.RConsoleSnippetContextType"
	name="r.ConsoleSnippet:PrintTail"
	description="%r_PrintTail_description"
	>tail(${r_object_name})
</template>
<template id="org.eclipse.statet.r.templates.RSnippets_PrintSummary"
	context="org.eclipse.statet.r.templates.RConsoleSnippetContextType"
	name="r.ConsoleSnippet:PrintSummary"
	description="%r_PrintSummary_description"
	>summary(${r_object_name})
</template>

<template id="org.eclipse.statet.r.templates.RSnippets_RunRoxygenPkg"
	context="org.eclipse.statet.r.templates.RConsoleSnippetContextType"
	name="r.ConsoleSnippet:RunRoxygenPkg"
	description="%r_RunRoxygenPkg_description"
	>require(roxygen2)
roxygenize("${resource_loc:${r_pkg_root_path}}")
</template>

</templates>
