mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			246 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540
 | |
| #
 | |
| # Please contact Jorge Vidal <im@jor.ge> for additions and feedback,
 | |
| # see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php
 | |
| # Many thanks to the original author R.I.Pienaar <rip@devco.net>
 | |
| 
 | |
| # Header using Puppet Strings (YARD tags) https://puppet.com/docs/puppet/latest/modules_documentation.html
 | |
| # More info: https://github.com/puppetlabs/puppet-strings
 | |
| snippet classheader
 | |
| 	# ${1:`vim_snippets#Filename(substitute(expand('%:p:s?\v.{-}/(\w+)/manifests/(.+)\.pp?\1/\2?'), '/', '::', 'g'), 'class-name')`}
 | |
| 	# ${2:A description of what this class does}
 | |
| 	#
 | |
| 	# @summary ${3:A short summary of the purpose of this class}
 | |
| 	#
 | |
| 	# @param ${4:parameter1}
 | |
| 	#   ${6:Explanation of what this parameter affects.}
 | |
| 	#
 | |
| 	# @example Simple use
 | |
| 	#   include $1
 | |
| 	#
 | |
| 	# @example Use with params
 | |
| 	#   class { '$1':
 | |
| 	#     $$4 => '${7:undef}',
 | |
| 	#   }
 | |
| 	#
 | |
| 	# @author ${8:`g:snips_author`} <${9:`g:snips_email`}>
 | |
| 	#
 | |
| 	# @note Copyright `strftime("%Y")` $8
 | |
| 	#
 | |
| 	class $1(
 | |
| 		${5:String} $$4 = undef,
 | |
| 	) {
 | |
| 		${0}
 | |
| 	}
 | |
| 
 | |
| snippet defheader
 | |
| 	# ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'define-name')`}
 | |
| 	# ${2:A description of what this define does}
 | |
| 	#
 | |
| 	# @summary ${3:A short summary of the purpose of this define}
 | |
| 	#
 | |
| 	# @param ${4:parameter1} [${5:String}]
 | |
| 	#   ${6:Explanation of what this parameter affects.}
 | |
| 	#
 | |
| 	# @example Simple use
 | |
| 	#   $1 { 'namevar':
 | |
| 	#     $$4 => '${7:undef}',
 | |
| 	#   }
 | |
| 	#
 | |
| 	# @author ${8:`g:snips_author`} <${9:`g:snips_email`}>
 | |
| 	#
 | |
| 	# @note Copyright `strftime("%Y")` $8
 | |
| 	#
 | |
| 	define $1(
 | |
| 		$$4 = undef,
 | |
| 	) {
 | |
| 		${0}
 | |
| 	}
 | |
| 
 | |
| # 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 ifd
 | |
| 	if defined(${1:Resource}["${2:name}"]) {
 | |
| 		${0}
 | |
| 	}
 | |
| snippet ifnd
 | |
| 	if !defined(${1:Resource}["${2:name}"]) {
 | |
| 		${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 notify
 | |
| 	notify { "${1:message}": }
 | |
| 
 | |
| 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("${8:module}/${9:template}"),
 | |
| 		alias   => "${10:alias}",
 | |
| 		require => [ Package["${11:package}"], File["${12:file}"], ],
 | |
| 	}
 | |
| 
 | |
| snippet archive
 | |
| 	archive { "${1:filename}":
 | |
| 		ensure     => ${2:present},
 | |
| 		url        => "http://${3:url}",
 | |
| 		extension  => "${4:tgz}",
 | |
| 		target     => "${5:target}",
 | |
| 		checksum   => ${6:false},
 | |
| 		src_target => "${7:/tmp}",
 | |
| 	}
 | |
| 
 | |
| snippet firewall
 | |
| 	firewall { "${1:comment}":
 | |
| 		proto	=> ${2:tcp},
 | |
| 		action	=> ${3:accept},
 | |
| 		port	=> ${4},
 | |
| 	}
 | |
| 
 | 
