@@ -451,9 +451,13 @@ bool latexDetermineContexts2(QDocumentLineHandle *dlh, TokenStack &stack, Comman
451451 if (lastComma>0 ){
452452 // -> val
453453 tk.subtype =Token::keyVal_val;
454- QString cmd=lexed[lastComma].optionalCommandName ;
455- QString key=line.mid (lexed[lastComma].start , lexed[lastComma].length );
456- tk.optionalCommandName =cmd+" /" +key;
454+ if (lastComma>=1e6 ){
455+ tk.optionalCommandName =keyVal_keyString;
456+ }else {
457+ QString cmd=lexed[lastComma].optionalCommandName ;
458+ QString key=line.mid (lexed[lastComma].start , lexed[lastComma].length );
459+ tk.optionalCommandName =cmd+" /" +key;
460+ }
457461 }else {
458462 tk.subtype =Token::keyVal_key; // not sure if that is a real scenario
459463 }
@@ -562,9 +566,13 @@ bool latexDetermineContexts2(QDocumentLineHandle *dlh, TokenStack &stack, Comman
562566 if (lastComma>0 ){
563567 // -> val
564568 tk.subtype =Token::keyVal_val;
565- QString cmd=lexed[lastComma].optionalCommandName ;
566- QString key=line.mid (lexed[lastComma].start , lexed[lastComma].length );
567- tk.optionalCommandName =cmd+" /" +key;
569+ if (lastComma>=1e6 ){
570+ tk.optionalCommandName =keyVal_keyString;
571+ }else {
572+ QString cmd=lexed[lastComma].optionalCommandName ;
573+ QString key=line.mid (lexed[lastComma].start , lexed[lastComma].length );
574+ tk.optionalCommandName =cmd+" /" +key;
575+ }
568576 }else {
569577 tk.subtype =Token::keyVal_key; // not sure if that is a real scenario
570578 }
@@ -744,7 +752,9 @@ bool latexDetermineContexts2(QDocumentLineHandle *dlh, TokenStack &stack, Comman
744752 lexed << tk;
745753 lastComma = lexed.length () - 1 ;
746754 } else {
747- lexed[lastComma].length = tk.start + tk.length - lexed[lastComma].start ;
755+ if (lastComma<1e6 ){
756+ lexed[lastComma].length = tk.start + tk.length - lexed[lastComma].start ;
757+ }
748758 }
749759 continue ;
750760 }
@@ -803,8 +813,10 @@ bool latexDetermineContexts2(QDocumentLineHandle *dlh, TokenStack &stack, Comman
803813 lastComma = lexed.length () - 1 ;
804814 } else {
805815 if (lastEqual <= -1e6 ) {
806- lexed[lastComma].length = tk.start + tk.length - lexed[lastComma].start ;
807- keyName= line.mid (tk.start , lexed[lastComma].length );
816+ if (lastComma<1e6 ){
817+ lexed[lastComma].length = tk.start + tk.length - lexed[lastComma].start ;
818+ keyName= line.mid (tk.start , lexed[lastComma].length );
819+ }
808820 } else {
809821 tk.level = level;
810822 tk.subtype = Token::keyVal_val;
0 commit comments