2016-06-19 8 views

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 avviato iex.
  • [opzionale] Una chiamata a Application.put_env per abilitare ANSI. Potrebbe essere necessario se iex 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.]

+0

colori IEx.configure: [eval_result: [: verde,: brillante]] # Mi chiedo perché è verde il giallo? – sheriffderek

+0

@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

+3

su Windows 10 la posizione del file di configurazione è '% USERPROFILE% \. iex.exs' –

Problemi correlati