Index: trunk/scripts/SyncEditorLayerIndex.java
===================================================================
--- trunk/scripts/SyncEditorLayerIndex.java	(revision 18211)
+++ trunk/scripts/SyncEditorLayerIndex.java	(revision 18382)
@@ -308,5 +308,6 @@
                         ((s.startsWith("+ ") || s.startsWith("+++ ELI")) ? "blue" :
                             (s.startsWith("#") ? "indigo" :
-                                (s.startsWith("!") ? "orange" : "red")));
+                                (s.startsWith("!") ? "orange" :
+                                    (s.startsWith("~") ? "red" : "brown"))));
             s = "<pre style=\"margin:3px;color:"+color+"\">"+s.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;")+"</pre>";
         }
@@ -503,22 +504,22 @@
         for (ImageryInfo e : josmEntries) {
             if (isBlank(getUrl(e))) {
-                myprintln("+++ JOSM-Entry without URL: " + getDescription(e));
+                myprintln("~~~ JOSM-Entry without URL: " + getDescription(e));
                 continue;
             }
             if (isBlank(e.getDate()) && e.getDate() != null) {
-                myprintln("+++ JOSM-Entry with empty Date: " + getDescription(e));
+                myprintln("~~~ JOSM-Entry with empty Date: " + getDescription(e));
                 continue;
             }
             if (isBlank(getName(e))) {
-                myprintln("+++ JOSM-Entry without Name: " + getDescription(e));
+                myprintln("~~~ JOSM-Entry without Name: " + getDescription(e));
                 continue;
             }
             String url = getUrlStripped(e);
             if (url.contains("{z}")) {
-                myprintln("+++ JOSM-URL uses {z} instead of {zoom}: "+getDescription(e));
+                myprintln("~~~ JOSM-URL uses {z} instead of {zoom}: "+getDescription(e));
                 url = url.replace("{z}", "{zoom}");
             }
             if (josmUrls.containsKey(url)) {
-                myprintln("+++ JOSM-URL is not unique: "+url);
+                myprintln("~~~ JOSM-URL is not unique: "+url);
             } else {
                 josmUrls.put(url, e);
@@ -530,5 +531,5 @@
                 origNameField.set(m, m.getOriginalName().replaceAll(" mirror server( \\d+)?", ""));
                 if (josmUrls.containsKey(url)) {
-                    myprintln("+++ JOSM-Mirror-URL is not unique: "+url);
+                    myprintln("~~~ JOSM-Mirror-URL is not unique: "+url);
                 } else {
                     josmUrls.put(url, m);
@@ -978,9 +979,9 @@
                 List<Coordinate> p = shape.getPoints();
                 if (!p.get(0).equals(p.get(p.size()-1))) {
-                    myprintln("+++ JOSM shape "+num+" unclosed: "+getDescription(j));
+                    myprintln("~~~ JOSM shape "+num+" unclosed: "+getDescription(j));
                 }
                 for (int nump = 1; nump < p.size(); ++nump) {
                     if (Objects.equals(p.get(nump-1), p.get(nump))) {
-                        myprintln("+++ JOSM shape "+num+" double point at "+(nump-1)+": "+getDescription(j));
+                        myprintln("~~~ JOSM shape "+num+" double point at "+(nump-1)+": "+getDescription(j));
                     }
                 }
@@ -1168,5 +1169,5 @@
                 String urlLc = url.toLowerCase(Locale.ENGLISH);
                 if (getProjections(j).isEmpty()) {
-                    myprintln("* WMS without projections: "+getDescription(j));
+                    myprintln("~ WMS without projections: "+getDescription(j));
                 } else {
                     List<String> unsupported = new LinkedList<>();
@@ -1175,5 +1176,5 @@
                         if ("CRS:84".equals(p)) {
                             if (!urlLc.contains("version=1.3")) {
-                                myprintln("* CRS:84 without WMS 1.3: "+getDescription(j));
+                                myprintln("~ CRS:84 without WMS 1.3: "+getDescription(j));
                             }
                         } else if (oldproj.containsKey(p)) {
@@ -1184,15 +1185,15 @@
                     }
                     if (!unsupported.isEmpty()) {
-                        myprintln("* Projections "+String.join(", ", unsupported)+" not supported by JOSM: "+getDescription(j));
+                        myprintln("~ Projections "+String.join(", ", unsupported)+" not supported by JOSM: "+getDescription(j));
                     }
                     for (String o : old) {
-                        myprintln("* Projection "+o+" is an old unsupported code and has been replaced by "+oldproj.get(o)+": "
+                        myprintln("~ Projection "+o+" is an old unsupported code and has been replaced by "+oldproj.get(o)+": "
                                 + getDescription(j));
                     }
                 }
                 if (urlLc.contains("version=1.3") && !urlLc.contains("crs={proj}")) {
-                    myprintln("* WMS 1.3 with strange CRS specification: "+getDescription(j));
+                    myprintln("~ WMS 1.3 with strange CRS specification: "+getDescription(j));
                 } else if (urlLc.contains("version=1.1") && !urlLc.contains("srs={proj}")) {
-                    myprintln("* WMS 1.1 with strange SRS specification: "+getDescription(j));
+                    myprintln("~ WMS 1.1 with strange SRS specification: "+getDescription(j));
                 }
             }
@@ -1218,5 +1219,5 @@
                         new ImageProvider(jt).get();
                     } catch (RuntimeException e) {
-                        myprintln("* Strange Icon: "+getDescription(j));
+                        myprintln("~ Strange Icon: "+getDescription(j));
                     }
                 }
@@ -1225,5 +1226,5 @@
             for (String u : urls) {
                 if (!patternU.matcher(u).matches() || u.matches(".*[ \t]+$")) {
-                    myprintln("* Strange URL '"+u+"': "+getDescription(j));
+                    myprintln("~ Strange URL '"+u+"': "+getDescription(j));
                 } else {
                     try {
@@ -1232,10 +1233,10 @@
                         int port = jurl.getPort();
                         if (!(domain.matches("^\\d+\\.\\d+\\.\\d+\\.\\d+$")) && !dv.isValid(domain))
-                            myprintln("* Strange Domain '"+domain+"': "+getDescription(j));
+                            myprintln("~ Strange Domain '"+domain+"': "+getDescription(j));
                         else if (80 == port || 443 == port) {
-                            myprintln("* Useless port '"+port+"': "+getDescription(j));
+                            myprintln("~ Useless port '"+port+"': "+getDescription(j));
                         }
                     } catch (MalformedURLException e) {
-                        myprintln("* Malformed URL '"+u+"': "+getDescription(j)+" => "+e.getMessage());
+                        myprintln("~ Malformed URL '"+u+"': "+getDescription(j)+" => "+e.getMessage());
                     }
                 }
@@ -1246,7 +1247,7 @@
             }
             if (isBlank(id)) {
-                myprintln("* No JOSM-ID: "+getDescription(j));
+                myprintln("~ No JOSM-ID: "+getDescription(j));
             } else if (josmIds.containsKey(id)) {
-                myprintln("* JOSM-ID "+id+" not unique: "+getDescription(j));
+                myprintln("~ JOSM-ID "+id+" not unique: "+getDescription(j));
             } else {
                 josmIds.put(id, j);
@@ -1257,5 +1258,5 @@
                 Matcher m = patternD.matcher(d);
                 if (!m.matches()) {
-                    myprintln("* JOSM-Date '"+d+"' is strange: "+getDescription(j));
+                    myprintln("~ JOSM-Date '"+d+"' is strange: "+getDescription(j));
                 } else {
                     try {
@@ -1263,19 +1264,19 @@
                         Date second = verifyDate(m.group(9), m.group(11), m.group(13));
                         if (second.compareTo(first) < 0) {
-                            myprintln("* JOSM-Date '"+d+"' is strange (second earlier than first): "+getDescription(j));
+                            myprintln("~ JOSM-Date '"+d+"' is strange (second earlier than first): "+getDescription(j));
                         }
                     } catch (Exception e) {
-                        myprintln("* JOSM-Date '"+d+"' is strange ("+e.getMessage()+"): "+getDescription(j));
+                        myprintln("~ JOSM-Date '"+d+"' is strange ("+e.getMessage()+"): "+getDescription(j));
                     }
                 }
             }
             if (isNotBlank(getAttributionUrl(j)) && isBlank(getAttributionText(j))) {
-                myprintln("* Attribution link without text: "+getDescription(j));
+                myprintln("~ Attribution link without text: "+getDescription(j));
             }
             if (isNotBlank(getLogoUrl(j)) && isBlank(getLogoImage(j))) {
-                myprintln("* Logo link without image: "+getDescription(j));
+                myprintln("~ Logo link without image: "+getDescription(j));
             }
             if (isNotBlank(getTermsOfUseText(j)) && isBlank(getTermsOfUseUrl(j))) {
-                myprintln("* Terms of Use text without link: "+getDescription(j));
+                myprintln("~ Terms of Use text without link: "+getDescription(j));
             }
             List<Shape> js = getShapes(j);
@@ -1300,5 +1301,5 @@
                         || differentCoordinate(b.getMaxLat(), maxlat)
                         || differentCoordinate(b.getMaxLon(), maxlon)) {
-                    myprintln("* Bounds do not match shape (is "+b.getMinLat()+","+b.getMinLon()+","+b.getMaxLat()+","+b.getMaxLon()
+                    myprintln("~ Bounds do not match shape (is "+b.getMinLat()+","+b.getMinLon()+","+b.getMaxLat()+","+b.getMaxLon()
                         + ", calculated <bounds min-lat='"+minlat+"' min-lon='"+minlon+"' max-lat='"+maxlat+"' max-lon='"+maxlon+"'>): "
                         + getDescription(j));
@@ -1309,7 +1310,7 @@
             String cat = getCategory(j);
             if (isBlank(cat)) {
-                myprintln("* No category: "+getDescription(j));
+                myprintln("~ No category: "+getDescription(j));
             } else if (!knownCategories.contains(cat)) {
-                myprintln("* Strange category "+cat+": "+getDescription(j));
+                myprintln("~ Strange category "+cat+": "+getDescription(j));
             }
         }
