2017-02-22

tclreadline and .tclshrc

tclreadline

flightaware clone 了一份 tclreadline 的 source code。如果在 Ubuntu 14.04 下編譯,aux 目錄下會缺少東西,需要使用 libtoolize & aclocal & autoconf & automake --add-missing 來更新。

下面只是嘗試設定 tclsh 提示。

if {$tcl_interactive} {
    package require tclreadline 

    proc ::tclreadline::prompt1 {} {
        global env
        if {[catch {set pwd [pwd]} tmp]} {
            set pwd "unable to get pwd"
        }

        if [info exists env(HOME)] {
            regsub $env(HOME) $pwd "~" pwd
        }


        if [info exists env(USER)] {
            set user $env(USER)
        } else {
            set user tclsh
        }

        return "$user@[lindex [split [info hostname] "."] 0]:$pwd% "
    }

    ::tclreadline::Loop
}



更新:
同時也在 openSUSE 上測試 tclreadline,為了可以快速安裝和移除,參考了其它人的做法以後,使用 RPM spec 和 build script 來造 RPM 檔案