aboutsummaryrefslogtreecommitdiff
path: root/jim-rlprompt-1.0.tcl
blob: 556d0e9a25a6547222c2df0c4e2f57b2dc38dc5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Readline-based interactive shell for Jim
# Copyright(C) 2005 Salvatore Sanfilippo <antirez@invece.org>
#
# In order to automatically have readline-editing features
# put this in your $HOME/.jimrc
#
# if {$jim_interactive} {
#    if {[catch {package require rlprompt}] == 0} {
#       rlprompt.shell
#    }
# }

package require readline
package provide rlprompt 1.0

proc rlprompt.shell {} {
    puts "Readline shell loaded"
    puts "Welcome to Jim [info version]!"
    set prompt ". "
    while 1 {
        set line [readline.readline $prompt]
        if {[string length $line] == 0} {
            continue
        }
        readline.addhistory $line
        set errCode [catch {uplevel #0 $line} err]
        if {$err ne {}} {
            puts $err
        }
    }
}