|
|
|
|
|
|
|
""" |
|
Language Selector Component |
|
|
|
This module provides the UI component for selecting programming languages to analyze. |
|
""" |
|
|
|
import gradio as gr |
|
import logging |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
SUPPORTED_LANGUAGES = [ |
|
"Python", "JavaScript", "TypeScript", "Java", |
|
"Go", "Rust", "C++", "C#", "PHP", "Ruby", |
|
"Swift", "Kotlin", "Scala", "R", "Shell" |
|
] |
|
|
|
|
|
def create_language_selector(): |
|
""" |
|
Create the language selector component. |
|
|
|
Returns: |
|
gr.CheckboxGroup: The language selector component. |
|
""" |
|
with gr.Group(): |
|
gr.Markdown("### π€ Languages (Optional)") |
|
|
|
language_selector = gr.CheckboxGroup( |
|
choices=SUPPORTED_LANGUAGES, |
|
label="Select languages to analyze", |
|
info="Leave empty to auto-detect languages", |
|
value=[], |
|
) |
|
|
|
gr.Markdown( |
|
"*Note: If no languages are selected, the agent will automatically detect languages in the repository.*", |
|
elem_classes=["small-text"] |
|
) |
|
|
|
return language_selector |