<commit_before><div><b>Expression {{index + 1}}</b></div>
<select
  class="form-control expression_select third_width"
  ng-model="expr.server_id"
  ng-options="s.id as s.name for s in servers"
  ng-change="MetricNamesQuerier(expr.server_id, serversById[expr.server_id]['url'], this)">
  <option value="">- Select Server -</option>
</select>
<select class="form-control expression_select third_width" ng-model="expr.axis_id" ng-options="a.id as ('Axis ' + a.id) for a in axes">
  <option value="">- Select Axis -</option>
</select>
<select class="form-control expression_select third_width"
  ng-model="expr.legend_id"
  ng-options="s.id as s.name for s in legendFormatStrings">
  <option value="">- Select Format String -</option>
</select>
<div class="input-group expression_select">
  <input type="text" class="form-control"
    ng-model="expression"
    typeahead="m for m in metricNames | filter:$viewValue"
    typeahead-on-select="setExpression($item)"
    placeholder="Enter expression" />
  <span class="input-group-btn">
    <button class="btn btn-default" type="button" ng-click="showMetrics = true" ng-hide="showMetrics"><i class="icon-plus"></i></button>
    <button class="btn btn-default" type="button" ng-click="showMetrics = false" ng-show="showMetrics"><i class="icon-minus"></i></button>
    <button class="btn btn-default" type="button" ng-click="removeExpression(index)"><i class="icon-cross"></i></button>
  </span>
</div>
<select class="form-control" type="text"
  ng-show="showMetrics"
  ng-model="chosenMetric"
  ng-change="appendToExpression(expr, this.chosenMetric)"
  ng-options="m for m in metricNames">
  <option value="">- Insert Metric at Cursor -</option>
</select>
<br/><commit_msg>add 100ms wait for typeahead list update<commit_after><div><b>Expression {{index + 1}}</b></div>
<select
  class="form-control expression_select third_width"
  ng-model="expr.server_id"
  ng-options="s.id as s.name for s in servers"
  ng-change="MetricNamesQuerier(expr.server_id, serversById[expr.server_id]['url'], this)">
  <option value="">- Select Server -</option>
</select>
<select class="form-control expression_select third_width" ng-model="expr.axis_id" ng-options="a.id as ('Axis ' + a.id) for a in axes">
  <option value="">- Select Axis -</option>
</select>
<select class="form-control expression_select third_width"
  ng-model="expr.legend_id"
  ng-options="s.id as s.name for s in legendFormatStrings">
  <option value="">- Select Format String -</option>
</select>
<div class="input-group expression_select">
  <input type="text" class="form-control"
    ng-model="expression"
    typeahead="m for m in metricNames | filter:$viewValue"
    typeahead-on-select="setExpression($item)"
    typeahead-wait-ms="100"
    placeholder="Enter expression" />
  <span class="input-group-btn">
    <button class="btn btn-default" type="button" ng-click="showMetrics = true" ng-hide="showMetrics"><i class="icon-plus"></i></button>
    <button class="btn btn-default" type="button" ng-click="showMetrics = false" ng-show="showMetrics"><i class="icon-minus"></i></button>
    <button class="btn btn-default" type="button" ng-click="removeExpression(index)"><i class="icon-cross"></i></button>
  </span>
</div>
<select class="form-control" type="text"
  ng-show="showMetrics"
  ng-model="chosenMetric"
  ng-change="appendToExpression(expr, this.chosenMetric)"
  ng-options="m for m in metricNames">
  <option value="">- Insert Metric at Cursor -</option>
</select>
<br/>
{'fraction_non_alphanumeric': 0.17981072555205047, 'fraction_numerical': 0.002294235732721537, 'mean_word_length': 5.388278388278389, 'pattern_counts': {'":': 0, '<': 79, '<?xml version=': 0, '>': 79, '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': '4814237', 'n_tokens_mistral': 1147, 'n_tokens_neox': 1115, 'n_words': 256}