• Operand
  • # (b)ring mi - belles.

gram:build

> ./config/nushell/code.nu

Lenses
(coming soon!)


# code handles; mnemonic helpers.
alias code = git
def "code apply" [ ...nodes ] { code add -p ...($nodes) }
def "code screen" [] { clear; pwd; echo; ls; echo; git s; }

# a quick codebase explorer
def "code display" [] { code cat-file -p (
  code cat-file -p main^{tree} | fzf | split column -r '[ \t]+' |
  rename permission shape hash name | get hash
) | less }

alias cap = code apply
alias clog = code log
alias clean = code screen
alias clay = code display
alias c = code

def c-shell --wrapped [base:string, ...command: string] {
  $"nix-shell -p git --command 'git -C ($base) ([...$command] | str join ' ')';"
}

# Shims: use old `g` bindings.
alias g = code
alias gap = code apply
alias gl = code log
alias gls = code screen

def "code log" [] {
  git log --pretty=oneline --all | lines | each {|l| {
    hash: ($l | str substring 0..40),
    summary: ($l | str substring 41..-1),
  } } | rename hash summary
}
# def "code log" [] { clear; pwd; echo; code lg; echo; ls; echo; git s; }

def "code source" [ deps: list<string> ] {
  $deps | each {|p| nix search nixpkgs $"^($p)$" }
}