<commit_before>package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

type Config struct {
	TrelloUser       string   `json:"trello_user"`
	TrelloKey        string   `json:"trello_key"`
	TrelloToken      string   `json:"trello_token"`
	BoardName        string   `json:"board_name"`
	StartListName    string   `json:"start_list_name"`
	FinishedListName string   `json:"finished_list_name"`
	NotifyChannel    string   `json:"notify_channel"`
	InfoChannel      string   `json:"info_channel"`
	ReportDays       int      `json:"report_days"`
	ReportLists      []string `json:"report_lists"`
	SlackToken       string   `json:"slack_token"`
	ListenURL        string   `json:"listen_url"`
	Port             string   `json:"port"`
}

func LoadConfig(filename string) Config {

	var config Config

	file, err := ioutil.ReadFile(filename)
	if err != nil {
		fmt.Printf("Error reading config file: %v\n", err)
	}

	json.Unmarshal(file, &config)

	return config
}
<commit_msg>Update config system<commit_after>package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

type Config struct {
	TrelloUser  string `json:"trello_user"`
	TrelloKey   string `json:"trello_key"`
	TrelloToken string `json:"trello_token"`
	SlackToken  string `json:"slack_token"`
	ListenURL   string `json:"listen_url"`
	Port        string `json:"port"`
}

type BoardConfig struct {
	BoardName         string       `json:"board_name"`
	NotifyChannelName string       `json:"notify_channel_name"`
	ListConfigs       []ListConfig `json:"list_configs"`
}

type ListConfig struct {
	ListName        string `json:"list_name"`
	OnAction        string `json:"on_action"`
	MessageTemplate string `json:"message_template"`
}

func LoadConfig(filename string) Config {

	var config Config

	file, err := ioutil.ReadFile(filename)
	if err != nil {
		fmt.Printf("Error reading config file: %v\n", err)
	}

	json.Unmarshal(file, &config)

	return config
}

{'fraction_non_alphanumeric': 0.11430062630480167, 'fraction_numerical': 0.0, 'mean_word_length': 3.8045112781954886, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2693352', 'n_tokens_mistral': 651, 'n_tokens_neox': 632, 'n_words': 147}