]> git.lizzy.rs Git - micro.git/blobdiff - cmd/micro/plugin.lua
Rewrite gofmt and goimports as plugins
[micro.git] / cmd / micro / plugin.lua
index c6fab31cd544e98fcca24fc244afb6879a6f57b5..68407502efeb5f091c78eefdde1bc8d0e51838f7 100644 (file)
@@ -1,5 +1,26 @@
+go = {}
+
 function onSave()
-    local handle = io.popen("goimports -w view.go")
+    if settings.GoImports then
+        messenger:Message("Running goimports...")
+        go.goimports()
+    elseif settings.GoFmt then
+        messenger:Message("Running gofmt...")
+        go.gofmt()
+    end
+end
+
+function go.gofmt()
+    local handle = io.popen("gofmt -w " .. view.Buf.Path)
+    local result = handle:read("*a")
+    handle:close()
+
+    view:ReOpen()
+    messenger:Message(result)
+end
+
+function go.goimports()
+    local handle = io.popen("goimports -w " .. view.Buf.Path)
     local result = handle:read("*a")
     handle:close()