@@ -741,13 +741,21 @@ func (inject *ts_inject) hl() {
741
741
t := NewTreeSitterParse (inject .lang , v .Code )
742
742
if t .load_ts_def () {
743
743
t .Loadfile (t .tsdef .tslang , nil )
744
+
745
+ var HlLine = make (TreesiterSymbolLine )
744
746
for k , l := range t .HlLine {
745
- newline := int (v .Begin .Row ) + k
746
- if line , ok := inject .hline [newline ]; ok {
747
+ for i := range l {
748
+ l [i ].Begin .Row = v .Begin .Row + l [i ].Begin .Row
749
+ l [i ].End .Row = v .Begin .Row + l [i ].End .Row
750
+ }
751
+ HlLine [k + int (v .Begin .Row )] = l
752
+ }
753
+ for k , l := range HlLine {
754
+ if line , ok := inject .hline [k ]; ok {
747
755
line = append (line , l ... )
748
- inject .hline [newline ] = line
756
+ inject .hline [k ] = line
749
757
} else {
750
- inject .hline [newline ] = l
758
+ inject .hline [k ] = l
751
759
}
752
760
}
753
761
}
@@ -783,7 +791,7 @@ func (ts TreeSitter) get_higlight(queryname string) (ret TreesiterSymbolLine, er
783
791
v .hl ()
784
792
}
785
793
for _ , inj := range inejcts {
786
- for lienno ,v := range inj .hline {
794
+ for lienno , v := range inj .hline {
787
795
if line , ok := ret [lienno ]; ok {
788
796
line = append (line , v ... )
789
797
ret [lienno ] = line
0 commit comments