<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="55773" data-post-id="55773">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="OvermindDL1" data-post="109" data-topic="9344">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>I could define that in ex_spirit sure, but how would the users use it without each-and-every-single-one-of-them adding it to their options as well?  It should be some in-file definition, like a module attribute or something to state ‘all uses of this is without parenthesis’ or so.</p>
</blockquote>
</aside>
<p>That’s what the discussion with <a class="mention" href="/u/nobbz" rel="nofollow">@NobbZ</a> above has been about. It can’t be anything set programmatically because the formatter does not evaluate code, it has no semantic understanding. And I would also be wary if we allowed libraries to implicitly tell how my code should be formatted, because they would be able to change how unrelated code to the library would be formatted too.</p>
<aside class="quote no-group" data-username="OvermindDL1" data-post="110" data-topic="9344">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>So I can either get parenthesis around the rule function definition, or I get everything pushed waaaaaay over to the right.  Neither of these options are right, not right at all…  O.o!</p>
</blockquote>
</aside>
<p>Parens are indented with two spaces since it has delimeters. Function calls without parens are indented by their name, that’s how most Elixir code is organized:</p>
<pre><code>assert foo ==
       bar
</code></pre>
<p>If it wrote it as:</p>
<pre><code>assert foo ==
  bar
</code></pre>
<p>Then some people would complain about the exact opposite that you are complaining. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55773" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/113">Post #112</a>
	                </div>
	            </div>
              <div id="likers-container-55773" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55773"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #112"></div>
  </section>
</div>
    <div class="postbit" id="55790" data-post-id="55790">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The last two bugs reported have been fixed as well. Please give the formatter a try once more and let us know of more suspicious cases!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55790" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/114">Post #113</a>
	                </div>
	            </div>
              <div id="likers-container-55790" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55790"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #113"></div>
  </section>
</div>
    <div class="postbit" id="55809" data-post-id="55809">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-livebook_core_team" data-username="josevalim" data-post="113" data-topic="9344">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/48/1787_2.png" class="avatar"> josevalim:</div>
<blockquote>
<p>If it wrote it as:</p>
<p>assert foo ==<br>
bar</p>
<p>Then some people would complain about the exact opposite that you are complaining. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
</blockquote>
</aside>
<p>Actually I’d vote for:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">assert(
  foo == bar
)
</code></pre>
<p>If it managed to get longer that is.  ^.^</p>
<aside class="quote group-livebook_core_team" data-username="josevalim" data-post="114" data-topic="9344" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/48/1787_2.png" class="avatar"> josevalim:</div>
<blockquote>
<p>The last two bugs reported have been fixed as well. Please give the formatter a try once more and let us know of more suspicious cases!</p>
</blockquote>
</aside>
<p>I did, I saw the changes!  I’ll grab master and try it again.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55809" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/115">Post #114</a>
	                </div>
	            </div>
              <div id="likers-container-55809" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55809"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #114"></div>
  </section>
</div>
    <div class="postbit" id="55810" data-post-id="55810">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It now formats it to:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  defrule parse_entry(
            seq([
              parse_type(),
              parse_body()
            ])
          ),
          pipe_result_into:
            List.to_tuple()
            |&gt; (case do
                  {:started, datetime_string} -&gt;
                    {:started, parse(datetime_string, parse_weirddatetimeformat()).result}

                  result -&gt;
                    result
                end)
</code></pre>
<p>Looks <em>much</em> more readable like that.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Still far <em>far</em> too right (I’ve never seen the point to aligning to something above like that, only for repeated calls or so, which this is not the case, thus only indentation should be used, not alignment), and that random newline in the <code>case</code> is jarring, it either needs to be gone, or perhaps made into this (which I do in my especially large case statements, of which this is not one so I would not have empty lines at all):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  defrule parse_entry(
            seq([
              parse_type(),
              parse_body()
            ])
          ),
          pipe_result_into:
            List.to_tuple()
            |&gt; (case do

                  {:started, datetime_string} -&gt;
                    {:started, parse(datetime_string, parse_weirddatetimeformat()).result}

                  result -&gt;
                    result

                end)

</code></pre>
<p>EDIT:<br>
<a class="mention" href="/u/josevalim" rel="nofollow">@josevalim</a> <a href="https://github.com/elixir-lang/elixir/pull/6979" class="inline-onebox" rel="noopener nofollow ugc">Fix formatting of multiline "foo.{...}" calls by whatyouhide · Pull Request #6979 · elixir-lang/elixir · GitHub</a> just went through, it formats:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">alias Foo.{
        Bar
      }
</code></pre>
<p>As this instead now:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">alias Foo.{
  Bar
}
</code></pre>
<p>Isn’t that the same thing that I want from this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">   defrule parse_entry(
            seq([
              parse_type(),
              parse_body()
            ])
          )
</code></pre>
<p>Wanting it to be this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  defrule parse_entry(
    seq([
      parse_type(),
      parse_body()
    ])
  )
</code></pre>
<p>Seems the same kind of issue to me?  And as such that PR becomes inconsistent considering the above case is not done too?<br>
(Although I’d still put the trailing comma too as without it looks inconsistent and wrong).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55810" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/116">Post #115</a>
	                </div>
	            </div>
              <div id="likers-container-55810" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55810"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #115"></div>
  </section>
</div>
    <div class="postbit" id="55818" data-post-id="55818">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sergio" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sergio/120/26966_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sergio
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Prettier has saved me so much time in Javascript land, this makes me so excited for Elixir. It’s going to save brainpower, avoid hour long Slack discussions on “best practices” and pointless Wiki pages in source repositories.</p>
<p><img src="https://forum.elixirforum.com/images/emoji/apple/beers.png?v=15" title=":beers:" class="emoji only-emoji" alt=":beers:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55818" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/117">Post #116</a>
	                </div>
	            </div>
              <div id="likers-container-55818" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55818"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #116"></div>
  </section>
