]> git.lizzy.rs Git - micro.git/blobdiff - cmd/micro/rtfiles.go
Add cd and pwd commands to change the working dir
[micro.git] / cmd / micro / rtfiles.go
index 0e537dee35faf51acef5e35c1dca8b9f3a0c74a3..91bafa08fc75c2eb2fa9314ef7ccf1e8964ee02c 100644 (file)
@@ -11,6 +11,7 @@ const (
        RTColorscheme = "colorscheme"
        RTSyntax      = "syntax"
        RTHelp        = "help"
+       RTPlugin      = "plugin"
 )
 
 // RuntimeFile allows the program to read runtime data like colorschemes or syntax files
@@ -121,6 +122,26 @@ func InitRuntimeFiles() {
        add(RTColorscheme, "colorschemes", "*.micro")
        add(RTSyntax, "syntax", "*.micro")
        add(RTHelp, "help", "*.md")
+
+       // Search configDir for plugin-scripts
+       files, _ := ioutil.ReadDir(filepath.Join(configDir, "plugins"))
+       for _, f := range files {
+               if f.IsDir() {
+                       scriptPath := filepath.Join(configDir, "plugins", f.Name(), f.Name()+".lua")
+                       if _, err := os.Stat(scriptPath); err == nil {
+                               AddRuntimeFile(RTPlugin, realFile(scriptPath))
+                       }
+               }
+       }
+
+       if files, err := AssetDir("runtime/plugins"); err == nil {
+               for _, f := range files {
+                       scriptPath := path.Join("runtime/plugins", f, f+".lua")
+                       if _, err := AssetInfo(scriptPath); err == nil {
+                               AddRuntimeFile(RTPlugin, assetFile(scriptPath))
+                       }
+               }
+       }
 }
 
 // PluginReadRuntimeFile allows plugin scripts to read the content of a runtime file