This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 50774
Collapse All | Expand All

(-)editor/libsrc/org/netbeans/editor/ext/java/JCTokenProcessor.java (+3 lines)
Lines 1321-1326 Link Here
1321
1321
1322
1322
1323
                    case JavaTokenContext.LINE_COMMENT_ID:
1323
                    case JavaTokenContext.LINE_COMMENT_ID:
1324
// <> Issue 50774
1325
                    case JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER_ID:
1326
// </> Issue 50774
1324
                        // Skip line comment
1327
                        // Skip line comment
1325
                        break;
1328
                        break;
1326
1329
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaCompletionQuery.java (+3 lines)
Lines 133-138 Link Here
133
                    break;
133
                    break;
134
134
135
                case JavaTokenContext.LINE_COMMENT_ID:
135
                case JavaTokenContext.LINE_COMMENT_ID:
136
// <> Issue 50774
137
                case JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER_ID:
138
// </> Issue 50774
136
                    errState = true;
139
                    errState = true;
137
                    break;
140
                    break;
138
                }
141
                }
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaFormatSupport.java (+3 lines)
Lines 51-56 Link Here
51
        TokenID tokenID = token.getTokenID();
51
        TokenID tokenID = token.getTokenID();
52
        return (token.getTokenContextPath() == tokenContextPath
52
        return (token.getTokenContextPath() == tokenContextPath
53
                && (tokenID == JavaTokenContext.LINE_COMMENT
53
                && (tokenID == JavaTokenContext.LINE_COMMENT
54
// <> Issue 50774
55
                    || tokenID == JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER
56
// </> Issue 50774
54
                    || tokenID == JavaTokenContext.BLOCK_COMMENT));
57
                    || tokenID == JavaTokenContext.BLOCK_COMMENT));
55
    }
58
    }
56
59
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaFormatter.java (+3 lines)
Lines 327-332 Link Here
327
                                    switch (imp.getToken().getTokenID().getNumericID()) {
327
                                    switch (imp.getToken().getTokenID().getNumericID()) {
328
                                        case JavaTokenContext.BLOCK_COMMENT_ID:
328
                                        case JavaTokenContext.BLOCK_COMMENT_ID:
329
                                        case JavaTokenContext.LINE_COMMENT_ID:
329
                                        case JavaTokenContext.LINE_COMMENT_ID:
330
// <> Issue 50774
331
                                        case JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER_ID:
332
// </> Issue 50774
330
                                            break; // comments are ignored
333
                                            break; // comments are ignored
331
334
332
                                        case JavaTokenContext.RBRACKET_ID:
335
                                        case JavaTokenContext.RBRACKET_ID:
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaSettingsDefaults.java (+7 lines)
Lines 239-244 Link Here
239
                    case JavaTokenContext.ANNOTATION_ID: // JDK 1.5 annotations
272
                    case JavaTokenContext.ANNOTATION_ID: // JDK 1.5 annotations
240
                        return new Coloring(null, new Color(0, 111, 0), null);
273
                        return new Coloring(null, new Color(0, 111, 0), null);
241
274
275
// <> Issue 50774
276
                     case JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER_ID:
277
                         // Should use better colors, my first test using error colors worked ok, will get better ones later
278
                         return new Coloring(boldFont, Coloring.FONT_MODE_APPLY_STYLE, new Color(156,90,180), null);
279
// Tor's suggestion, but it does not really work on a yello highlight line
280
//                         return new Coloring(null, new Color(0xFF, 0xFF, 0xFF), new Color(0, 0, 0xCC));
281
// </> Issue 50774
242
                }
282
                }
