<commit_before>library bot_hop;

// TODO: documentation for tasks
// TODO: formalize print/log model
// TODO: tests
// TODO: auto-complete model?

import 'dart:io';
import 'dart:isolate';
import 'package:args/args.dart';
import 'package:unittest/unittest.dart';
import 'package:bot/bot.dart';
import 'package:bot/io.dart';

part 'src/hop/_hop_runner.dart';
part 'src/hop/_hop_state.dart';
part 'src/hop/_hop_task.dart';
part 'src/hop/test_context.dart';
part 'src/hop/test_runner.dart';
part 'src/hop/process.dart';
part 'src/hop/dart2js.dart';

final _sharedState = new _HopState();

void runHopCore() {
  _sharedState.freeze();
  final options = new Options();
  new _HopRunner(_sharedState, options.arguments);
}

void addTask(String name, Action1<TaskContext> execFunc) {
  _sharedState.addTask(name, execFunc);<commit_msg>fixed the signature of addTask<commit_after>library bot_hop;

// TODO: documentation for tasks
// TODO: formalize print/log model
// TODO: tests
// TODO: auto-complete model?

import 'dart:io';
import 'dart:isolate';
import 'package:args/args.dart';
import 'package:unittest/unittest.dart';
import 'package:bot/bot.dart';
import 'package:bot/io.dart';

part 'src/hop/_hop_runner.dart';
part 'src/hop/_hop_state.dart';
part 'src/hop/_hop_task.dart';
part 'src/hop/test_context.dart';
part 'src/hop/test_runner.dart';
part 'src/hop/process.dart';
part 'src/hop/dart2js.dart';

final _sharedState = new _HopState();

void runHopCore() {
  _sharedState.freeze();
  final options = new Options();
  new _HopRunner(_sharedState, options.arguments);
}

void addTask(String name, Func1<TaskContext, bool> execFunc) {
  _sharedState.addTask(name, execFunc);
{'fraction_non_alphanumeric': 0.14985074626865671, 'fraction_numerical': 0.0023880597014925373, 'mean_word_length': 5.496124031007752, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '1941727', 'n_tokens_mistral': 609, 'n_tokens_neox': 602, 'n_words': 128}