blob: 35be1b6db83e18c1b1543db6e68d12b14639a9ef (
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
|
# 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]
}
}}}
|