Browse Source

synchronise common prompts

the same across shell, iex, utop, but colour-coded and with a which
thing and version hint
master
katherine 1 year ago
parent
commit
d168ec3c5e
4 changed files with 63 additions and 5 deletions
  1. +57
    -0
      .iex.exs
  2. +3
    -1
      .ocamlinit
  3. +1
    -2
      .vimrc
  4. +2
    -2
      .zshrc

+ 57
- 0
.iex.exs View File

@@ -0,0 +1,57 @@
defmodule IExConfigInit do

def init do
user = System.get_env "USER"

hostname = case :inet.gethostname do
{:ok, s} -> s
_ -> "?"
end

dir = case Elixir.File.cwd do
{:ok, s} -> s
_ -> "?"
end

home = System.get_env "HOME"

dir = if home do
dir = case Regex.compile("^" <> home) do
{:ok, r} -> Regex.replace r, dir, "~"
_ -> dir
end
dir
else
dir
end

Application.put_env(:elixir, :ansi_enabled, true)

IEx.configure(
colors: [enabled: true],
default_prompt: [
# "\e[1A",
"\e[G", # ANSI CHA, move cursor to column 1
:bright,
:white,
"┌[",
:magenta,
(if user, do: user <> "@", else: ""),
"elixir-",
Elixir.System.version,
"@",
hostname,
" ",
:blue,
dir,
:white,
"]\n",
"└:",
:reset
] |> IO.ANSI.format |> IO.chardata_to_string
)
end

end

IExConfigInit.init

+ 3
- 1
.ocamlinit View File

@@ -14,12 +14,14 @@ let path =
else
path
in
let user = Unix.getlogin () 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@%s " version host);
B_fg (LTerm_style.lyellow); S (Printf.sprintf "%s@" user);
S (Printf.sprintf "ocaml-%s@%s " version 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);;


+ 1
- 2
.vimrc View File

@@ -22,7 +22,6 @@ Plugin 'elixir-lang/vim-elixir'
Plugin 'plasticboy/vim-markdown'
Plugin 'shmibs/mips.vim'
Plugin 'zah/nim.vim'
Plugin 'wlangstroth/vim-racket'
Plugin 'rust-lang/rust.vim'
Plugin 'cakebaker/scss-syntax.vim'
Plugin 'cespare/vim-toml'
@@ -71,7 +70,7 @@ nmap ga <Plug>(EasyAlign)
set ttimeoutlen=100

"toggle gundo pane
nnoremap <Leader>u :GundoToggle<CR>
nnoremap <Leader>g :GundoToggle<CR>

"snippet bindings
let g:UltiSnipsExpandTrigger='<tab>'


+ 2
- 2
.zshrc View File

@@ -52,7 +52,7 @@ 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 "
PROMPT+="%{%(!.$fg[red].$fg[white])%}%n@zsh-$ZSH_VERSION@%M%E "
# current location, with one level of parent context
PROMPT+="%{$fg[blue]%}%2c"
# newline
@@ -66,7 +66,7 @@ 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 "
PROMPT+="%{%(!.$fg[red].$fg[white])%}%n@zsh-$ZSH_VERSION@%M%E "
# current location, with one level of parent context
PROMPT+="%{$fg[blue]%}%2c"
# newline


Loading…
Cancel
Save