1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env bash
# Usage: scripts/view [file.mmd] [-- extra cargo run args...]
# cat file.mmd | scripts/view [-- extra cargo run args...]
#
# Defaults: -f svg --edge-preset step
# Override any default by passing it explicitly after --
#
# Examples:
# scripts/view tests/fixtures/flowchart/simple.mmd
# scripts/view tests/fixtures/flowchart/simple.mmd -- --edge-preset basis
# cat file.mmd | scripts/view
SCALE=2
BG="white"
# Query terminal background color via OSC 11 (works in Ghostty, Kitty, WezTerm, etc.)
# Returns perceived luminance 0-255, or 255 (light) on failure.
lum=
if ; then
BG="black"
fi
# Default mmdflux flags (can be overridden by passing them explicitly)
MMDFLUX_DEFAULTS=(-f svg --edge-preset step)
# Split args: optional file, then optional -- extra-flags
FILE=""
EXTRA_ARGS=()
if ; then
FILE=""
fi
if ; then
EXTRA_ARGS=("")
fi
# Pick display command: kitten icat in Kitty (graphics protocol), chafa elsewhere
if ; then
DISPLAY_CMD=(kitten icat)
else
DISPLAY_CMD=(chafa)
fi
# Remove defaults that the user explicitly overrides
MERGED_ARGS=()
for; do
flag=""
# Check if this flag appears in EXTRA_ARGS (user override wins)
override=false
for; do
if ; then
override=true
break
fi
done
if ; then
# Skip this default flag and its value
||
else
MERGED_ARGS+=("")
if && ; then
MERGED_ARGS+=("")
fi
fi
done
# Run the pipeline
if ; then
INPUT_CMD=(cat "")
else
INPUT_CMD=(cat)
fi
| | |