Commit | Line | Data |
---|---|---|
ee7cd585 JM |
1 | Imports System |
2 | Imports System.Collections.Generic | |
3 | Imports System.Text.RegularExpressions | |
4 | Imports Mal | |
5 | Imports MalVal = Mal.types.MalVal | |
6 | Imports MalList = Mal.types.MalList | |
7 | ||
8 | Namespace Mal | |
9 | Public Class printer | |
10 | Shared Function join(value As List(Of MalVal), | |
11 | delim As String, | |
12 | print_readably As Boolean) As String | |
13 | Dim strs As New List(Of String) | |
14 | For Each mv As MalVal In value | |
15 | strs.Add(mv.ToString(print_readably)) | |
16 | Next | |
17 | return String.Join(delim, strs.ToArray()) | |
18 | End Function | |
19 | ||
20 | Shared Function join(value As Dictionary(Of String, MalVal), | |
21 | delim As String, | |
22 | print_readably As Boolean) As String | |
23 | Dim strs As New List(Of String) | |
24 | For Each entry As KeyValuePair(Of String, MalVal) In value | |
b8ee29b2 JM |
25 | If entry.Key.Length > 0 and entry.Key(0) = ChrW(&H029e) Then |
26 | strs.Add(":" & entry.Key.Substring(1)) | |
27 | Else If print_readably Then | |
ee7cd585 JM |
28 | strs.Add("""" & entry.Key.ToString() & """") |
29 | Else | |
30 | strs.Add(entry.Key.ToString()) | |
31 | End If | |
32 | strs.Add(entry.Value.ToString(print_readably)) | |
33 | Next | |
34 | return String.Join(delim, strs.ToArray()) | |
35 | End Function | |
36 | ||
37 | Shared Function _pr_str(mv As MalVal, | |
38 | print_readably As Boolean) As String | |
39 | return mv.ToString(print_readably) | |
40 | End Function | |
41 | ||
42 | Shared Function _pr_str_args(args As MalList, | |
43 | sep As String, | |
44 | print_readably As Boolean) As String | |
45 | return join(args.getValue(), sep, print_readably) | |
46 | End Function | |
47 | ||
48 | Shared Function escapeString(str As String) As String | |
49 | return Regex.Escape(str) | |
50 | End Function | |
51 | End Class | |
52 | End Namespace |