<commit_before>package main

// TODO: Use an external file to read the mappings from (possibly JSON)

const (
	// Decides the order of the keyword/category checks
	// (try to order from the more specific/specialized categories to the more general)
	model3d = iota
	multimedia
	graphics
	network
	email
	audiovideo
	office
	editor
	science
	vcs
	arcadegame
	actiongame
	adventuregame
	logicgame
	boardgame
	game
	programming
	system
	last
)

var (
	keywordmap = map[int][]string{
		model3d:       []string{"rendering", "modeling", "modelling", "modeler", "render", "raytracing"},
		multimedia:    []string{"non-linear", "audio", "sound", "graphics", "demo"},
		graphics:      []string{"draw", "pixelart"},
		network:       []string{"network", "p2p", "browser"},
		email:         []string{"gmail"},
		audiovideo:    []string{"synth", "synthesizer", "ffmpeg"},
		office:        []string{"ebook", "e-book", "spreadsheet", "calculator", "processor", "documents"},
		editor:        []string{"editor"},
		science:       []string{"gps", "inspecting", "molecular", "mathematics"},
		vcs:           []string{"git"},
		arcadegame:    []string{"combat", "arcade", "racing", "fighting", "fight", "shooter"},
		actiongame:    []string{"shooter", "fps"},
		adventuregame: []string{"roguelike", "rpg"},
		logicgame:     []string{"puzzle"},
		boardgame:     []string{"board", "chess", "goban", "chessboard", "checkers"},
		// "emulator" and "player" aren't always for games, but those cases will be
		// picked up by one of the other categories first
		game:        []string{"game", "rts", "mmorpg", "emulator", "player"},
		programming: []string{"code", "ide", "programming", "develop", "compile", "interpret", "valgrind"},
		system:      []string{"sensor", "bus", "calibration", "usb", "file"},
	}<commit_msg>Better comment<commit_after>package main

// TODO: Use an external file to read the mappings from (possibly JSON)

const (
	// Decides the order of the keyword/category checks
	// (try to order from the more specific/specialized categories to the more general)
	model3d = iota
	multimedia
	graphics
	network
	email
	audiovideo
	office
	editor
	science
	vcs
	arcadegame
	actiongame
	adventuregame
	logicgame
	boardgame
	game
	programming
	system
	last
)

var (
	keywordmap = map[int][]string{
		model3d:       []string{"rendering", "modeling", "modelling", "modeler", "render", "raytracing"},
		multimedia:    []string{"non-linear", "audio", "sound", "graphics", "demo"},
		graphics:      []string{"draw", "pixelart"},
		network:       []string{"network", "p2p", "browser"},
		email:         []string{"gmail"},
		audiovideo:    []string{"synth", "synthesizer", "ffmpeg"},
		office:        []string{"ebook", "e-book", "spreadsheet", "calculator", "processor", "documents"},
		editor:        []string{"editor"},
		science:       []string{"gps", "inspecting", "molecular", "mathematics"},
		vcs:           []string{"git"},
		arcadegame:    []string{"combat", "arcade", "racing", "fighting", "fight", "shooter"},
		actiongame:    []string{"shooter", "fps"},
		adventuregame: []string{"roguelike", "rpg"},
		logicgame:     []string{"puzzle"},
		boardgame:     []string{"board", "chess", "goban", "chessboard", "checkers"},
		// "emulator" and "player" aren't always for games, but those cases will be
		// picked up by one of the other categories first, as orderd by the constants above
		game:        []string{"game", "rts", "mmorpg", "emulator", "player"},
		programming: []string{"code", "ide", "programming", "develop", "compile", "interpret", "valgrind"},
		system:      []string{"sensor", "bus", "calibration", "usb", "file"},
	}
{'fraction_non_alphanumeric': 0.1791333149323765, 'fraction_numerical': 0.0016560861164780568, 'mean_word_length': 4.298245614035087, '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': '6091848', 'n_tokens_mistral': 1251, 'n_tokens_neox': 1160, 'n_words': 329}