Skip to content

Commit 27ad8dd

Browse files
Fixing etree path issues in Go
Now it seems to work, but sadly we still cannot distinguish between SL and OS and AA...
1 parent 4141b3a commit 27ad8dd

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

Tools/highlight.css

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/* Style definition file generated by highlight 4.1, http://www.andre-simon.de/ */
2+
/* highlight theme: Kwrite Editor */
3+
body.hl { background-color:#e0eaee; }
4+
pre.hl { color:#000000; background-color:#e0eaee; font-size:10pt; font-family:'Courier New',monospace; white-space: pre-wrap; }
5+
.hl.num { color:#b07e00; }
6+
.hl.esc { color:#ff00ff; }
7+
.hl.sng { color:#bf0303; }
8+
.hl.pps { color:#818100; }
9+
.hl.slc { color:#838183; font-style:italic; }
10+
.hl.com { color:#838183; font-style:italic; }
11+
.hl.ppc { color:#008200; }
12+
.hl.opt { color:#000000; }
13+
.hl.ipl { color:#0057ae; }
14+
.hl.lin { color:#555555; user-select: none; }
15+
.hl.hvr { cursor:help; }
16+
.hl.erm { color:#ff0000; font-weight:bold; border:solid 1px red; margin-left: 3em; }
17+
.hl.err { color:#ff0000; font-weight:bold; }
18+
.hl.kwa { color:#000000; font-weight:bold; }
19+
.hl.kwb { color:#0057ae; }
20+
.hl.kwc { color:#000000; }
21+
.hl.kwd { color:#010181; }
22+
.hl.kwe { color:#0d5bc3; }
23+
.hl.kwf { color:#750dc3; }
24+

Tools/kwdbxmlconvert.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,10 @@ func parseSyntaxSet(readDoc, writeDoc *etree.Element, comment, name, symbol, sub
112112
var aString *etree.Element
113113

114114
if subtype != "" {
115-
subtypePath, err := etree.CompilePath("/[type='" + subtype + "']");
115+
subtypePath, err := etree.CompilePath("./" + symbol +"[@type='" + subtype + "']");
116116
if (err != nil) {
117-
return errors.New("parseSyntaxSet() could not process query involving subtype " + subtype);
117+
return errors.New("parseSyntaxSet() could not process path query compilation involving symbol '" + symbol +
118+
"' and subtype '" + subtype + "'");
118119
}
119120
for _, kwdbKeyword := range readDoc.FindElementsPath(subtypePath) {
120121
aString = scopeStrings.CreateElement("string")
@@ -304,10 +305,27 @@ func main() {
304305
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Integer constants", "lsl.identifier.constant.integer", "constant", "integer"); err != nil {
305306
log.Println(err)
306307
}
307-
308-
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Constants", "lsl.identifier.constant", "constant", ""); err != nil {
308+
// if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Float Constants", "lsl.identifier.constant.float", "float", "float"); err != nil {
309+
// log.Println(err)
310+
// }
311+
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "String Constants", "lsl.identifier.constant.string", "constant", "string"); err != nil {
312+
log.Println(err)
313+
}
314+
// if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Key Constants", "lsl.identifier.constant.key", "constant", "key"); err != nil {
315+
// log.Println(err)
316+
// }
317+
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Vector Constants", "lsl.identifier.constant.vector", "constant", "vector"); err != nil {
318+
log.Println(err)
319+
}
320+
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Rotation Constants", "lsl.identifier.constant.rotation", "constant", "rotation"); err != nil {
309321
log.Println(err)
310322
}
323+
// if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "List Constants", "lsl.identifier.constant.list", "constant", "list"); err != nil {
324+
// log.Println(err)
325+
// }
326+
// if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Boolean Constants", "lsl.identifier.constant.boolean", "bool", "rotation"); err != nil {
327+
// log.Println(err)
328+
// }
311329

312330
if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Types", "lsl.identifier.type", "type", ""); err != nil {
313331
log.Println(err)

0 commit comments

Comments
 (0)