# Clojure version question

from promptosaurus.questions.base.question import Question


class ClojureVersionQuestion(Question):
    """Question handler for Clojure version."""

    @property
    def key(self) -> str:
        return "clojure_version"

    @property
    def question_text(self) -> str:
        return "What Clojure version do you want to use?"

    @property
    def explanation(self) -> str:
        return """Clojure version determines language features and library compatibility.

- Newer versions have improved performance and new features
- Clojure runs on the JVM for excellent interoperability with Java
- Version affects which Java versions are supported"""

    @property
    def options(self) -> list[str]:
        return ["1.11", "1.10"]

    @property
    def option_explanations(self) -> dict[str, str]:
        return {
            "1.11": "Latest stable - new syntax features, improved performance, recommended",
            "1.10": "Stable release - widely supported, battle-tested",
        }

    @property
    def default(self) -> str:
        return "1.11"
