title: Ansible templating skips string after a dash
body: <p>I am templating a file with a set of variables in Ansible.</p>
  
  <p>A few entries in my <code>defaults/main.yaml</code> file are :</p>
  
  <pre><code>jenkins_plugins:
    'ant': '1.8'
    'antisamy-markup-formatter': '1.5'
    'apache-httpcomponents-client-4-api': '4.5.3-2.1'
    'kubernetes': '1.3'
  </code></pre>
  
  <p>One of this key-value pair is supposed to be injected in this line in my template file <code>config.xml.j2</code> :</p>
  
  <pre><code>&lt;markupFormatter class="hudson.markup.RawHtmlMarkupFormatter" plugin="antisamy-markup-formatter@{{ jenkins_plugins.antisamy-markup-formatter }}"&gt;
  </code></pre>
  
  <p>So basically my end result should look like :</p>
  
  <pre><code>&lt;markupFormatter class="hudson.markup.RawHtmlMarkupFormatter" plugin="antisamy-markup-formatter@1.5"&gt;
  </code></pre>
  
  <p>But when I run the playbook that calls this templating file, I get the ERROR :</p>
  
  <pre><code>TASK [jenkins : Generate config.xml file.] ****************************************
  fatal: [default]: FAILED! =&gt; {"changed": false, "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'antisamy'"}
  </code></pre>
  
  <p>If I remove all the dashes <code>-</code>, it will work fine but that is something I cannot do since I also have to download these plugins and I need to curl on the correct names with dashes.</p>
  
  <p>Why is the jinja templating skipping everything after <code>-</code> ? </p>