39 lines
964 B
Python
39 lines
964 B
Python
"""
|
|
Base provider protocol for DSL autocompletion.
|
|
|
|
Defines the minimal interface that metadata providers must implement
|
|
to support context-aware autocompletion.
|
|
"""
|
|
|
|
from typing import Protocol
|
|
|
|
|
|
class BaseMetadataProvider(Protocol):
|
|
"""
|
|
Protocol defining the interface for metadata providers.
|
|
|
|
Metadata providers give the autocompletion engine access to
|
|
context-specific data (e.g., column names, available values).
|
|
|
|
This is a minimal interface. Specific DSL implementations
|
|
can extend this with additional methods.
|
|
"""
|
|
|
|
def list_style_presets(self) -> list[str]:
|
|
"""
|
|
Return the list of available style preset names.
|
|
|
|
Returns:
|
|
List of style preset names (e.g., ["primary", "error", "success"])
|
|
"""
|
|
...
|
|
|
|
def list_format_presets(self) -> list[str]:
|
|
"""
|
|
Return the list of available format preset names.
|
|
|
|
Returns:
|
|
List of format preset names (e.g., ["EUR", "USD", "percentage"])
|
|
"""
|
|
...
|