summaryrefslogtreecommitdiff
path: root/support/tcltexed/lib/RCS/syntax.tcl,v
blob: c1f3396c564deaf37a2dac83a353c6a06085ca20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
head	1.2;
access;
symbols;
locks
	mys:1.2; strict;
comment	@# @;


1.2
date	2000.04.11.21.41.24;	author mys;	state Exp;
branches;
next	1.1;

1.1
date	99.11.09.21.32.05;	author mys;	state Exp;
branches;
next	;


desc
@@

1.2
log
@*** empty log message ***
@
text
@# Copyright (C) 1999 - Martin Strauss - under terms of GPL
#######################################################
# Farbige Syntax
# ok !
proc Syntax {E START END} {
 global I_befehl syntax_flag
 if $syntax_flag {
  set NEW_syntax [$E search "\\" $START $END]
  if {$NEW_syntax != ""} {
   $E tag remove syntax_green $NEW_syntax $END
   $E tag remove syntax_red $NEW_syntax $END
   $E tag remove syntax_blue $NEW_syntax $END
   set LISTE [array names I_befehl]
   lappend LISTE "$" "\\" "\[" "\]" "\{" "\}" ";" "." "-"
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    if {[$E get syntax-1c syntax] != "\\"} { 
     set ksp [lsearch -exact $LISTE [$E get syntax+1c {syntax+1c wordend}]]
     if {$ksp == -1} {
      $E tag add syntax_red syntax {syntax+1c wordend}
     } else {
      $E tag add syntax_green syntax {syntax+1c wordend}
     }
    } elseif {[$E get syntax-2c syntax-1c] != "\\"} {
     set ksp [lsearch -exact $LISTE [$E get syntax+1c {syntax+1c wordend}]]
     if {$ksp == -1} {
      $E tag add syntax_red syntax {syntax+1c wordend}
     } else {
      $E tag add syntax_green syntax {syntax+1c wordend}
     }
    }
    set NEW_syntax [$E search "\\" syntax+1c $END]
   }
   set NEW_syntax [$E search "%" $START $END]
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    if {[$E get syntax-1c syntax] != "\\"} {
     $E tag add syntax_blue syntax {syntax lineend}
     $E tag remove syntax_red syntax {syntax lineend}
    } else {
     $E tag add syntax_green syntax-1c syntax+1c
     $E tag remove syntax_red syntax-1c syntax+1c
    }
    set NEW_syntax [$E search "%" syntax+1c $END]
   }
  
   set NEW_syntax [$E search "$" $START $END]
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    $E tag add syntax_green syntax syntax+1c
    $E tag remove syntax_red syntax syntax+1c
    set NEW_syntax [$E search "$" syntax+1c $END]
   }
}}}
@


1.1
log
@Initial revision
@
text
@d1 54
a54 54
# Copyright (C) 1999 - Martin Strauss - under terms of GPL
#######################################################
# Farbige Syntax
# ok !
proc Syntax {E START END} {
 global I_befehl syntax_flag
 if $syntax_flag {
  set NEW_syntax [$E search "\\" $START $END]
  if {$NEW_syntax != ""} {
   $E tag remove syntax_green $NEW_syntax $END
   $E tag remove syntax_red $NEW_syntax $END
   $E tag remove syntax_blue $NEW_syntax $END
   set LISTE [array names I_befehl]
   lappend LISTE "$" "\\" "\[" "\]" "\{" "\}" ";" "." "-"
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    if {[$E get syntax-1c syntax] != "\\"} { 
     set ksp [lsearch -exact $LISTE [$E get syntax+1c {syntax+1c wordend}]]
     if {$ksp == -1} {
      $E tag add syntax_red syntax {syntax+1c wordend}
     } else {
      $E tag add syntax_green syntax {syntax+1c wordend}
     }
    } elseif {[$E get syntax-2c syntax-1c] != "\\"} {
     set ksp [lsearch -exact $LISTE [$E get syntax+1c {syntax+1c wordend}]]
     if {$ksp == -1} {
      $E tag add syntax_red syntax {syntax+1c wordend}
     } else {
      $E tag add syntax_green syntax {syntax+1c wordend}
     }
    }
    set NEW_syntax [$E search "\\" syntax+1c $END]
   }
   set NEW_syntax [$E search "%" $START $END]
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    if {[$E get syntax-1c syntax] != "\\"} {
     $E tag add syntax_blue syntax {syntax lineend}
     $E tag remove syntax_red syntax {syntax lineend}
    } else {
     $E tag add syntax_green syntax-1c syntax+1c
     $E tag remove syntax_red syntax-1c syntax+1c
    }
    set NEW_syntax [$E search "%" syntax+1c $END]
   }
  
   set NEW_syntax [$E search "$" $START $END]
   while {$NEW_syntax != ""} {
    $E mark set syntax $NEW_syntax
    $E tag add syntax_green syntax syntax+1c
    $E tag remove syntax_red syntax syntax+1c
    set NEW_syntax [$E search "$" syntax+1c $END]
   }
}}}
@