]> git.lizzy.rs Git - micro.git/commitdiff
Make debug mode flag, plugins can access logbuf
authorZachary Yedidia <zyedidia@gmail.com>
Thu, 16 Jan 2020 03:25:08 +0000 (22:25 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Thu, 16 Jan 2020 03:25:08 +0000 (22:25 -0500)
cmd/micro/initlua.go
cmd/micro/micro.go
internal/buffer/buffer.go
runtime/help/plugins.md

index 6363ddf3f0b7fc23d4d3d9485cc6f186e87df8c3..0c6d113d55f1f8f39e6fd5dcf375bc5e702d7f5c 100644 (file)
@@ -117,6 +117,8 @@ func luaImportMicroBuffer() *lua.LTable {
                return buffer.NewBufferFromFile(path, buffer.BTDefault)
        }))
        ulua.L.SetField(pkg, "ByteOffset", luar.New(ulua.L, buffer.ByteOffset))
+       ulua.L.SetField(pkg, "Log", luar.New(ulua.L, buffer.WriteLog))
+       ulua.L.SetField(pkg, "LogBuf", luar.New(ulua.L, buffer.GetLogBuf))
 
        return pkg
 }
index 3be216e7b69f1cb58811600778f87c521b02f07d..3e2f95fa20342315538448530466fa683a8aac55 100644 (file)
@@ -28,6 +28,7 @@ var (
        flagVersion   = flag.Bool("version", false, "Show the version number and information")
        flagConfigDir = flag.String("config-dir", "", "Specify a custom location for the configuration directory")
        flagOptions   = flag.Bool("options", false, "Show all option help")
+       flagDebug     = flag.Bool("debug", false, "Enable debug mode (prints debug info to ./log.txt)")
        optionFlags   map[string]*string
 )
 
@@ -41,6 +42,8 @@ func InitFlags() {
                fmt.Println("    \tThis can also be done by opening file:LINE:COL")
                fmt.Println("-options")
                fmt.Println("    \tShow all option help")
+               fmt.Println("-debug")
+               fmt.Println("    \tEnable debug mode (enables logging to ./log.txt)")
                fmt.Println("-version")
                fmt.Println("    \tShow the version number and information")
 
@@ -82,6 +85,10 @@ func InitFlags() {
                }
                os.Exit(0)
        }
+
+       if util.Debug == "OFF" && *flagDebug {
+               util.Debug = "ON"
+       }
 }
 
 // LoadInput determines which files should be loaded into buffers
@@ -144,10 +151,10 @@ func main() {
 
        var err error
 
-       InitLog()
-
        InitFlags()
 
+       InitLog()
+
        err = config.InitConfigDir(*flagConfigDir)
        if err != nil {
                screen.TermMessage(err)
index 6535b87f216ecf83f4275a4fde7e91394a92f3bd..296f6bf74ef72163d239d931f04f043bcaca573c 100644 (file)
@@ -879,3 +879,8 @@ func (b *Buffer) Line(i int) string {
 func WriteLog(s string) {
        LogBuf.EventHandler.Insert(LogBuf.End(), s)
 }
+
+// GetLogBuf returns the log buffer
+func GetLogBuf() *Buffer {
+       return LogBuf
+}
index e68df426b0fbe7c904ff5a3c173be0c02a11ae37..6c431068542fd888fb18b127d6230e1b440cb949 100644 (file)
@@ -178,6 +178,8 @@ The packages and functions are listed below (in Go type signatures):
     - `BTInfo`
     - `NewBufferFromFile`
     - `ByteOffset`
+    - `Log`
+    - `LogBuf`
 * `micro/util`
     - `RuneAt`
     - `GetLeadingWhitespace`