mirror of
				https://github.com/amix/vimrc
				synced 2025-10-30 21:43:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			245 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540
 | |
| #
 | |
| # Please contact R.I.Pienaar <rip@devco.net> for additions and feedback,
 | |
| # see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php
 | |
| 
 | |
| # Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc
 | |
| snippet classheader
 | |
| 	# == Class: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'name')`}
 | |
| 	#
 | |
| 	# ${2:Full description of class $1 here}
 | |
| 	#
 | |
| 	# === Parameters
 | |
| 	#
 | |
| 	# Document parameters here.
 | |
| 	#
 | |
| 	# [*parameter1*]
 | |
| 	#   Explanation of what this parameter affects and what it defaults to.
 | |
| 	#   e.g. "Specify one or more upstream ntp servers as an array."
 | |
| 	#
 | |
| 	# === Variables
 | |
| 	#
 | |
| 	# Here you should define a list of variables that this module would require.
 | |
| 	#
 | |
| 	# [*variable1*]
 | |
| 	#   Explanation of how this variable affects the funtion of this class and
 | |
| 	#   if it has a default. e.g. "The parameter enc_ntp_servers must be set by the
 | |
| 	#   External Node Classifier as a comma separated list of hostnames."
 | |
| 	#
 | |
| 	# === Examples
 | |
| 	#
 | |
| 	#  class { '$1':
 | |
| 	#    parameter1 => [ 'just', 'an', 'example', ]
 | |
| 	#  }
 | |
| 	#
 | |
| 	# === Authors
 | |
| 	#
 | |
| 	# `g:snips_author` <`g:snips_email`>
 | |
| 	#
 | |
| 	# === Copyright
 | |
| 	#
 | |
| 	# Copyright `strftime("%Y")` `g:snips_author`
 | |
| 	#
 | |
| 	class $1 (${3}){
 | |
| 		${4}
 | |
| 	}
 | |
| 
 | |
| snippet defheader
 | |
| 	# == Define: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:r:s?/manifests/?::?'), 'name')`}
 | |
| 	#
 | |
| 	# ${2:Full description of defined resource type $1 here}
 | |
| 	#
 | |
| 	# === Parameters
 | |
| 	#
 | |
| 	# Document parameters here
 | |
| 	#
 | |
| 	# [*namevar*]
 | |
| 	#   If there is a parameter that defaults to the value of the title string
 | |
| 	#   when not explicitly set, you must always say so.  This parameter can be
 | |
| 	#   referred to as a "namevar," since it's functionally equivalent to the
 | |
| 	#   namevar of a core resource type.
 | |
| 	#
 | |
| 	# [*basedir*]
 | |
| 	#   Description of this variable.  For example, "This parameter sets the
 | |
| 	#   base directory for this resource type.  It should not contain a trailing
 | |
| 	#   slash."
 | |
| 	#
 | |
| 	# === Examples
 | |
| 	#
 | |
| 	# Provide some examples on how to use this type:
 | |
| 	#
 | |
| 	#   $1 { 'namevar':
 | |
| 	#     basedir => '/tmp/src',
 | |
| 	#   }
 | |
| 	#
 | |
| 	# === Authors
 | |
| 	#
 | |
| 	# `g:snips_author` <`g:snips_email`>
 | |
| 	#
 | |
| 	# === Copyright
 | |
| 	#
 | |
| 	# Copyright `strftime("%Y")` `g:snips_author`
 | |
| 	#
 | |
| 	define $1(${3}) {
 | |
| 		${4}
 | |
| 	}
 | |
| 
 | |
| # Language Constructs
 | |
| snippet class
 | |
