iex
プロンプトに色やその他の効果を追加することはできますか? ( Ruby のiex
ような)リソース ファイルはありますか? (Ruby のような) 迅速なカスタマイズを可能にするカスタマイズ API はありますか?.irbrc
irb
IRB.conf
質問する
3159 次
1 に答える
27
はい、はい、そしてはい!
プロンプトをカスタマイズするには、次のものが必要です。
- ホーム ディレクトリ内の
.iex.exs
ファイル。このファイルが存在しない場合は作成します。iex
起動時に実行されます。 - [オプション]
Application.put_env
ANSI を有効にするための呼び出し。iex
これは、プラットフォーム (Windows 10 など) で ANSI サポートが検出されない場合に必要になることがあります。 IEx.configure
色を有効にしてプロンプトを設定するための呼び出し。- カーソル位置を修正するためのANSI エスケープ コード。これがないと、上/下矢印を使用してコマンド履歴を循環すると、カーソルがさらに右に移動します。
IO.ANSI
は現在、すべてのカーソル移動コードを公開しているわけではありませんが、未加工のコードはそれらをサポートする端末で機能します。 IO.ANSI
フォーマット機能。- プロンプト テキスト。
IO.ANSI.reset
残りの書式設定をオフにします。- で文字列に変換します
IO.chardata_to_string
。
OS X 10.11.5iex
のターミナルとiTerm2 3.0.3で1.3.0 を使用し、Windows 10のコンソール、 GitBash、およびConEmuで機能するのは次のとおりです。
# ~/.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
)
このコードは非常にうまく機能しますが、私のプロンプトは最初の対話の後にのみ有効になりiex
ます。最初の起動時に、組み込みのプロンプトが表示されます。Return キーを押すと、プロンプトが有効になります。誰かがそれを修正する方法を知っている場合は、共有してください。
[更新: Windows でより適切に動作するように変更されました。]
于 2016-06-19T21:24:23.140 に答える