aboutsummaryrefslogtreecommitdiffstats
path: root/mod/inspectvar.rsc
diff options
context:
space:
mode:
Diffstat (limited to 'mod/inspectvar.rsc')
-rw-r--r--mod/inspectvar.rsc26
1 files changed, 18 insertions, 8 deletions
diff --git a/mod/inspectvar.rsc b/mod/inspectvar.rsc
index c861557..fc1b366 100644
--- a/mod/inspectvar.rsc
+++ b/mod/inspectvar.rsc
@@ -12,12 +12,12 @@
:global InspectVarReturn;
# inspect variable and print on terminal
-:set InspectVar do={ :do {
+:set InspectVar do={ :onerror Err {
:global InspectVarReturn;
:put [ :tocrlf [ $InspectVarReturn $1 ] ];
-} on-error={
- :global ExitError; $ExitError false $0;
+} do={
+ :global ExitError; $ExitError false $0 $Err;
} }
# inspect variable and return formatted string
@@ -25,6 +25,7 @@
:local Input $1;
:local Level (0 + [ :tonum $2 ]);
+ :global CharacterReplace;
:global IfThenElse;
:global InspectVarReturn;
@@ -33,14 +34,13 @@
:local Value [ :tostr $2 ];
:local Level [ :tonum $3 ];
- :local Indent "";
- :for I from=1 to=$Level step=1 do={
- :set Indent ($Indent . " ");
- }
- :return ($Indent . "-" . $Prefix . "-> " . $Value);
+ :global CharacterMultiply;
+
+ :return ([ $CharacterMultiply " " $Level ] . "-" . $Prefix . "-> " . $Value);
}
:local TypeOf [ :typeof $Input ];
+ :local Len [ :len $Input ];
:local Return [ $IndentReturn "type" $TypeOf $Level ];
:if ($TypeOf = "array") do={
@@ -50,6 +50,16 @@
[ $InspectVarReturn $Value ($Level + 2) ]);
}
} else={
+ :if ($TypeOf = "str") do={
+ :set $Return ($Return . "\n" . \
+ [ $IndentReturn "len" $Len $Level ]);
+ :if ([ :typeof [ :find $Input ("\r") ] ] = "num") do={
+ :set Input [ $CharacterReplace $Input ("\r") "" ];
+ }
+ :if ([ :typeof [ :find $Input ("\n") ] ] = "num") do={
+ :set Input [ $CharacterReplace $Input ("\n") " " ];
+ }
+ }
:if ($TypeOf != "nothing") do={
:set $Return ($Return . "\n" . \
[ $IndentReturn "value" [ $IfThenElse ([ :len $Input ] > 80) \