Przewodnik po zasadach FUZZY_MAP¶
Format reguły¶
KOD_BLOKU_0
Pozycja |
Imię |
Opis |
|---|---|---|
1 |
wymiana |
Tekst wyjściowy po dopasowaniu reguły |
2 |
wzór |
Regex lub ciąg rozmyty do dopasowania do |
3 |
próg |
W przypadku reguł wyrażeń regularnych: ignorowane. W przypadku reguł rozmytych: minimalny wynik dopasowania (0–100) |
4 |
opcje |
Słownik opcjonalny (patrz „Informacje o opcjach” poniżej). Użyj |
Zastąpienia oparte na plikach¶
Jeśli „zastąpienie” zaczyna się od prefiksu skonfigurowanego w „FILE4REPLACEMENT_ALLOWED_PREFIXES”
(domyślnie: - lub .), Aura traktuje go jako nazwę pliku i wyszukuje jego zawartość w
katalog wtyczki zamiast używać dosłownego ciągu znaków. Dzięki temu tajemnice (hasła,
klucze API) z kodu źródłowego.
Aby uzyskać szczegółowe informacje, zobacz File_Based_Replacement.md.
Surowe zamienniki¶
Domyślnie (False) ciągi zastępcze są przetwarzane przez funkcję re.sub() w Pythonie, która obsługuje użycie odwołań zwrotnych do wyrażeń regularnych, takich jak \1 lub \2, aby wstawić przechwycone grupy (na przykład: (r'\1', r'(\d)\s+(?=\d)', 95)).
Jeśli zamiana jest ciągiem wielowierszowym lub zawiera ukośniki odwrotne bez ucieczki (takie jak szablony kodu lub ścieżki) i powinna zostać zachowana dokładnie tak, jak jest, włącz opcję „raw_replacement”: True w słowniku opcji:
KOD_BLOKU_1
Dostępne opcje konfigurowane przez użytkownika:¶
command_flags(liczba całkowita): Flagi wyrażeń regularnych używane podczas kompilacji wzorca. Przykład:{'command_flags': re.IGNORECASE}raw_replacement(boolean): GdyTrue, tekst zastępczy jest traktowany jako czysty literał łańcuchowy i pomijany przez analizę składniową ukośnika odwrotnegore.subw Pythonie. Ma kluczowe znaczenie w przypadku podpowiedzi wielowierszowych lub ciągów znaków z ukośnikami odwrotnymi bez ucieczki (\). Przykład:{'raw_replacement': True}cache(boolean): Przełącza pamięć podręczną wyników AURA. Ustaw na „Fałsz” dla reguł generujących dane dynamiczne (np. bieżący czas, losowe dowcipy), aby mieć pewność, że są one oceniane na nowo w każdym meczu. Przykład:{'cache': Fałsz}skip_list(lista ciągów znaków): Określa moduły potoku przetwarzania końcowego, które mają zostać pominięte, gdy pasuje ta reguła. Przykład:{'skip_list': ['LanguageTool']}(pomija sprawdzanie gramatyki)only_in_windows(lista ciągów wyrażeń regularnych): Ogranicza regułę do uruchomienia tylko wtedy, gdy tytuł aktywnego okna pasuje do jednego z określonych wzorców. Przykład:{'only_in_windows': [r'^Mozilla Firefox$', r'Chrome']}exclude_windows(lista ciągów wyrażeń regularnych): Zapobiega uruchomieniu reguły, jeśli tytuł aktywnego okna pasuje do jednego z określonych wzorców. Przykład:{'exclude_windows': [r'Terminal', r'Claude']}window_ignore_case(boolean): Kontroluje, czy dopasowanie okna (only_in_windows/exclude_windows) jest oceniane bez rozróżniania wielkości liter (True) czy z rozróżnianiem wielkości liter (False). Jeśli zostanie pominięty, powraca do ustawienia globalnegoLOWERCASE_WINDOW_TITLESwconfig/settings.py. Przykład:{'window_ignore_case': Fałsz}on_match_exec(lista obiektów Path/string): Ścieżki do skryptów/wtyczek, które powinny zostać wykonane, gdy ta reguła zostanie dopasowana (często używane przez reguły catch-all i fallback). Przykład:{'on_match_exec': [SL5NET_AURA_PROJECT_ROOT / 'scripts' / 'custom_action.py']}
Logika potoku¶
Reguły są przetwarzane z góry na dół
Logika potoku¶
Reguły są przetwarzane z góry na dół
Wszystkie reguły dopasowywania są stosowane (skumulowane)
fullmatch (
^...$) natychmiast zatrzymuje potokWcześniejsze zasady mają pierwszeństwo przed późniejszymi zasadami
Typowe wzorce¶
Dopasuj pojedyncze słowo (granica słowa)¶
KOD_BLOKU_2
Dopasuj wiele wariantów¶
KOD_BLOKU_3
Fullmatch – zatrzymuje potok¶
KOD_BLOKU_4 ⚠️ To pasuje do wszystko. Rurociąg zatrzymuje się w tym miejscu. Wcześniejsze zasady nadal mają pierwszeństwo.
Dopasuj początek wejścia¶
KOD_BLOKU_5
Dopasuj dokładną frazę¶
KOD_BLOKU_6
Lokalizacje plików¶
Plik |
Faza |
Opis |
|---|---|---|
|
Narzędzie do nauki języka |
Stosowane przed sprawdzaniem pisowni |
|
Narzędzie post-językowe |
Stosowane po sprawdzeniu pisowni |
|
Narzędzie do nauki języka |
Zasady interpunkcji |
Porady¶
Umieść szczegółowe zasady przed ogólnymi zasadami
Używaj
^...$pełnego dopasowania tylko wtedy, gdy chcesz zatrzymać całe dalsze przetwarzanieFUZZY_MAP_pre.pyjest idealny do poprawek przed sprawdzeniem pisowniReguły testowe za pomocą: „Twojego wejścia testowego” w konsoli Aura
Kopie zapasowe są tworzone automatycznie jako
.peter_backup
Przykłady¶
KOD_BLOKU_7
Twoja pierwsza zasada — krok po kroku¶
Otwórz
config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.pyDodaj swoją regułę wewnątrz
FUZZY_MAP_pre = [...]Zapisz — Aura ładuje się automatycznie, nie ma potrzeby ponownego uruchamiania
Podyktuj frazę wyzwalającą i obserwuj, jak zadziała
Zalecana struktura plików¶
Umieść swoje reguły przed długimi blokami komentarzy: KOD_BLOKU_8
Dlaczego? Funkcja Auto-Fix firmy Aura skanuje tylko pierwszy ~1KB pliku. Jeśli reguły pojawiają się po długim nagłówku, funkcja Auto-Fix nie może ich znaleźć ani naprawić. Zalecany jest także komentarz do ścieżki w linii 1 — pomaga on szybko zidentyfikować plik.