Lines Matching refs:tags

37 /* maximum number of tags per line */
51 struct { enum tagtype type; int first; int last; } tags[MAXTAGS], tagtmp;
387 tags[tagc].type = type;
388 tags[tagc].first = first;
389 tags[tagc].last = last;
509 * Tk -- just emit list of text-tags pairs
1431 tags[0].last = linelen;
2544 /* set I for tags below */
2552 /*** tags and filler spaces ***/
2629 if (efirst>=0 /*&& (esccode==0 || esccode==1 || esccode==4 || esccode==22 || esccode==24) /*&& hl>=0 && hl2==-1 && tags[MAXTAGS].first<I+iq*/) {
2631 /*tagadd(tags[MAXTAGS].type, tags[MAXTAGS].first, I+iq);*/
2656 /* collect tags in this pass, interspersed later if need be */
2657 /* can't handle overlapping tags */
2688 /* don't overlap tags on man page references */
2689 while (tagc>0 && tags[tagc-1].last>hl2) tagc--;
2714 if line has ONLY <CODE> tags AND they SPAN line, convert to one tag */
2716 if (tagc && tags[0].first==0 && tags[tagc-1].last==linelen) {
2721 if (tags[i].type!=BOLDITALICS /*&& tags[i].type!=BOLD*/) fCodeline=0;
2722 else if ((j=tags[i].last)<linelen) {
2723 for (; j < tags[i+1].first ; j++)
2733 assert(tags[i].type>NOTAG && tags[i].type<=MANREF);
2734 assert(tags[i].first>=I0 && tags[i].last<=linelen+I0);
2735 assert(tags[i].first<=tags[i].last);
2737 /* verify for no overlap with other tags */
2739 assert(tags[i].last<=tags[j].first /*|| tags[i].first>=tags[j].last*/);
2969 && ((scnt>=2 && scnt2>5) || scnt>=5 || (tagc>0 && tags[0].first==scnt) ) /* scnt>=2?? */
2975 if (tagc>0 && tags[0].first==scnt) {
2976 k=tags[0].last;
2978 if (tags[l].first - k <=3)
2979 k=tags[l].last;
3046 /* start tags in reverse order of addition (so structural first) */
3047 if (curtag<tagc && i+I0+off==tags[curtag].first) {
3048 for (r=hitxt, j=tags[curtag].last-tags[curtag].first, hitxt[j]='\0'; j; j--)
3050 (*fn)(tagbeginend[tags[curtag].type][0]);
3084 if (curtag<tagc && i+I0+off+1==tags[curtag].last) {
3085 (*fn)(tagbeginend[tags[curtag].type][1]);
3129 pop(ENDDOC); /* clear up all tags on stack */
3331 /* dump characters from buffer, signalling right tags along the way */
3359 /* got one: clear out tags and spaces to make normalized form */
3361 /*while (tagc && tags[tagc-1].first >= posn) tagc--;*/
3363 /* add MANREF tags */
3366 /* already generated other start tags, so move BEGINMANREF to start in order to be well nested (ugh) */
3367 tagtmp = tags[tagc-1]; for (j=tagc-1; j>0; j--) tags[j]=tags[j-1]; tags[0]=tagtmp;
3375 tagadd(BEGINMANREF, i, 0); tagtmp = tags[tagc-1]; for (j=tagc-1; j>0; j--) tags[j]=tags[j-1]; tags[0]=tagtmp;
3387 /* dump tags */
3388 /*for ( ; j<tagc && tags[j].first == i; j++) (*fn)(tags[j].type);*/
3389 for (j=0; j<tagc; j++) if (tags[j].first == i) (*fn)((enum command)tags[j].type);
3406 /* dump tags at end */
3407 /*for ( ; j<tagc && tags[j].first == sI; j++) (*fn)(tags[j].type);*/
3408 for (j=0; j<tagc; j++) if (tags[j].first==sI) (*fn)((enum command)tags[j].type);
3567 /* postpone check until after following character so catch closing tags */