docs: update rules.md

This commit is contained in:
iff 2024-12-08 19:38:40 +01:00
parent 681ad4319c
commit 0e659f406a

View file

@ -7,7 +7,7 @@ For compile-time rules, if only rules are changed, cargo won't recompile the pro
touch core/src/rules.rs && cargo build touch core/src/rules.rs && cargo build
``` ```
Runtime rules directories are searched with the following priority: Runtime-rules support is provided by `runtime-rules` module. Directories are searched with the following priority:
- `XDG_CONFIG_HOME`, defaults to `$HOME/.config`. - `XDG_CONFIG_HOME`, defaults to `$HOME/.config`.
- `XDG_CONFIG_DIRS`, defaults to `/etc/xdg`. - `XDG_CONFIG_DIRS`, defaults to `/etc/xdg`.
@ -15,20 +15,23 @@ Runtime rules directories are searched with the following priority:
The actual rule file should be placed under `pay-respects/rules/`, for example: `~/.config/pay-respects/rules/cargo.toml`. Note that for runtime rules, the name of the file **MUST** match the command name. The actual rule file should be placed under `pay-respects/rules/`, for example: `~/.config/pay-respects/rules/cargo.toml`. Note that for runtime rules, the name of the file **MUST** match the command name.
## Syntax
Syntax of a rule file: Syntax of a rule file:
```toml ```toml
# this field should be the name of the command # the name of the command
command = "world" command = "helloworld"
# you can add as many `[[match_err]]` section as you want # you can add as many `[[match_err]]` section as you want
[[match_err]] [[match_err]]
# the suggestion of this section will be used for the following patterns of the error output # Note:
# patterns should be in lowercase # - patterns must be in lowercase
# - patterns should be the output with `LC_ALL=C` environment variable
pattern = [ pattern = [
"pattern 1", "pattern 1",
"pattern 2" "pattern 2"
] ]
# this will change the first argument to `fix`, while keeping the rest intact # if pattern is matched, suggest changing the first argument to fix:
suggest = [ suggest = [
''' '''
{{command[0]}} fix {{command[2:]}} ''' {{command[0]}} fix {{command[2:]}} '''
@ -69,5 +72,3 @@ Suggestions can have additional conditions to check. To specify conditions, add
- `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.
For locale other than English, be aware that patterns should be the output having `LC_ALL=C` environment variable.