__package__ = 'plugins_search.ripgrep' from pathlib import Path from typing import List from pydantic import Field from abx.archivebox.base_configset import BaseConfigSet from archivebox.config import CONSTANTS from archivebox.config.common import SEARCH_BACKEND_CONFIG class RipgrepConfig(BaseConfigSet): RIPGREP_BINARY: str = Field(default='rg') RIPGREP_IGNORE_EXTENSIONS: str = Field(default='css,js,orig,svg') RIPGREP_ARGS_DEFAULT: List[str] = Field(default=lambda c: [ # https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md f'--type-add=ignore:*.{{{c.RIPGREP_IGNORE_EXTENSIONS}}}', '--type-not=ignore', '--ignore-case', '--files-with-matches', '--regexp', ]) RIPGREP_SEARCH_DIR: Path = CONSTANTS.ARCHIVE_DIR RIPGREP_TIMEOUT: int = Field(default=lambda: SEARCH_BACKEND_CONFIG.SEARCH_BACKEND_TIMEOUT) RIPGREP_CONFIG = RipgrepConfig()