As a tool for thought, APL is wonderful. I mean that in a true and non-snarky way. Wish I'd invested in the details. Snippet:
c←∊LF,⍪⊆⍵ ⋄ k←0⍴⍨≢c
k c⌿⍨←⊂n≤(⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀(≠⍀c∊'"''')<(c='#')∧¯1⊖c∊LF⍪WS
k[⍸(⊢∨¯1⊖⊢)≠⍀(k=¯1)<c∊'"''']←Q
k[⍸(k∊¯1 Q)<(c∊'-?:')∧1⊖c∊LF,' ']←S
k[⍸sm∧im←m<(n-i⌷m⌿n←⍳≢n)=n-(i←⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀(k=S)∨sm←c=' ']←¯2
k[⍸im<k=S]←0
d←n-(⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀0⍪¯1↓k∊¯2 S
k[i←⍸(k∊S Q)<(c=':')∧1⊖c∊LF⍪WS]←S
d k c m⌿⍨←⊂1+m←(⍳≢k)∊(i-1)(⊣I⍸)⍨⍸¯1⊖(k=S)∨c=LF ⋄ k c(⊣@(⍸m←m∧1⊖m))⍨←S'?'
d+←(c=':')<n>(⊂¯1++⍀m)⌷0⍪¯1↓(1⊖m←c=LF)⌿n←+⍀¯1⊖m
d k c⌿⍨←⊂k≠¯1 ⋄ p←⍳≢i←⍸(c=LF)⍱k<0
_←((¯1⊖⍪⍀){p[⍵]←(⊂a⍸⍵)⌷a←⍺I⍋⍺}¨⊢){⊂1↓⍵-≢x}⌸d[i]⍪⍨x←(⊢I⍋)∪d[i]
k[i]×←S=k[i] I I@{k[i][⍵]=S}⍣≡⍨p ⊣ k←k[i][y I x[y←⍸≠x]⍳x←¯1@{p=⍳≢p}p]@i⊢k
ld←d ⋄ d←(⊂+⍀m)⌷0⍪d⌿⍨m←(¯1⊖m)∨m←k=S
d k c⌿⍨←⊂(m∧k=¯2)⍱(d>ld)∧~m←(i⌷m⌿n)<(i←⊂¯1++⍀m)⌷(1⊖m←c=LF)⌿n←+⍀k=S
d⌿⍨←m←(1↑⍨≢)⍣(~∨⌿m)⊢m←k=S ⋄ k←S M Q I'-:'⍳m⌿c ⋄ k[⍸k≡,Q]←0 ⋄ c⊂⍨←m
c[i]←1↓¨c[i←⍸('-?:'∊⍨⊃¨c)∧k∊S M Q]
c⌿¨⍨←(∨⍀∧∨⍀U⊖)∘(~⊢∊LF⍪WS⍨)¨c ⋄ d k c⌿⍨←⊂(k=0)⍲0=≢¨c
c←(1↓¯1↓⊢)¨@(⍸'"'''∊⍨∊1↑¨c)⊢c
q←(k=M)⍀x⍳⍨qq←∪(⊂'')⍪x←c⌿⍨k=Q ⋄ d k q c⌿⍨←⊂k≠Q
d k q c⍪⍨←(d+←S M∊⍨⊃k)↑¨d k 0(⊂'')
k⊖⍨←1 ⋄ k[⍸d≥1⊖d]←K
c←∊LF,⍪⊆⍵ ⋄ k←0⍴⍨≢c k c⌿⍨←⊂n≤(⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀(≠⍀c∊'"''')<(c='#')∧¯1⊖c∊LF⍪WS k[⍸(⊢∨¯1⊖⊢)≠⍀(k=¯1)<c∊'"''']←Q k[⍸(k∊¯1 Q)<(c∊'-?:')∧1⊖c∊LF,' ']←S k[⍸sm∧im←m<(n-i⌷m⌿n←⍳≢n)=n-(i←⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀(k=S)∨sm←c=' ']←¯2 k[⍸im<k=S]←0 d←n-(⊂¯1++⍀m)⌷(m←c=LF)⌿n←+⍀0⍪¯1↓k∊¯2 S k[i←⍸(k∊S Q)<(c=':')∧1⊖c∊LF⍪WS]←S d k c m⌿⍨←⊂1+m←(⍳≢k)∊(i-1)(⊣I⍸)⍨⍸¯1⊖(k=S)∨c=LF ⋄ k c(⊣@(⍸m←m∧1⊖m))⍨←S'?' d+←(c=':')<n>(⊂¯1++⍀m)⌷0⍪¯1↓(1⊖m←c=LF)⌿n←+⍀¯1⊖m d k c⌿⍨←⊂k≠¯1 ⋄ p←⍳≢i←⍸(c=LF)⍱k<0 _←((¯1⊖⍪⍀){p[⍵]←(⊂a⍸⍵)⌷a←⍺I⍋⍺}¨⊢){⊂1↓⍵-≢x}⌸d[i]⍪⍨x←(⊢I⍋)∪d[i] k[i]×←S=k[i] I I@{k[i][⍵]=S}⍣≡⍨p ⊣ k←k[i][y I x[y←⍸≠x]⍳x←¯1@{p=⍳≢p}p]@i⊢k ld←d ⋄ d←(⊂+⍀m)⌷0⍪d⌿⍨m←(¯1⊖m)∨m←k=S d k c⌿⍨←⊂(m∧k=¯2)⍱(d>ld)∧~m←(i⌷m⌿n)<(i←⊂¯1++⍀m)⌷(1⊖m←c=LF)⌿n←+⍀k=S d⌿⍨←m←(1↑⍨≢)⍣(~∨⌿m)⊢m←k=S ⋄ k←S M Q I'-:'⍳m⌿c ⋄ k[⍸k≡,Q]←0 ⋄ c⊂⍨←m c[i]←1↓¨c[i←⍸('-?:'∊⍨⊃¨c)∧k∊S M Q] c⌿¨⍨←(∨⍀∧∨⍀U⊖)∘(~⊢∊LF⍪WS⍨)¨c ⋄ d k c⌿⍨←⊂(k=0)⍲0=≢¨c c←(1↓¯1↓⊢)¨@(⍸'"'''∊⍨∊1↑¨c)⊢c q←(k=M)⍀x⍳⍨qq←∪(⊂'')⍪x←c⌿⍨k=Q ⋄ d k q c⌿⍨←⊂k≠Q d k q c⍪⍨←(d+←S M∊⍨⊃k)↑¨d k 0(⊂'') k⊖⍨←1 ⋄ k[⍸d≥1⊖d]←K