Skip to content

shosatojp/messa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

messa

CI

  • Width flexible shell prompt

  • Fast

    normal directory git directory
    1.1 ms ± 0.2 ms 5.2 ms ± 0.1ms

    measured with hyperfine

  • Configure with yaml

  • Supports ssh, git, kubernetes, datetime

Install

1. Install messa

  • statically linked single binary from here

    install -D -m 755 <(curl -L https://github.com/shosatojp/messa/releases/download/v2.1.0/messa) ~/.local/bin/messa

    You may need to modify PATH

    export PATH="$HOME/.local/bin:$PATH"
    

OR

  • via cargo

    • Requirements
      • C Compiler
        • gcc
      • pkg-config
      • OpenSSL Development Package
        • Ubuntu/Debian: libssl-dev
        • Fedora: openssl-devel
      # ubuntu
      sudo apt-get install -y gcc pkg-config libssl-dev
    cargo install messa

2. Append following code to your shell config file

  • Bash

    # ~/.bashrc
    export PATH="$HOME/.cargo/bin:$PATH"
    function create_prompt(){
        PS1=$(messa --error $? --width $COLUMNS --user $USER --host $HOSTNAME --shell bash)
    }
    export PROMPT_COMMAND="create_prompt;$PROMPT_COMMAND"
  • Zsh

    # ~/.zshrc
    export PATH="$HOME/.cargo/bin:$PATH"
    function create_prompt() {
        PS1=$(messa --error $? --width $COLUMNS --user $USER --host $HOSTNAME --shell zsh)
    }
    precmd_functions+=(create_prompt)
  • Fish

    # ~/.config/fish/config.fish
    function fish_prompt
        messa --error $status --width $COLUMNS --user $USER --host $HOSTNAME --shell fish
    end
  • Nushell 🔗

    # command in nushell
    config set prompt "messa --error 0 --width (tput cols) --user $nu.env.USER --host (hostname) --shell fish"

3. Setup config

wget -O ~/.messa.yaml https://raw.githubusercontent.com/shosatojp/messa/master/.messa.yaml

4. Reload your shell

. ~/.bashrc

Build

cargo build

Related projects