mirror of
https://github.com/TECHNOFAB11/pay-respects.git
synced 2025-12-12 14:30:10 +01:00
chore: cleanup
This commit is contained in:
parent
050a71a502
commit
e13cc01fe8
2 changed files with 29 additions and 19 deletions
|
|
@ -157,8 +157,8 @@ fn eval_suggest(
|
||||||
if select_list.is_empty() {
|
if select_list.is_empty() {
|
||||||
suggests.push(suggest);
|
suggests.push(suggest);
|
||||||
} else {
|
} else {
|
||||||
for exe in select_list {
|
for selection in select_list {
|
||||||
let eval_suggest = suggest.clone().replace("{{selection}}", &exe);
|
let eval_suggest = suggest.clone().replace("{{selection}}", &selection);
|
||||||
suggests.push(eval_suggest);
|
suggests.push(eval_suggest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
44
rules.md
44
rules.md
|
|
@ -53,24 +53,34 @@ sudo {{command}} '''
|
||||||
|
|
||||||
The placeholder is evaluated as following:
|
The placeholder is evaluated as following:
|
||||||
|
|
||||||
- `{{command}}`: All the command without any modification.
|
- `{{command}}`: All the command without any modification
|
||||||
- `{{command[1]}}`: The first argument of the command (the command itself has index of 0). Negative values will count from reverse.
|
- `{{command[1]}}`: The first argument of the command (the command itself has index of 0)
|
||||||
- `{{command[2:5]}}`: The second to fifth arguments. If any of the side is not specified, then it defaults to the start (if it is left) or the end (if it is right).
|
- Negative values will count from reverse.
|
||||||
- `{{typo[2](fix1, fix2)}}`: This will try to change the second argument to candidates in the parenthesis. The argument in parentheses must have at least 2 values. Single arguments are reserved for specific matches, for instance, `path` to search all commands found in the `$PATH` environment, or the `{{shell}}` placeholder, among others.
|
- `{{command[2:5]}}`: The second to fifth arguments
|
||||||
- `{{select[3][selection1, selection2]}}`: A derivative of `typo` placeholder. Will create a suggestion for each selection in the parenthesis. The argument in parentheses also must have at least 2 values. Single arguments are reserved for specific selections, for instance, `path` to search all commands found in the `$PATH` environment with the minimum linguistic distance, or the `{{shell}}` placeholder.
|
- If any of the side is not specified, then it defaults to the start (if it is left) or the end (if it is right)
|
||||||
- Index is optional as it only has effect when using with `path`, and defaults to 0.
|
- `{{typo[2](fix1, fix2)}}`: Try to change the second argument to candidates in the parenthesis.
|
||||||
- `{{opt::<Regular Expression>}}`: Optional patterns captured in the command with RegEx ([see regex crate for syntax](https://docs.rs/regex-lite/latest/regex_lite/#syntax)). Note that all patterns matching this placeholder will be removed from indexing.
|
- The argument in parentheses must have at least 2 values
|
||||||
- `{{cmd::<Regular Expression>}}`: Get the matching captures from the last command. Unlike `{{opt}}`, this won't remove the string after matching
|
- Single arguments are reserved for specific matches, for instance, `path` to search all commands found in the `$PATH` environment, or the `{{shell}}` placeholder, among others
|
||||||
- `{{err::<Regular Expression}}`: Get the matching captures from the error message.
|
- `{{select[3](selection1, selection2)}}`: A derivative of `typo` placeholder. Will create a suggestion for each selection in the parenthesis
|
||||||
- `{{shell(<shell commands>)}}`: Replace with the output of the shell command. This placeholder can be used along `{{typo}}` as its only argument, where each newline will be evaluated to a candidate.
|
- The argument in parentheses also must have at least 2 values
|
||||||
|
- Single arguments are reserved for specific selections, for instance, `path` to search all commands found in the `$PATH` environment with the minimum shared linguistic distance, or the `{{shell}}` placeholder
|
||||||
|
- To avoid permutations and combinations, only one instance is evaluated. If you need to apply the same selection in multiple places, use `{{selection}}`
|
||||||
|
- Index is optional as it only has effect when using with `path`, and defaults to `0`
|
||||||
|
- `{{opt::<Regular Expression>}}`: Optional patterns captured in the command with RegEx ([see regex crate for syntax](https://docs.rs/regex-lite/latest/regex_lite/#syntax))
|
||||||
|
- All patterns matching this placeholder will be removed from indexing
|
||||||
|
- `{{cmd::<Regular Expression>}}`: Get the matching captures from the last command
|
||||||
|
- Unlike `{{opt}}`, this won't remove the string after matching
|
||||||
|
- `{{err::<Regular Expression}}`: Get the matching captures from the error message
|
||||||
|
- `{{shell(<shell commands>)}}`: Replace with the output of the shell command
|
||||||
|
- Can be used along `{{typo}}` or `{{select}}` as its only argument, where each newline will be evaluated to a candidate/selection
|
||||||
|
|
||||||
Suggestions can have additional conditions to check. To specify conditions, add a `#[...]` at the first line (just like derive macros in Rust). Available conditions:
|
Suggestions can have additional conditions to check. To specify conditions, add a `#[...]` at the first line (just like derive macros in Rust). Available conditions:
|
||||||
|
|
||||||
- `executable`: Check whether the argument can be found in path.
|
- `executable`: Check whether the argument can be found in path
|
||||||
- `cmd_contains`: Check whether the last user input contains the argument.
|
- `cmd_contains`: Check whether the last user input contains the argument
|
||||||
- `err_contains`: Check whether the error of the command contains the argument.
|
- `err_contains`: Check whether the error of the command contains the argument
|
||||||
- `length`: Check whether the given command has the length of the argument.
|
- `length`: Check whether the given command has the length of the argument
|
||||||
- `min_length`: Check whether the given command has at least the length of the argument.
|
- `min_length`: Check whether the given command has at least the length of the argument
|
||||||
- `max_length`: Check whether the given command has at most the length of the argument.
|
- `max_length`: Check whether the given command has at most the length of the argument
|
||||||
- `shell`: Check if the current running shell is the argument.
|
- `shell`: Check if the current running shell is the argument
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue