github.com/charmbracelet/glamour@v0.7.0/internal/generate-style-json/main.go (about)

     1  package main
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"os"
     7  	"path/filepath"
     8  
     9  	"github.com/charmbracelet/glamour"
    10  	"github.com/charmbracelet/glamour/ansi"
    11  )
    12  
    13  func writeStyleJSON(filename string, styleConfig *ansi.StyleConfig) error {
    14  	f, err := os.Create(filename)
    15  	if err != nil {
    16  		return err
    17  	}
    18  	defer f.Close()
    19  	e := json.NewEncoder(f)
    20  	e.SetIndent("", "  ")
    21  	return e.Encode(styleConfig)
    22  }
    23  
    24  func run() error {
    25  	for style, styleConfig := range glamour.DefaultStyles {
    26  		if err := writeStyleJSON(filepath.Join("styles", style+".json"), styleConfig); err != nil {
    27  			return err
    28  		}
    29  	}
    30  	return nil
    31  }
    32  
    33  func main() {
    34  	if err := run(); err != nil {
    35  		fmt.Println(err)
    36  		os.Exit(1)
    37  	}
    38  }