</div>
    <div class="postbit" id="55879" data-post-id="55879">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="OvermindDL1" data-post="116" data-topic="9344">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Seems the same kind of issue to me?  And as such that PR becomes inconsistent considering the above case is not done too?</p>
</blockquote>
</aside>
<p>That rule currently only applies to data-structures and if they are the last argument. Even if we generalized to function calls, it means it wouldn’t apply when you use <code>:pipe_result_into</code>, since the last argument is now the <code>:pipe_result_into</code>. Then you could say: “why not apply it to all arguments?”. The issue is that then you would get this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defrule parse_entry(
  seq([
    parse_type(),
    parse_body()
  ])
),
pipe_result_into:
  List.to_tuple()
  |&gt; (case do
        {:started, datetime_string} -&gt;
          {:started, parse(datetime_string, parse_weirddatetimeformat()).result}

        result -&gt;
          result
      end)
</code></pre>
<p>And that looks very confusing. And no, we can’t keep pipe_result_into in the previous line because once we break you get one argument per line.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55879" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/118">Post #117</a>
	                </div>
	            </div>
              <div id="likers-container-55879" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55879"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #117"></div>
  </section>
</div>
    <div class="postbit" id="55880" data-post-id="55880">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-livebook_core_team" data-username="josevalim" data-post="118" data-topic="9344">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/48/1787_2.png" class="avatar"> josevalim:</div>
<blockquote>
<p>And that looks very confusing. And no, we can’t keep pipe_result_into in the previous line because once we break you get one argument per line.</p>
</blockquote>
</aside>
<p>Actually what I’d prefer is this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defrule parse_entry(
  seq([
    parse_type(),
    parse_body()
  ])
), pipe_result_into:
  List.to_tuple()
  |&gt; (case do
        {:started, datetime_string} -&gt;
          {:started, parse(datetime_string, parse_weirddatetimeformat()).result}
        result -&gt;
          result
      end)
</code></pre>
<p>Specifically because they are just arguments to <code>defrule</code>.  ^.^</p>
<p>Do note, <code>defrule</code> can have a <code>do</code>/<code>end</code> body as well, that body handles direct context manipulation.  Which further makes it… hmm, interesting.  ^.^;</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55880" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/119">Post #118</a>
	                </div>
	            </div>
              <div id="likers-container-55880" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55880"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #118"></div>
  </section>
</div>
    <div class="postbit" id="55884" data-post-id="55884">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ah hah!  I just discovered why the indentation in the <code>(</code>/<code>)</code> and such look wrong to me in this formatter, it doesn’t match what the C++ formatting I use does (I’ve been doing a bit of C++ work recently)!</p>
<p>Specifically, in C++ if I have a function call where the arguments span over multiple lines it depends on if the first argument is on the same line as the <code>(</code> or not, specifically (in elixir’eze):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir"># With the first argument *not* on the same line as the `(`:
bloop blah(
  arg0, # Normal 'indentation level', which should always be a &lt;tab&gt;, but elixir is weird with spaces (which is not indentation!)
  arg1,
  arg2 # I'd love a trailing comma here, C++ does not support it either though, blah...
)

# With the first argument *on* the same line as the `(`:
bloop blah(arg0,
           arg1, # indentation to the prior line (spaces in elixir), then spaces for alignment!  ^.^
           arg2
           ) # Sometimes I see this one character left so it is aligned with `(`, I don't really care either way though
</code></pre>
<p>And that is indeed what I was expecting before but was not getting it and did not know how to verbalize it at the time.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55884" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/120">Post #119</a>
	                </div>
	            </div>
              <div id="likers-container-55884" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55884"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #119"></div>
  </section>
</div>
    <div class="postbit" id="55928" data-post-id="55928">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mischov" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mischov/120/2489_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mischov
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I just noticed this one.</p>
<p>I have a case where the name of something is represented by an atom, and one of the names is “true”, and so represented by the atom <code>:true</code> (I didn’t choose that name, it’s part of a specification).</p>
<p>You probably see where this is going, but:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def eval(%Expr.Function{f: :true, args: []}, _node, _document, _context) do
</code></pre>
<p>is formatted as</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def eval(%Expr.Function{f: true, args: []}, _node, _document, _context) do
</code></pre>
<p><code>:true == true</code>, but I’m trying to represent something <em>called</em> “true” as an atom, not use the boolean <code>true</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55928" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/121">Post #120</a>
	                </div>
	            </div>
              <div id="likers-container-55928" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55928"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #120"></div>
  </section>
</div>
    <div class="postbit" id="56575" data-post-id="56575">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nathanl" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nathanl/120/39891_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nathanl
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I want to try the formatter out on a new module I’m writing. I’m running Elixir 1.5.1 and don’t use a version manager (yet), but thought I’d clone Elixir master and try the formatter from there.</p>
<p>I don’t understand why this doesn’t work.</p>
<pre><code>$: git clone git@github.com:elixir-lang/elixir.git
$: cd elixir
$: make clean compile
$: bin/elixir -v # Elixir 1.6.0-dev (74da11f) (compiled with OTP 20)
$: bin/mix -v # Mix 1.5.1 # ???
$: bin/mix help format # ** (Mix) The task "format" could not be found
</code></pre>
<p>Why is <code>mix</code> an older version that can’t run <code>bin/mix format ~/some_file.ex</code>?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56575" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/running-the-new-elixir-formatter/9344/122">Post #121</a>
	                </div>
	            </div>
              <div id="likers-container-56575" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56575"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #121"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/9344/load_more?page=13">Load more posts (30 remaining)</a>
</div></template></turbo-stream>