tools/JavaLintHighlighter.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 09 Aug 2022 14:33:27 +0100
changeset 4012 117835eb9839
parent 3412 df11bb428463
child 3758 0d6b36eb3b24
permissions -rw-r--r--
Remove Mauve tests See previous commit for explanation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
              All Rights Reserved
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 hereby transferred.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ Package: 'stx:libjava/tools' }"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
Object subclass:#JavaLintHighlighter
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    15
	instanceVariableNames:'class problems annotations formattingMethod emphasisError
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
		emphasisInformation emphasisWarning'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	classVariableNames:''
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	poolDictionaries:''
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	category:'Languages-Java-Tools-Editor-Lint'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!JavaLintHighlighter class methodsFor:'documentation'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
copyright
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
 COPYRIGHT (c) 2006 by eXept Software AG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
              All Rights Reserved
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
 This software is furnished under a license and may be used
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
 only in accordance with the terms of that license and with the
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
 be provided or otherwise made available to, or used by, any
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
 other person.  No title to or ownership of the software is
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
 hereby transferred.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!JavaLintHighlighter methodsFor:'accessing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
annotations
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    ^ annotations
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    42
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    43
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    44
problems
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    45
    ^ problems
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    46
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    47
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    48
problems:aCollection
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    49
    self reset.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    50
    problems := aCollection.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    51
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    52
    "Modified: / 07-08-2014 / 00:49:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!JavaLintHighlighter methodsFor:'accessing-emphasis'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
emphasisForError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    emphasisError isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
        warnColor := Color red.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
        emphasisError := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
            "/with: #backgroundColor -> warnColor lightened lightened 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
            with: #underlineColor -> warnColor                    
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    ^emphasisError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    "Created: / 05-08-2011 / 09:31:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    "Modified: / 08-03-2012 / 03:00:51 / cg"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "Modified: / 20-04-2012 / 18:29:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
emphasisForInformation
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    emphasisInformation isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        warnColor := Color blue lighter.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        emphasisInformation := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
            "/with: #backgroundColor -> warnColor lightened lightened
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
            with: #underlineColor -> warnColor                    
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
    ^emphasisInformation
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "Created: / 05-08-2011 / 09:31:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    "Modified: / 08-03-2012 / 03:01:22 / cg"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "Modified: / 20-04-2012 / 18:29:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
emphasisForProblem: problem
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    ^problem isError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
        ifTrue:[self emphasisForError]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
        ifFalse:[self emphasisForWarning].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    "Created: / 15-04-2013 / 23:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
emphasisForWarning
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    emphasisWarning isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
        warnColor := (Color redByte: 224 greenByte: 200 blueByte: 45).
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
        emphasisWarning := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
            "/with: #backgroundColor -> warnColor lightened lightened
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
            with: #underlineColor -> warnColor                  
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
    ^emphasisWarning
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    "Created: / 05-08-2011 / 09:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    "Modified: / 08-03-2012 / 03:00:19 / cg"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    "Modified: / 20-04-2012 / 18:29:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
!JavaLintHighlighter methodsFor:'formatting'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
formatClassDefinition:source in:jclass
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    class := jclass.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    "Created: / 04-08-2011 / 23:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
    "Modified: / 15-04-2013 / 23:27:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
formatClassDefinition:source in:jclass elementsInto: elements
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    class := jclass.
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   131
    (problems isNil and:[elements notNil]) ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   132
        | tree |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   133
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   134
        tree := elements perform: #tree ifNotUnderstood: [ nil ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   135
        tree notNil ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   136
            self reset.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   137
            problems := tree compilationResult problems.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   138
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   139
    ].
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   143
    "Modified: / 07-08-2014 / 00:38:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
3226
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   146
formatClassDefinition: code line: line number: lineNr in: cls
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   147
    ^ code
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   148
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   149
    "Created: / 12-08-2014 / 13:34:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   150
!
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   151
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
formatExpression:source in:jclass
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    "Created: / 04-08-2011 / 23:45:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    "Modified: / 15-04-2013 / 23:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
formatExpression:source in:jclass elementsInto: elements
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   162
    (problems isNil and:[elements notNil]) ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   163
        | tree |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   164
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   165
        tree := elements perform: #tree ifNotUnderstood: [ nil ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   166
        tree notNil ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   167
            self reset.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   168
            problems := tree compilationResult problems.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   169
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   170
    ].   
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    "Created: / 04-08-2011 / 23:43:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   174
    "Modified: / 07-08-2014 / 00:39:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
