...
|
...
|
@@ -171,7 +171,6 @@ redata_highlighter_getcolorindex(redata_t *redata, int line, int nthbyte)
|
171
|
171
|
static void
|
172
|
172
|
redata_highlighter_util_applytheme(int *template3,hcolor_t *color,int invert)
|
173
|
173
|
{
|
174
|
|
- unsigned char c[3];
|
175
|
174
|
if(template3==NULL || color==NULL || template3[0]<0 || template3[0]>2 || template3[1]<0 || template3[1]>2 || template3[2]<0 || template3[2]>2)
|
176
|
175
|
return; /* sanity check error */
|
177
|
176
|
if(invert==0) {
|
...
|
...
|
@@ -200,7 +199,7 @@ redata_highlighter_settheme(redata_t *redata, int ntheme, int invert)
|
200
|
199
|
return(-1);
|
201
|
200
|
for(i=0;i<ncolors;i++)
|
202
|
201
|
redata_highlighter_util_applytheme(permutationtemplate,colors+i,invert);
|
203
|
|
- return;
|
|
202
|
+ return(0);
|
204
|
203
|
}
|
205
|
204
|
|
206
|
205
|
static int
|
...
|
...
|
@@ -354,6 +353,7 @@ hl_doline(redata_t *redata, highlighter_t *hl, int nline)
|
354
|
353
|
mode_in_linecomment,
|
355
|
354
|
mode_in_directive,
|
356
|
355
|
mode_in_string,
|
|
356
|
+ mode_in_singlestring,
|
357
|
357
|
mode_in_directivestring,
|
358
|
358
|
} mode,mlcprevmode;
|
359
|
359
|
if(redata==NULL || hl==NULL || nline<0)
|
...
|
...
|
@@ -471,6 +471,11 @@ hl_doline(redata_t *redata, highlighter_t *hl, int nline)
|
471
|
471
|
linecolor=hl_addtolinecolor(&opaque,hl,linecolor,posoffset+i,color_string);
|
472
|
472
|
continue;
|
473
|
473
|
}
|
|
474
|
+ if(ptr[i]=='\'') {
|
|
475
|
+ mode=mode_in_singlestring;
|
|
476
|
+ linecolor=hl_addtolinecolor(&opaque,hl,linecolor,posoffset+i,color_string);
|
|
477
|
+ continue;
|
|
478
|
+ }
|
474
|
479
|
if(!cant_define && ptr[i]=='#') {
|
475
|
480
|
mode=mode_in_directive;
|
476
|
481
|
is_directiveinclude=0;
|
...
|
...
|
@@ -592,11 +597,12 @@ hl_doline(redata_t *redata, highlighter_t *hl, int nline)
|
592
|
597
|
linecolor=hl_addtolinecolor(&opaque,hl,linecolor,posoffset+i,(is_directiveinclude==0)?color_directivestring:color_directiveincludestring);
|
593
|
598
|
continue;
|
594
|
599
|
}
|
595
|
|
- if(mode==mode_in_string) {
|
|
600
|
+ if(mode==mode_in_string || mode_in_singlestring) {
|
596
|
601
|
if(prev_char=='\\' || ptr[i]=='\\') {
|
597
|
602
|
continue;
|
598
|
603
|
}
|
599
|
|
- if(ptr[i]=='\"') {
|
|
604
|
+ if((mode==mode_in_string && ptr[i]=='\"')
|
|
605
|
+ || (mode==mode_in_singlestring && ptr[i]=='\'')) {
|
600
|
606
|
mode=mode_whatever;
|
601
|
607
|
linecolor=hl_addtolinecolor(&opaque,hl,linecolor,posoffset+i,color_string);
|
602
|
608
|
continue;
|