/home/を~に置き換える関数
30分プログラム、その429。ホームディレクトリを~に置き換える関数。
screenのステータスバーにパスを表示するようにしているんだけれども、フルパスをそのまま表示してしまうと見づらい。
というわけで、パスを見やすくするために、ホームディレクトリを~に置換する関数を書いてみた。ホントは、中間部分を省略する関数も書こうと思ったんだけれども時間切れ。
使い方
gosh> (shrink-path "/Users/mzp/hoge") "~/hoge" ;; /が2つ続いても大丈夫 gosh> (shrink-path "//Users/mzp/hoge") "~/hoge" gosh>
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- (use file.util) (define (shrink-path path) (regexp-replace (string->regexp #`"^,(sys-getenv \"HOME\")") (simplify-path path) "~"))