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 0 lub pomiń dla wartości domyślnych

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): Gdy True, tekst zastępczy jest traktowany jako czysty literał łańcuchowy i pomijany przez analizę składniową ukośnika odwrotnego re.sub w 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 globalnego LOWERCASE_WINDOW_TITLES w config/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 potok

  • Wcześ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

FUZZY_MAP_pre.py

Narzędzie do nauki języka

Stosowane przed sprawdzaniem pisowni

FUZZY_MAP.py

Narzędzie post-językowe

Stosowane po sprawdzeniu pisowni

PUNCTUATION_MAP.py

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 przetwarzanie

  • FUZZY_MAP_pre.py jest idealny do poprawek przed sprawdzeniem pisowni

  • Reguł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

  1. Otwórz config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.py

  2. Dodaj swoją regułę wewnątrz FUZZY_MAP_pre = [...]

  3. Zapisz — Aura ładuje się automatycznie, nie ma potrzeby ponownego uruchamiania

  4. 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.