È possibile aggiungere colore e altri effetti al prompt iex
? iex
ha un file di risorse (come .irbrc
per Ruby's irb
)? Esiste un'API di personalizzazione che consente la personalizzazione immediata (come Ruby's IRB.conf
)?Come colorare il prompt di Elixir iex?
6
A
risposta
16
Sì, sì e sì!
Per personalizzare il vostro messaggio, avrete bisogno di diverse cose:
- Un file
.iex.exs
nella vostra home directory. Crea questo file se non esiste. Verrà eseguito quando viene avviatoiex
. - [opzionale] Una chiamata a
Application.put_env
per abilitare ANSI. Potrebbe essere necessario seiex
sulla piattaforma (ad es. Windows 10) non rileva il supporto ANSI. - Una chiamata a
IEx.configure
per abilitare il colore e impostare il prompt. - ANSI escape codes per correggere la posizione del cursore. Senza questo, usare le frecce su/giù per scorrere la cronologia dei comandi sposta il cursore sempre più a destra.
IO.ANSI
non espone attualmente tutti i codici di movimento del cursore, ma i codici raw funzioneranno per i terminali che li supportano. IO.ANSI
funzioni di formattazione.- Testo prompt.
IO.ANSI.reset
per disattivare la formattazione rimanente.- Convertire in una stringa con
IO.chardata_to_string
.
Ecco ciò che funziona per me con iex
1.3.0 in Terminale e iTerm2 3.0.3 su OS X 10.11.5 e Console, GitBash, e ConEmu su Windows 10:
# ~/.iex.exs
Application.put_env(:elixir, :ansi_enabled, true)
IEx.configure(
colors: [enabled: true],
default_prompt: [
"\e[G", # ANSI CHA, move cursor to column 1
:magenta,
"%prefix", # IEx prompt variable
">", # plain string
:reset
] |> IO.ANSI.format |> IO.chardata_to_string
)
Questo codice funziona abbastanza bene , ma il mio prompt ha effetto solo dopo la prima interazione: quando si avvia per la prima volta iex
, viene visualizzato il prompt integrato. Se premo return, quindi il mio prompt diventa effettivo. Se qualcuno sa come risolverlo, per favore condividi.
[AGGIORNATO: modificato per funzionare meglio su Windows.]
Problemi correlati
- 1. Il modulo di Elixir è un atomo?
- 2. Impossibile eseguire iex in Windows prompt dei comandi o git bash
- 3. Che cosa significa BEAM in iex per il linguaggio di programmazione Elixir?
- 4. Come posso ricompilare un progetto Elixir e ricaricarlo dall'interno di iex?
- 5. Iex sta andando passo dopo passo?
- 6. IEx - Come annullare il comando multiline?
- 7. Come rendere la richiesta personalizzata avere effetto all'inizio di iex?
- 8. Come colorare il colore di sfondo UIBarButtonItem?
- 9. Elixir sostituzione punteggiatura regex
- 10. Come eseguire Elixir Supervisor in script
- 11. Elixir Macro: Potenza ** funzione
- 12. Perché Elixir non ha un modulo Math?
- 13. Trova gli indici dalla lista in Elixir
- 14. Come colorare un pixel?
- 15. Disabilita Elixir Ecto Debug uscita
- 16. Observer non disponibile - Elixir
- 17. Elixir: scrittura della funzione parametrizzata tramite & Notazione
- 18. Elixir - numeri randomizzati in Agente
- 19. elixir-lang Ricerca di elementi non duplicati in un elenco
- 20. Elixir Sleep/Wait for 1 Second
- 21. Come rimuovere il pacchetto elixir su hex
- 22. Come colorare un'immagine in CSS?
- 23. Come colorare l'output git-status?
- 24. Come colorare parte di TextView in Android?
- 25. Come eseguire l'applicazione Elixir?
- 26. Come colorare la barra di scorrimento (sliderInput)?
- 27. Genera firma in Elixir e PHP usando hmac
- 28. Come Elixir può leggere la tabella mnesia del nodo remoto
- 29. Elixir - Impossibile compilare dipendenza idna
- 30. Come trovo i lavoratori nella mia applicazione Elixir?
colori IEx.configure: [eval_result: [: verde,: brillante]] # Mi chiedo perché è verde il giallo? – sheriffderek
@sheriffderek I nomi dei colori ANSI si associano agli indici in una tabella colori definita altrove (ad esempio, in un programma terminale). Molti programmi terminali supportano combinazioni di colori (ad esempio, https://github.com/lysyi3m/osx-terminal-themes) – jwfearn
su Windows 10 la posizione del file di configurazione è '% USERPROFILE% \. iex.exs' –