243
283
244
            } else { // printing set
284
            } else { // printing set
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaSyntax.java (-1 / +39 lines)
Lines 58-63 Link Here
58
    private static final int ISI_DOUBLE_EXP = 31; // double number
58
    private static final int ISI_DOUBLE_EXP = 31; // double number
59
    private static final int ISI_HEX = 32; // hex number
59
    private static final int ISI_HEX = 32; // hex number
60
    private static final int ISA_DOT = 33; // after '.'
60
    private static final int ISA_DOT = 33; // after '.'
61
// <>  Issue 50774
62
    private static final int ISI_LINE_COMMENT_MARKER = 100; // Inside line comment marker, such as TODO
63
// </>  Issue 50774
64
65
// <>  Issue 50774
66
    protected int commentHightlightMarkerLength;
67
// </> Issue 50774
61
68
62
    private boolean isJava15 = true;
69
    private boolean isJava15 = true;
63
70
Lines 206-214 Link Here
206
                case '\n':
213
                case '\n':
207
                    state = INIT;
214
                    state = INIT;
208
                    return JavaTokenContext.LINE_COMMENT;
215
                    return JavaTokenContext.LINE_COMMENT;
216
// <> Issue 50774
217
                default:
218
                    commentHightlightMarkerLength  = matchCommentHighlightMarker(buffer, offset, stopOffset);
219
                	if (commentHightlightMarkerLength != -1) {
220
                	    state = ISI_LINE_COMMENT_MARKER;
221
                	    return JavaTokenContext.LINE_COMMENT;
222
                	}
223
// </> Issue 50774
209
                }
224
                }
210
                break;
225
                break;
211
226
227
// <> Issue 50774
228
            case ISI_LINE_COMMENT_MARKER:
229
                offset += commentHightlightMarkerLength;
230
                state = ISI_LINE_COMMENT;
231
                return JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER;
232
// </> Issue 50774
233
212
            case ISI_BLOCK_COMMENT:
234
            case ISI_BLOCK_COMMENT:
213
                switch (actChar) {
235
                switch (actChar) {
214
                case '*':
236
                case '*':
Lines 1328-1332 Link Here
1328
                return null;
1350
                return null;
1329
        }
1351
        }
1330
    }
1352
    }
1331
1353
// <> Issue 50774
1354
    /*
1355
     * Cloning logic syle of matchKeyword.
1356
     * I'm cheating here by doing look ahead on the buffer
1357
     * This is most likely not legal in general, but I'm checking boundary conditions.
1358
     * We just need to make sure that the tokens we check for do not have \n really.
1359
     */
1360
    public static int matchCommentHighlightMarker(char[] buffer, int start, int endOfBuffer) {
1361
         // "TODO".length()
1362
        if (start + 4 <= endOfBuffer) {
1363
            if (buffer[start++] == 'T' && buffer[start++] == 'O' && buffer[start++] == 'D' && buffer[start++] == 'O') {
1364
                return 4;
1365
            }
1366
        }
1367
        return -1;
1368
    }
1369
// </> Issue 50774
1332
}
1370
}
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaSyntaxSupport.java (+6 lines)
Lines 55-65 Link Here
55
55
56
    private static final TokenID[] COMMENT_TOKENS = new TokenID[] {
56
    private static final TokenID[] COMMENT_TOKENS = new TokenID[] {
57
                JavaTokenContext.LINE_COMMENT,
57
                JavaTokenContext.LINE_COMMENT,
58
// <> Issue 50774
59
                JavaTokenContext.LINE_COMMENT,
60
// </> Issue 50774
58
                JavaTokenContext.BLOCK_COMMENT
61
                JavaTokenContext.BLOCK_COMMENT
59
            };
62
            };
