<commit_before># HubTurbo (working title)

## Getting Started

**Development environment**

- JDK 1.8
- Eclipse Kepler/Luna

## Filter Expressions

### Predicates

Filters are written as a series of predicates, in the form `name(content)`. Issues for which the entire filter expression returns true will be displayed.

The query "all issues assigned to John that aren't closed and are due in milestones v0.1 and v0.2" may be expressed as follows:

```
assignee(john) ~state(closed) (milestone(v0.1) or milestone(v0.2))
```

As shown, parentheses are also used for grouping.

Predicates may also be written in the form `name:content` if `content` contains no spaces. This allows a syntax resembling that of Google Code's filter language:

```
assignee:john -state:closed (milestone:v0.1 or milestone:v0.2)
```

### Operators

Logical operators (AND, OR, NOT) may be applied to any filter expression. This can be used to compose complex queries. If an operator is left out, AND is implicit.

Operators may be written in any of the following forms:

- AND: `and`, `&&`, `&`
- OR: `or`, `||`, `|`
- NOT: `~`, `!`, `-`

As in C-like languages, NOT is a prefix operator, AND and OR are infix and left-associative, and precedence goes: NOT > AND > OR.

### Valid Predicates

- `id` (number)
- `title`
- `milestone`
- `parent` (number or name)
- `label`
- `assignee`
- `state/status` (`open` or `closed`)
- `has` (`label`, `milestone`, `assignee`, `parent`)<commit_msg>Updated readme with info on the label predicate<commit_after># HubTurbo (working title)

## Getting Started

**Development environment**

- JDK 1.8
- Eclipse Kepler/Luna

## Filter Expressions

### Predicates

Filters are written as a series of predicates, in the form `name(content)`. Issues for which the entire filter expression returns true will be displayed.

The query "all issues assigned to John that aren't closed and are due in milestones v0.1 and v0.2" may be expressed as follows:

```
assignee(john) ~state(closed) (milestone(v0.1) or milestone(v0.2))
```

As shown, parentheses are also used for grouping.

Predicates may also be written in the form `name:content` if `content` contains no spaces. This allows a syntax resembling that of Google Code's filter language:

```
assignee:john -state:closed (milestone:v0.1 or milestone:v0.2)
```

### Operators

Logical operators (AND, OR, NOT) may be applied to any filter expression. This can be used to compose complex queries. If an operator is left out, AND is implicit.

Operators may be written in any of the following forms:

- AND: `and`, `&&`, `&`
- OR: `or`, `||`, `|`
- NOT: `~`, `!`, `-`

As in C-like languages, NOT is a prefix operator, AND and OR are infix and left-associative, and precedence goes: NOT > AND > OR.

### Valid Predicates

- `id` (`number`)
- `title`
- `milestone`
- `parent` (`number` or `name`)
- `label` (`name`, `group.name`, or `group.`)
- `assignee`
- `state/status` ('open', 'closed')
- `has` ('label', 'milestone', 'assignee', 'parent')

`number`s may be written with a leading `#`.
{'fraction_non_alphanumeric': 0.13247863247863248, 'fraction_numerical': 0.009204470742932281, 'mean_word_length': 4.31064572425829, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3243163', 'n_tokens_mistral': 1008, 'n_tokens_neox': 943, 'n_words': 402}