| 	class ${1:`vim_snippets#Filename('', 'name')`} {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet node
 | |
| 	node '${1:`vim_snippets#Filename('', 'fqdn')`}' {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet case
 | |
| 	case $${1:variable} {
 | |
| 		default: { ${0} }
 | |
| 	}
 | |
| snippet ife
 | |
| 	if $${1:variable} {
 | |
| 		${2}
 | |
| 	} else {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet if
 | |
| 	if $${1:variable} {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet el
 | |
| 	else {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet ?
 | |
| 	? {
 | |
| 		'${1}'	=> ${0}
 | |
| 	  }
 | |
| #
 | |
| # blocks etc and general syntax sugar
 | |
| snippet [
 | |
| 	[ ${1} ]
 | |
| snippet >
 | |
| 	${1}	=> ${0}
 | |
| snippet p:
 | |
| 	'puppet://puppet/${1:module name}/${0:file name}'
 | |
| #
 | |
| # Functions
 | |
| snippet alert
 | |
| 	alert('${1:message}')
 | |
| snippet crit
 | |
| 	crit('${1:message}')
 | |
| snippet debug
 | |
| 	debug('${1:message}')
 | |
| snippet defined
 | |
| 	defined(${1:Resource}['${2:name}'])
 | |
| snippet emerg
 | |
| 	emerg('${1:message}')
 | |
| snippet extlookup Simple extlookup
 | |
| 	extlookup('${1:variable}')
 | |
| snippet extlookup Extlookup with defaults
 | |
| 	extlookup('${1:variable}', '${2:default}')
 | |
| snippet extlookup Extlookup with defaults and custom data file
 | |
| 	extlookup('${1:variable}', '${2:default}', '${3:data source}')
 | |
| snippet fail
 | |
| 	fail('${1:message}')
 | |
| snippet info
 | |
| 	info('${1:message}')
 | |
| snippet inline_template
 | |
| 	inline_template('<%= ${1} %>')
 | |
| snippet notice
 | |
| 	notice('${1:message}')
 | |
| snippet realize
 | |
| 	realize(${1:Resource}[${2:name}])
 | |
| snippet regsubst
 | |
| 	regsubst(${1:hay stack}, ${2:needle}, '${3:replacement}')
 | |
| snippet inc
 | |
| 	include ${1:classname}
 | |
| snippet split
 | |
| 	split(${1:hay stack}, '${2:patten}')
 | |
| snippet versioncmp
 | |
| 	versioncmp('${1:version}', '${2:version}')
 | |
| snippet warning
 | |
| 	warning('${1:message}')
 | |
| #
 | |
| # Types
 | |
| snippet cron
 | |
| 	cron { '${1:name}':
 | |
| 		command => '${2}',
 | |
| 		user    => '${3:root}',
 | |
| 		${4}    => ${0},
 | |
| 	}
 | |
| 
 | |
| snippet exec
 | |
| 	exec { '${1:name}':
 | |
| 		command => '${2:$1}',
 | |
| 		user    => '${3:root}',
 | |
| 		${4}    => ${0},
 | |
| 	}
 | |
| 
 | |
| snippet user
 | |
| 	user { '${1:user}':
 | |
| 		ensure      => present,
 | |
| 		comment     => '${2:$1}',
 | |
| 		managehome  => true,
 | |
| 		home        => '${0:/home/$1}',
 | |
| 	}
 | |
| 
 | |
| snippet group
 | |
| 	group { '${1:group}':
 | |
| 		ensure => ${0:present},
 | |
| 	}
 | |
| 
 | |
| snippet host
 | |
| 	host { '${1:hostname}':
 | |
| 		ip => ${0:127.0.0.1},
 | |
| 	}
 | |
| 
 | |
| snippet mailalias
 | |
| 	mailalias { '${1:localpart}':
 | |
| 		recipient => '${0:recipient}',
 | |
| 	}
 | |
| 
 | |
| snippet mount
 | |
| 	mount { '${1:destination path}':
 | |
| 		ensure	=> ${2:mounted},
 | |
| 		device	=> '${0:device name or path}',
 | |
| 	}
 | |
| 
 | |
| snippet package
 | |
| 	package { '${1:package name}':
 | |
| 		ensure	=> ${0:present},
 | |
| 	}
 | |
| 
 | |
| snippet yumrepo
 | |
| 	yumrepo { '${1:repo name}':
 | |
| 		Descr   => '${2:$1}',
 | |
| 		enabled => ${0:1},
 | |
| 	}
 | |
| 
 | |
| snippet define
 | |
| 	define ${1} (${2}) {
 | |
| 		${0}
 | |
| 	}
 | |
| 
 | |
| snippet service
 | |
| 	service { '${1:service}' :
 | |
| 		ensure    => running,
 | |
| 		enable    => true,
 | |
| 		require   => [ Package['${2:package}'], File['${3:file}'], ],
 | |
| 		subscribe => [ File['${4:configfile1}'], File['${5:configfile2}'], Package['${6:package}'], ],
 | |
| 	}
 | |
| 
 | |
| snippet file
 | |
| 	file { '${1:filename}' :
 | |
| 		ensure  => ${2:present},
 | |
| 		owner   => '${3:root}',
 | |
| 		group   => '${4:root}',
 | |
| 		mode    => '${5:0644}',
 | |
| 		source  => 'puppet:///modules/${6:module}/${7:source}',
 | |
| 		content => template('/etc/puppet/templates/${8:template}'),
 | |
| 		alias   => '${9:alias}',
 | |
| 		require => [ Package['${10:package}'], File['${11:file}'], ],
 | |
| 	}
 | |
| 
 | 
