Config

Configuration dataclass for token selector initialization.

Prefix Counter

Auto-generates unique prefixes (ts0, ts1, …) for token selector instances when no explicit prefix is provided.

_reset_prefix_counter()
assert _auto_prefix() == "ts0"
assert _auto_prefix() == "ts1"
assert _auto_prefix() == "ts2"
_reset_prefix_counter()
assert _auto_prefix() == "ts0"
print("Prefix counter tests passed!")
Prefix counter tests passed!

TokenSelectorConfig


TokenSelectorConfig


def TokenSelectorConfig(
    prefix:str=<factory>, selection_mode:Literal='gap', initial_delay:int=400, repeat_interval:int=80,
    throttle_floor:int=50, left_key:str='ArrowLeft', right_key:str='ArrowRight', end_token_text:str='(End)',
    show_end_token:bool=True, read_only:bool=False, wrap_navigation:bool=False, on_change_callback:str=''
)->None:

Initialization-time settings for a token selector instance.

_reset_prefix_counter()

# Auto-prefix
c1 = TokenSelectorConfig()
c2 = TokenSelectorConfig()
assert c1.prefix == "ts0"
assert c2.prefix == "ts1"

# Explicit prefix
c3 = TokenSelectorConfig(prefix="my-tokens")
assert c3.prefix == "my-tokens"

# Defaults
assert c1.selection_mode == "gap"
assert c1.initial_delay == DEFAULT_INITIAL_DELAY
assert c1.left_key == "ArrowLeft"
assert c1.show_end_token is True
assert c1.read_only is False
assert c1.on_change_callback == ""

# Custom values
c4 = TokenSelectorConfig(prefix="wasd", selection_mode="span", left_key="a", right_key="d")
assert c4.selection_mode == "span"
assert c4.left_key == "a"
assert c4.right_key == "d"

_reset_prefix_counter()
print("TokenSelectorConfig tests passed!")
TokenSelectorConfig tests passed!