# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540
#
# These snippets help you write Agent DDLs.  Install the VIM Snippets system
# and copy this to your snippets directory.
#
# Create a file .vim/ftdetect/mcollective_ddl.vim with the following:
#
#   au BufRead,BufNewFile *.ddl   setfiletype mcollective_ddl
#
# Your file type should now be correctly set automatically and editing
# DDLs should be easier.
#
# Please contact R.I.Pienaar <rip@devco.net> for additions and feedback,
snippet meta
	metadata    :name        => "${1:`Filename('', 'name')`}",
	            :description => "${2:description}",
	            :author      => "${3:`g:snips_author`}",
	            :license     => "${4:license}",
	            :version     => "${5:version}",
	            :url         => "${6:homepage}",
	            :timeout     => ${7:run timeout}

	${8}
snippet discovery
	discovery do
		capabilities ${1:capability list}
	end
snippet	dataquery
	dataquery :description => "${1:data query description}" do
	    ${2}
	end
snippet	action
	action "${1:action name}", :description => "${2:action description}" do
	    ${3}
	end
snippet input String
	input :${1:input name},
	      :prompt      => "${2:prompt when asking for information}",
	      :description => "${3:description of the input}",
	      :type        => :string,
	      :validation  => '${4:^.+$}',
	      :optional    => ${5:false},
	      :maxlength   => ${6:20}

	${7}
snippet input List
	input :${1:input name},
	      :prompt      => "${2:prompt when asking for information}",
	      :description => "${3:description of the input}",
	      :type        => :list,
	      :optional    => ${4:false},
	      :list        => [${5:list members}]

	${6}
snippet input Numeric
	input :${1:input name},
	      :prompt      => "${2:prompt when asking for information}",
	      :description => "${3:description of the input}",
	      :type        => :number,
	      :optional    => ${4:false}

	${5}
snippet input Boolean
	input :${1:input name},
	      :prompt      => "${2:prompt when asking for information}",
	      :description => "${3:description of the input}",
	      :type        => :boolean,
	      :optional    => ${4:false}

	${5}
snippet output
	output ${1:output name},
	       :description => "${2:description of this output data}",
	       :display_as  => "${3:what do display}",
	       :default     => ${4:nil}

	${5}
snippet display Always
	display :always


snippet display Only OK results
	display :ok


snippet display Only failed results
	display :failed


