Se estiver usando o Emacs para escrever manifestos do Puppet, você escreverá muito do mesmo código, como os blocos de {} arquivo, por exemplo.
YASnippet torna mais fácil escrever manifestos ainda mais rápido com yasnippet-puppet-mode: https://github.com/jasperla/yasnippet-puppet-mode
file<TAB>
irá expandir para:
file { "name":
owner => owner,
group => group,
mode => mode,
ensure => ensure,
require => require,
content => content,
source => source;
}
Se você já estiver em um bloco de arquivo {} maior, poderá usar:
xfile<TAB>
Por exemplo:
file { "/etc/fstab":
owner => root,
group => wheel,
mode => 0644,
[etc];
xfile<TAB>
}
que omitirá o “arquivo {….}” e, em vez disso, começará com o nome do recurso. Isso funciona para blocos de “arquivo”, “serviço” e “nó”.
Os snippets atualmente suportados são para as diretivas “augeas”, “class”, “file”, “include”, “node”, “package”, “service” e “source”.
Outro recurso é que todos os seus atributos também serão alinhados corretamente.