60
63
61
    private static final TokenID[] BRACKET_SKIP_TOKENS = new TokenID[] {
64
    private static final TokenID[] BRACKET_SKIP_TOKENS = new TokenID[] {
62
                JavaTokenContext.LINE_COMMENT,
65
                JavaTokenContext.LINE_COMMENT,
66
// <> Issue 50774
67
                JavaTokenContext.LINE_COMMENT,
68
// </> Issue 50774
63
                JavaTokenContext.BLOCK_COMMENT,
69
                JavaTokenContext.BLOCK_COMMENT,
64
                JavaTokenContext.CHAR_LITERAL,
70
                JavaTokenContext.CHAR_LITERAL,
65
                JavaTokenContext.STRING_LITERAL
71
                JavaTokenContext.STRING_LITERAL
(-)editor/libsrc/org/netbeans/editor/ext/java/JavaTokenContext.java (-1 / +11 lines)
Lines 42-48 Link Here
42
    public static final int WHITESPACE_ID         = ERRORS_ID + 1;
42
    public static final int WHITESPACE_ID         = ERRORS_ID + 1;
43
    public static final int IDENTIFIER_ID         = WHITESPACE_ID + 1;
43
    public static final int IDENTIFIER_ID         = WHITESPACE_ID + 1;
44
    public static final int LINE_COMMENT_ID       = IDENTIFIER_ID + 1;
44
    public static final int LINE_COMMENT_ID       = IDENTIFIER_ID + 1;
45
    public static final int BLOCK_COMMENT_ID      = LINE_COMMENT_ID + 1;
45
// <> Issue 50774
46
    public static final int LINE_COMMENT_HIGHLIGHT_MARKER_ID = LINE_COMMENT_ID + 1;
47
    public static final int BLOCK_COMMENT_ID      = LINE_COMMENT_HIGHLIGHT_MARKER_ID + 1;
48
//    public static final int BLOCK_COMMENT_ID      = LINE_COMMENT_ID + 1;
49
// </> Issue 50774
46
    public static final int CHAR_LITERAL_ID       = BLOCK_COMMENT_ID + 1;
50
    public static final int CHAR_LITERAL_ID       = BLOCK_COMMENT_ID + 1;
47
    public static final int STRING_LITERAL_ID     = CHAR_LITERAL_ID + 1;
51
    public static final int STRING_LITERAL_ID     = CHAR_LITERAL_ID + 1;
48
    public static final int INT_LITERAL_ID        = STRING_LITERAL_ID + 1;
52
    public static final int INT_LITERAL_ID        = STRING_LITERAL_ID + 1;
Lines 207-212 Link Here
207
    public static final BaseTokenID LINE_COMMENT
211
    public static final BaseTokenID LINE_COMMENT
208
    = new BaseTokenID("line-comment", LINE_COMMENT_ID); // NOI18N
212
    = new BaseTokenID("line-comment", LINE_COMMENT_ID); // NOI18N
209
213
214
// <> Issue 50774
215
    /** Comment with the '// TODO' prefix */
216
    public static final BaseTokenID LINE_COMMENT_HIGHLIGHT_MARKER
217
    = new BaseTokenID("line-comment-highlight-marker", LINE_COMMENT_HIGHLIGHT_MARKER_ID);
218
// </> Issue 50774
219
210
    /** Block comment */
220
    /** Block comment */
211
    public static final BaseTokenID BLOCK_COMMENT
221
    public static final BaseTokenID BLOCK_COMMENT
212
    = new BaseTokenID("block-comment", BLOCK_COMMENT_ID); // NOI18N
222
    = new BaseTokenID("block-comment", BLOCK_COMMENT_ID); // NOI18N
(-)editor/src/org/netbeans/modules/editor/java/BracketCompletion.java (-1 / +5 lines)
Lines 112-118 Link Here
112
            if (token.getTokenID() == JavaTokenContext.LPAREN) {
112
            if (token.getTokenID() == JavaTokenContext.LPAREN) {
113
                if (parDepth == 0) { // could be a 'for ('
113
                if (parDepth == 0) { // could be a 'for ('
114
                    token = token.getPrevious();
114
                    token = token.getPrevious();
115
                    while(token !=null && (token.getTokenID() == JavaTokenContext.WHITESPACE || token.getTokenID() == JavaTokenContext.BLOCK_COMMENT || token.getTokenID() == JavaTokenContext.LINE_COMMENT)) {
115
                    while(token !=null && (token.getTokenID() == JavaTokenContext.WHITESPACE || token.getTokenID() == JavaTokenContext.BLOCK_COMMENT || token.getTokenID() == JavaTokenContext.LINE_COMMENT
116
// <> Issue 50774
117
                            || token.getTokenID() == JavaTokenContext.LINE_COMMENT_HIGHLIGHT_MARKER
118
// </> Issue 50774
119
                            )) {
116
                        token = token.getPrevious();
120
                        token = token.getPrevious();
117
                    }
121
                    }
118
                    if (token.getTokenID() == JavaTokenContext.FOR) {
122
                    if (token.getTokenID() == JavaTokenContext.FOR) {

Return to bug 50774