about summary refs log tree commit diff
path: root/pkg/lang/modules/core/natives.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-08-17 00:07:35 +0000
committerMel <einebeere@gmail.com>2022-08-17 00:07:35 +0000
commitbe6cd2217b6bb1bb411d46ebd9d003dfd928af96 (patch)
tree94e5807aae0fb65d2768adce594e245052ecf578 /pkg/lang/modules/core/natives.go
parentd84c0f36afcde4e5af2907d70931de75957d5277 (diff)
downloadjinx-be6cd2217b6bb1bb411d46ebd9d003dfd928af96.tar.zst
jinx-be6cd2217b6bb1bb411d46ebd9d003dfd928af96.zip
Add different "say" outputs to VM
Diffstat (limited to 'pkg/lang/modules/core/natives.go')
-rw-r--r--pkg/lang/modules/core/natives.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkg/lang/modules/core/natives.go b/pkg/lang/modules/core/natives.go
index c06b35c..8a24663 100644
--- a/pkg/lang/modules/core/natives.go
+++ b/pkg/lang/modules/core/natives.go
@@ -116,13 +116,21 @@ var Natives = []any{
 
 	n(":core:say", 1, func(exe executor.Exectutor, args []value.Value) (value.Value, error) {
 		message := args[0]
-		s, err := message.Data().String(exe.Mem())
+
+		// We don't want strings to have the "".
+		var err error
+		var s string
+		if message.Type() == value.StringType {
+			s, err = message.Data().(value.StringData).RawString(exe.Mem())
+		} else {
+			s, err = message.Data().String(exe.Mem())
+		}
+
 		if err != nil {
 			return value.Value{}, err
 		}
 
-		fmt.Println(s)
-		return value.Value{}, nil
+		return value.Value{}, exe.Write(s)
 	}),
 }