aboutsummaryrefslogtreecommitdiff
path: root/examples/ini/ini.tm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/ini/ini.tm')
-rw-r--r--examples/ini/ini.tm30
1 files changed, 15 insertions, 15 deletions
diff --git a/examples/ini/ini.tm b/examples/ini/ini.tm
index cee33f3c..3fa4c834 100644
--- a/examples/ini/ini.tm
+++ b/examples/ini/ini.tm
@@ -10,29 +10,29 @@ _HELP := "
"
func parse_ini(path:Path -> {Text={Text=Text}}):
- text := path:read() or exit("Could not read INI file: $\[31;1]$(path)$\[]")
+ text := path.read() or exit("Could not read INI file: $\[31;1]$(path)$\[]")
sections : @{Text=@{Text=Text}} = @{}
current_section : @{Text=Text} = @{}
# Line wraps:
- text = text:replace_pattern($Pat/\{1 nl}{0+space}/, " ")
+ text = text.replace_pattern($Pat/\{1 nl}{0+space}/, " ")
- for line in text:lines():
- line = line:trim()
- skip if line:starts_with(";") or line:starts_with("#")
- if line:matches_pattern($Pat/[?]/):
- section_name := line:replace($Pat/[?]/, "\1"):trim():lower()
+ for line in text.lines():
+ line = line.trim()
+ skip if line.starts_with(";") or line.starts_with("#")
+ if line.matches_pattern($Pat/[?]/):
+ section_name := line.replace($Pat/[?]/, "\1").trim().lower()
current_section = @{}
sections[section_name] = current_section
- else if line:matches_pattern($Pat/{..}={..}/):
- key := line:replace_pattern($Pat/{..}={..}/, "\1"):trim():lower()
- value := line:replace_pattern($Pat/{..}={..}/, "\2"):trim()
+ else if line.matches_pattern($Pat/{..}={..}/):
+ key := line.replace_pattern($Pat/{..}={..}/, "\1").trim().lower()
+ value := line.replace_pattern($Pat/{..}={..}/, "\2").trim()
current_section[key] = value
return {k=v[] for k,v in sections[]}
func main(path:Path, key:Text?):
- keys := (key or ""):split($|/|)
+ keys := (key or "").split($|/|)
if keys.length > 2:
exit("
Too many arguments!
@@ -44,18 +44,18 @@ func main(path:Path, key:Text?):
say("$data")
return
- section := keys[1]:lower()
+ section := keys[1].lower()
section_data := data[section] or exit("
Invalid section name: $\[31;1]$section$\[]
- Valid names: $\[1]$(", ":join([k:quoted() for k in data.keys]))$\[]
+ Valid names: $\[1]$(", ".join([k.quoted() for k in data.keys]))$\[]
")
if keys.length < 2 or keys[2] == '*':
say("$section_data")
return
- section_key := keys[2]:lower()
+ section_key := keys[2].lower()
value := section_data[section_key] or exit("
Invalid key: $\[31;1]$section_key$\[]
- Valid keys: $\[1]$(", ":join([s:quoted() for s in section_data.keys]))$\[]
+ Valid keys: $\[1]$(", ".join([s.quoted() for s in section_data.keys]))$\[]
")
say(value)