2015-04-08 30 views
0

我已經安裝了Sublime Text 3和Elixir軟件包。但是,當我嘗試Line - > Reindent Elixir代碼時,它不會正確縮進。如何在Sublime文本中正確縮進Elixir代碼?如何在Sublime Text中自動縮進不朽的代碼

的代碼片段:

defmodule Drop do 

def drop do 
setup 
handle_drops 
end 

def handle_drops do 
receive do 
{from, planemo, distance} -> 
send(from, {planemo, distance, fall_velocity(planemo, distance)}) 
handle_drops 
end 
end 

def fall_velocity(planemo, distance) when distance >= 0 do 
{:atomic, [p | _]} = :mnesia.transaction(fn() -> 
:mnesia.read(Planemo, planemo) end) 
:math.sqrt(2 * p.gravity * distance) 
end 

def setup do 
:mnesia.create_schema([node()]) 
:mnesia.start() 
:mnesia.create_table(PlanemoTable, [{:attributes, 
[:name, :gravity, :diameter, :distance_from_sun]}, 
{:record_name, :planemo}]) 
f = fn -> 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :mercury, gravity: 3.7, 
diameter: 4878, distance_from_sun: 57.9), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :venus, gravity: 8.9, 
diameter: 12104, distance_from_sun: 108.2), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :earth, gravity: 9.8, 
diameter: 12756, distance_from_sun: 149.6), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :moon, gravity: 1.6, 
diameter: 3475, distance_from_sun: 149.6), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :mars, gravity: 3.7, 
diameter: 6787, distance_from_sun: 227.9), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :ceres, gravity: 0.27, 
diameter: 950, distance_from_sun: 413.7), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :jupiter, gravity: 23.1, 
diameter: 142796, distance_from_sun: 778.3), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :saturn, gravity: 9.0, 
diameter: 120660, distance_from_sun: 1427.0), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :uranus, gravity: 8.7, 
diameter: 51118, distance_from_sun: 2871.0), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :neptune, gravity: 11.0, 
diameter: 30200, distance_from_sun: 4497.1), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :pluto, gravity: 0.6, 
diameter: 2300, distance_from_sun: 5913.0), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :haumea, gravity: 0.44, 
diameter: 1150, distance_from_sun: 6484.0), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :makemake, gravity: 0.5, 
diameter: 1500, distance_from_sun: 6850.0), :write) 
:mnesia.write(PlanemoTable, Planemo.planemo(name: :eris, gravity: 0.8, 
diameter: 2400, distance_from_sun: 10210.0), :write) 
end 

:mnesia.transaction(f) 
end 
end 
+1

因此,當您試圖縮進時,代碼完全沒有改變?你能否添加你想縮進你的問題的片段? –

+0

謝謝帕特里克。我可以在評論中發佈代碼嗎? –

+1

請修改您的問題,並將其格式化爲源代碼。註釋中的代碼通常很難閱讀,尤其是當您處理與縮進相關的空白問題時。 –

回答

0

未能正確縮進往往是有被代碼中的語法錯誤的標誌。請檢查以確保您沒有忘記defend或匹配的括號或引號...

相關問題