Skip to content

feat: add interactive provider selection #4

@acidsugarx

Description

@acidsugarx

Problem or motivation

Add ability to interactively select translation provider before translating, instead of using the one from config.

Proposed solution

Add a new command/keymap that opens a picker (telescope/fzf/snacks/mini/native) with available providers:

  • Google Translate
  • DeepL (if API key configured)
  • (future providers)
    After selecting a provider, proceed with translation using that provider for the current request only.
  1. New command: :BabelSelect — select provider, then translate selected text
  2. New keymap: <leader>ts (translate with selector)
  3. Use existing picker system from ui.lua

Alternatives considered

No response

Additional context

Questions

  • Should the selection be remembered for the session, or only for single translation?
  • Should unavailable providers (e.g., DeepL without API key) be shown but disabled, or hidden?
  • Should this also allow selecting target language?

Related

#2 — DeepL provider

Checklist

  • I have searched existing issues to ensure this feature has not already been requested.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions