<commit_before>// Package commands contains all functionality that is triggered by the user,
// either through keyboard bindings or the command-line interface. New commands
// such as 'sort', 'add', etc. must be implemented here.
package commands

import (
	"fmt"
	"sort"
	"strings"

	"github.com/ambientsound/pms/api"
	"github.com/ambientsound/pms/input/lexer"
	"github.com/ambientsound/pms/parser"
	"github.com/ambientsound/pms/song"
	"github.com/ambientsound/pms/utils"
)

// Verbs contain mappings from strings to Command constructors.
// Make sure to add commands here when implementing them.
var Verbs = map[string]func(api.API) Command{
	"add":       NewAdd,
	"bind":      NewBind,
	"copy":      NewYank,
	"cursor":    NewCursor,
	"cut":       NewCut,
	"inputmode": NewInputMode,
	"isolate":   NewIsolate,
	"list":      NewList,
	"next":      NewNext,
	"paste":     NewPaste,
	"pause":     NewPause,
	"play":      NewPlay,
	"prev":      NewPrevious,
	"previous":  NewPrevious,
	"print":     NewPrint,
	"q":         NewQuit,
	"quit":      NewQuit,
	"redraw":    NewRedraw,
	"se":        NewSet,
	"seek":      NewSeek,
	"select":    NewSelect,
	"set":       NewSet,
	"single":    NewSingle,
	"sort":      NewSort,
	"stop":      NewStop,
	"style":     NewStyle,
	"volume":    NewVolume,
	"yank":      NewYank,
}

// Command must be implemented by all commands.<commit_msg>Formatting<commit_after>// Package commands contains all functionality that is triggered by the user,
// either through keyboard bindings or the command-line interface. New commands
// such as 'sort', 'add', etc. must be implemented here.
package commands

import (
	"fmt"
	"sort"
	"strings"

	"github.com/ambientsound/pms/api"
	"github.com/ambientsound/pms/input/lexer"
	"github.com/ambientsound/pms/parser"
	"github.com/ambientsound/pms/song"
	"github.com/ambientsound/pms/utils"
)

// Verbs contain mappings from strings to Command constructors.
// Make sure to add commands here when implementing them.
var Verbs = map[string]func(api.API) Command{
	"add":       NewAdd,
	"bind":      NewBind,
	"copy":      NewYank,
	"cursor":    NewCursor,
	"cut":       NewCut,
	"inputmode": NewInputMode,
	"isolate":   NewIsolate,
	"list":      NewList,
	"next":      NewNext,
	"paste":     NewPaste,
	"pause":     NewPause,
	"play":      NewPlay,
	"previous":  NewPrevious,
	"prev":      NewPrevious,
	"print":     NewPrint,
	"q":         NewQuit,
	"quit":      NewQuit,
	"redraw":    NewRedraw,
	"seek":      NewSeek,
	"select":    NewSelect,
	"se":        NewSet,
	"set":       NewSet,
	"single":    NewSingle,
	"sort":      NewSort,
	"stop":      NewStop,
	"style":     NewStyle,
	"volume":    NewVolume,
	"yank":      NewYank,
}

// Command must be implemented by all commands.
{'fraction_non_alphanumeric': 0.13677700982175336, 'fraction_numerical': 0.0, 'mean_word_length': 3.074074074074074, 'pattern_counts': {'":': 56, '<': 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': '2927756', 'n_tokens_mistral': 975, 'n_tokens_neox': 962, 'n_words': 251}