diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-08-17 08:21:39 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:50 +1000 |
commit | cbc635e8f4de48408768053a976dc7bd7177ba7a (patch) | |
tree | bca1549fa15afc234868b5c46cd8a4a486f16b8f /rlprompt.tcl | |
parent | 75af5a8f20800977aabfd95fdfc403f851f8c459 (diff) | |
download | jimtcl-cbc635e8f4de48408768053a976dc7bd7177ba7a.zip jimtcl-cbc635e8f4de48408768053a976dc7bd7177ba7a.tar.gz jimtcl-cbc635e8f4de48408768053a976dc7bd7177ba7a.tar.bz2 |
Clean up the indentation mess
Use 'indent'. Not perfect, but at least consistent.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'rlprompt.tcl')
-rw-r--r-- | rlprompt.tcl | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/rlprompt.tcl b/rlprompt.tcl index 556d0e9..1d8860e 100644 --- a/rlprompt.tcl +++ b/rlprompt.tcl @@ -10,22 +10,39 @@ # } # } -package require readline -package provide rlprompt 1.0 - proc rlprompt.shell {} { puts "Readline shell loaded" puts "Welcome to Jim [info version]!" set prompt ". " + set buf "" while 1 { - set line [readline.readline $prompt] + try -exit { + set line [readline.readline $prompt] + } on exit dummy { + break + } + if {[string length $line] == 0} { continue } - readline.addhistory $line - set errCode [catch {uplevel #0 $line} err] - if {$err ne {}} { - puts $err + if {$buf eq ""} { + set buf $line + } else { + append buf \n $line + } + if {![info complete $buf]} { + set prompt "> " + continue + } + readline.addhistory $buf + + catch { + uplevel #0 $buf + } error + if {$error ne ""} { + puts $error } + set buf "" + set prompt ". " } } |