diff options
author | katherine <shmibs@airen-no-jikken.icu> | 2018-12-04 05:42:02 -0700 |
---|---|---|
committer | katherine <shmibs@airen-no-jikken.icu> | 2018-12-04 05:42:02 -0700 |
commit | a72dd63681f4cbb51a7e84f26b14f3a513afb542 (patch) | |
tree | 340f57d92d8491dd8e3c7b4902a5ab48994d360f | |
parent | 9f9eb66ecc74dd1535c9bba18e8783fde351a0d2 (diff) | |
download | dotfiles-a72dd63681f4cbb51a7e84f26b14f3a513afb542.tar.gz |
add a nice prompt for utop
mimics zsh
-rw-r--r-- | .ocamlinit | 26 | ||||
-rw-r--r-- | .zshrc | 14 |
2 files changed, 34 insertions, 6 deletions
@@ -1,6 +1,28 @@ #use "topfind";; -#require "core.top";; -#require "core.syntax";; +#require "core";; open Core;; + +#require "lambda-term";; + +let path = Sys.getcwd () in +let home = Sys.home_directory () in +let path = + if Zed_utf8.starts_with path home then + Zed_utf8.replace path 0 (Zed_utf8.length home) "~" + else + path +in +let version = Sys.ocaml_version in +let host = Unix.gethostname () in +let formatted = LTerm_text.eval + [B_bold true; + B_fg (LTerm_style.white); S "ā["; + B_fg (LTerm_style.lmagenta); S (Printf.sprintf "ocaml-%s" version); + B_fg (LTerm_style.lyellow); S "@"; + B_fg (LTerm_style.lmagenta); S (Printf.sprintf "%s " host); + B_fg (LTerm_style.lcyan); S (Printf.sprintf "%s" path); + B_fg (LTerm_style.white); S "]\nā: "] +in UTop.prompt := fst (React.S.create formatted);; + @@ -51,8 +51,12 @@ PROMPT="%{$fg[black]%}ā[" PROMPT+="%(0?..$fg[red]%?$fg[black]:)" # if any, number of jobs PROMPT+="%(1j.$fg[green]%j$fg[black]:.)" -# name and host (red for root) -PROMPT+="%{%(!.$fg[red].$fg[magenta])%}%n@%M%E " +# # name and host (red for root) +# PROMPT+="%{%(!.$fg[red].$fg[magenta])%}%n@%M%E " +# name (red for root) +PROMPT+="%{%(!.$fg[red].$fg[magenta])%}%n" +# host +PROMPT+="%{$fg[yellow]%}@%{$fg[magenta]%}%M%E " # current location, with one level of parent context PROMPT+="%{$fg[blue]%}%2c" # newline @@ -65,8 +69,10 @@ PROMPT="%{%B$fg[white]%}ā[" PROMPT+="%(0?..$fg[red]%?$fg[white]:)" # if any, number of jobs PROMPT+="%(1j.$fg[green]%j$fg[white]:.)" -# name and host (red for root) -PROMPT+="%{%(!.$fg[red].$fg[magenta])%}%n@%M%E " +# name (red for root) +PROMPT+="%{%(!.$fg[red].$fg[magenta])%}%n" +# host +PROMPT+="%{$fg[yellow]%}@%{$fg[magenta]%}%M%E " # current location, with one level of parent context PROMPT+="%{$fg[blue]%}%2c" # newline |