]> git.lizzy.rs Git - micro.git/blobdiff - cmd/micro/colorscheme.go
make undothresthold a setting (part 2)
[micro.git] / cmd / micro / colorscheme.go
index 450da3875b771685b9ee3c142d90543749215d1e..5abfb030a30359eaba71a0902b54e720a3a972dc 100644 (file)
@@ -2,8 +2,7 @@ package main
 
 import (
        "fmt"
-       "github.com/gdamore/tcell"
-       "github.com/mitchellh/go-homedir"
+       "github.com/zyedidia/tcell"
        "io/ioutil"
        "regexp"
        "strconv"
@@ -16,19 +15,16 @@ type Colorscheme map[string]tcell.Style
 // The current colorscheme
 var colorscheme Colorscheme
 
+var preInstalledColors = [3]string{"default", "solarized", "solarized-tc"}
+
 // InitColorscheme picks and initializes the colorscheme when micro starts
 func InitColorscheme() {
        LoadDefaultColorscheme()
 }
 
-// LoadDefaultColorscheme loads the default colorscheme from ~/.micro/colorschemes
+// LoadDefaultColorscheme loads the default colorscheme from $(configDir)/colorschemes
 func LoadDefaultColorscheme() {
-       dir, err := homedir.Dir()
-       if err != nil {
-               TermMessage("Error finding your home directory\nCan't load runtime files")
-               return
-       }
-       LoadColorscheme(settings.Colorscheme, dir+"/.micro/colorschemes")
+       LoadColorscheme(settings["colorscheme"].(string), configDir+"/colorschemes")
 }
 
 // LoadColorscheme loads the given colorscheme from a directory
@@ -44,6 +40,17 @@ func LoadColorscheme(colorschemeName, dir string) {
                        colorscheme = ParseColorscheme(string(text))
                }
        }
+
+       for _, name := range preInstalledColors {
+               if name == colorschemeName {
+                       data, err := Asset("runtime/colorschemes/" + name + ".micro")
+                       if err != nil {
+                               TermMessage("Unable to load pre-installed colorscheme " + name)
+                               continue
+                       }
+                       colorscheme = ParseColorscheme(string(data))
+               }
+       }
 }
 
 // ParseColorscheme parses the text definition for a colorscheme and returns the corresponding object