<commit_before>- infos = Information about the spec plugin is in keys below
- infos/author = <NAME> <<EMAIL>>, <NAME> <<EMAIL>>
- infos/licence = BSD
- infos/needs =
- infos/provides = check apply
- infos/placements = postgetstorage presetstorage
- infos/status = maintained nodep configurable global recommended productive unfinished
- infos/description = allows to give specifications for keys

## Introduction

The spec plugin is a global plugin that copies metadata from the `spec`-namespace to other namespaces using their key names as globbing
expressions. Globbing resembles regular expressions. They do not have the same expressive power, but are easier to use. The semantics are
more suitable to match path names:

- `*` matches any key name of just one hierarchy. This means it complies with any character except slash or null.
- `?` satisfies single characters with the same exclusion.
- `#` matches Elektra array elements. (e.g. `#0`, `#_10`, `#__987`)
- `_` matches anything that `*` matches, except array elements.
- Additionally, there are ranges and character classes. They can also be inverted. For more infos take a look at the code documentation of
  `elektraKeyGlob()`.

The plugin copies the metadata of the corresponding `spec` key to every matching (see below) key in the other namespaces. The copied metadata<commit_msg>spec: alphabetical order of infos/status<commit_after>- infos = Information about the spec plugin is in keys below
- infos/author = <NAME> <<EMAIL>>, <NAME> <<EMAIL>>
- infos/licence = BSD
- infos/needs =
- infos/provides = check apply
- infos/placements = postgetstorage presetstorage
- infos/status = recommended productive maintained nodep configurable global unfinished
- infos/description = allows to give specifications for keys

## Introduction

The spec plugin is a global plugin that copies metadata from the `spec`-namespace to other namespaces using their key names as globbing
expressions. Globbing resembles regular expressions. They do not have the same expressive power, but are easier to use. The semantics are
more suitable to match path names:

- `*` matches any key name of just one hierarchy. This means it complies with any character except slash or null.
- `?` satisfies single characters with the same exclusion.
- `#` matches Elektra array elements. (e.g. `#0`, `#_10`, `#__987`)
- `_` matches anything that `*` matches, except array elements.
- Additionally, there are ranges and character classes. They can also be inverted. For more infos take a look at the code documentation of
  `elektraKeyGlob()`.

The plugin copies the metadata of the corresponding `spec` key to every matching (see below) key in the other namespaces. The copied metadata
{'fraction_non_alphanumeric': 0.07587476979742173, 'fraction_numerical': 0.004419889502762431, 'mean_word_length': 4.497975708502024, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, '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': '1974846', 'n_tokens_mistral': 725, 'n_tokens_neox': 693, 'n_words': 359}