formatMethod:mth source:source in:jclass using: preferences
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    class := jclass.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    "Created: / 04-08-2011 / 23:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
    "Modified: / 15-04-2013 / 23:28:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
formatMethod:mth source:source in:jclass using: preferences elementsInto: elements
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    class := jclass.
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   189
    (problems isNil and:[elements notNil]) ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   190
        | tree |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   191
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   192
        tree := elements perform: #tree ifNotUnderstood: [ nil ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   193
        tree notNil ifTrue: [
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   194
            self reset.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   195
            problems := tree compilationResult problems.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   196
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   197
    ].   
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    "Created: / 04-08-2011 / 23:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   201
    "Modified: / 07-08-2014 / 00:39:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3226
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   202
!
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   203
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   204
formatMethod:mthd source:newCode line: line number: lnr in:cls using:syntaxPreferences
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   205
    ^ newCode
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   206
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   207
    "Created: / 12-08-2014 / 13:31:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
!JavaLintHighlighter methodsFor:'formatting-private'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   212
format: text 
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   213
    "/ Fetch problems from Java parse tree
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   214
    ^ problems notEmptyOrNil 
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   215
        ifTrue: [ self format: text problems: problems ]
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   216
        ifFalse: [ text ]
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
    "Created: / 04-08-2011 / 23:51:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   219
    "Modified: / 07-08-2014 / 00:36:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
format: source problem: problem
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
    | start stop |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    start := problem getSourceStart.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    stop := problem getSourceEnd.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    ((start between: 0 and: source size - 1) and:[(stop between: 0 and: source size - 1)]) ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
        self mark: source from: start + 1 to: stop + 1 for: problem.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    "Created: / 15-04-2013 / 22:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "Modified: / 15-04-2013 / 23:36:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
format: givenSource problems: problems
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    "Highlight a list of problems in givenSource.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
     Return a copy of the text if there is at least one problem"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    | source |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    problems isEmptyOrNil ifTrue:[ ^ givenSource ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    source := givenSource deepCopy.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
    problems do:[:problem|
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   246
        "/ `problem` may be nil, the reporter allocates
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   247
        "/ larger array ot avoid reallocation each time a
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   248
        "/ problem is added. We do not trim the array to avoid
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   249
        "/ extra array creation
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   250
        problem notNil ifTrue:[
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   251
            self format: source problem: problem.
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   252
        ].
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    ^source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    "Created: / 15-04-2013 / 22:11:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   257
    "Modified: / 04-10-2013 / 10:45:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
!JavaLintHighlighter methodsFor:'initialization'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
reset
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   263
    problems := nil.
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    annotations := OrderedCollection new.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
    "Created: / 18-02-2012 / 22:54:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   267
    "Modified: / 07-08-2014 / 00:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
!JavaLintHighlighter methodsFor:'markup'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
mark: text from: start to: end for: problem
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    | emphasis |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    emphasis := self emphasisForProblem: problem.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    text emphasisFrom: start to: end add: emphasis.     
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
    annotations add:
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
        (JavaLintAnnotation from: start to: end problem: problem)
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    "Created: / 30-01-2012 / 15:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    "Modified: / 16-09-2013 / 10:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   282
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   283
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   284
unmark: text from: start to: end
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   285
    "Remove all problem emphasis from text"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   286
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   287
    text emphasisFrom: start to: end remove: #underwave.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   288
    text emphasisFrom: start to: end remove: #underlineColor.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   289
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   290
    "Created: / 07-08-2014 / 01:24:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
!JavaLintHighlighter class methodsFor:'documentation'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
version_CVS
3412
df11bb428463 Merged with mercurial revision 4f3cc813be4 (8 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3360
diff changeset
   296
    ^ '$Header: /cvs/stx/stx/libjava/tools/JavaLintHighlighter.st,v 1.2 2015-03-20 13:29:52 vrany Exp $'
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
version_HG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    ^ '$Changeset: <not expanded> $'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303