tools/JavaLintHighlighter.st
author mawalch
Wed, 23 Aug 2017 11:50:54 +0200
branchcvs_MAIN
changeset 3758 0d6b36eb3b24
parent 3412 df11bb428463
permissions -rw-r--r--
#OTHER by mawalch Spelling fix.
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
3758
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
    14
"{ NameSpace: Smalltalk }"
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
    15
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
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
    17
	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
    18
		emphasisInformation emphasisWarning'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	classVariableNames:''
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	poolDictionaries:''
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	category:'Languages-Java-Tools-Editor-Lint'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!
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
!JavaLintHighlighter class methodsFor:'documentation'!
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
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
 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
    29
              All Rights Reserved
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
 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
    32
 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
    33
 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
    34
 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
    35
 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
    36
 hereby transferred.
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
! !
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
!JavaLintHighlighter methodsFor:'accessing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
annotations
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    ^ 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
    44
!
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
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
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
    47
    ^ 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
    48
!
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
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
    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
    52
    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
    53
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
    54
    "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
    55
! !
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
!JavaLintHighlighter methodsFor:'accessing-emphasis'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
emphasisForError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    emphasisError isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        warnColor := Color red.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
        emphasisError := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
            "/with: #backgroundColor -> warnColor lightened lightened 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
            with: #underlineColor -> warnColor                    
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
    ^emphasisError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "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
    72
    "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
    73
    "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
    74
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
emphasisForInformation
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    emphasisInformation isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
        warnColor := Color blue lighter.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
        emphasisInformation := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
            "/with: #backgroundColor -> warnColor lightened lightened
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
            with: #underlineColor -> warnColor                    
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
    ^emphasisInformation
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "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
    89
    "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
    90
    "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
    91
!
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
emphasisForProblem: problem
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    ^problem isError
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
        ifTrue:[self emphasisForError]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
        ifFalse:[self emphasisForWarning].
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
    "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
   100
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
emphasisForWarning
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    |warnColor|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    emphasisWarning isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
        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
   107
        emphasisWarning := Array 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
            "/with: #backgroundColor -> warnColor lightened lightened
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
            with: #underwave 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
            with: #underlineColor -> warnColor                  
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
    ^emphasisWarning
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    "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
   115
    "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
   116
    "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
   117
! !
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
!JavaLintHighlighter methodsFor:'formatting'!
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
formatClassDefinition:source in:jclass
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    class := jclass.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    "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
   127
    "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
   128
!
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
formatClassDefinition:source in:jclass elementsInto: elements
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    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
   133
    (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
   134
        | 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
   135
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
        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
   137
        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
   138
            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
   139
            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
   140
        ].
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
   141
    ].
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "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
   145
    "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
   146
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
3226
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   148
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
   149
    ^ code
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
    "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
   152
!
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   153
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
formatExpression:source in:jclass
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
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
    "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
   159
    "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
   160
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
formatExpression:source in:jclass elementsInto: elements
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
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
   164
    (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
   165
        | 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
   166
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
        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
   168
        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
   169
            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
   170
            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
   171
        ].
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
   172
    ].   
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    "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
   176
    "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
   177
!
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
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
   180
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    class := jclass.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    "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
   185
    "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
   186
!
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
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
   189
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    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
   191
    (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
   192
        | 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
   193
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
        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
   195
        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
   196
            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
   197
            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
   198
        ].
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
   199
    ].   
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    ^ self format: source
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
    "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
   203
    "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
   204
!
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   205
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   206
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
   207
    ^ newCode
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   208
36c8ea432a7c Fixes in syntax hibglighting - add support for line-based highlighting
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   209
    "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
   210
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
!JavaLintHighlighter methodsFor:'formatting-private'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   214
format: text 
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   215
    "/ Fetch problems from Java parse tree
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   216
    ^ problems notEmptyOrNil 
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   217
        ifTrue: [ self format: text problems: problems ]
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   218
        ifFalse: [ text ]
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    "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
   221
    "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
   222
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
format: source problem: problem
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    | start stop |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
    start := problem getSourceStart.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    stop := problem getSourceEnd.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    ((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
   231
        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
   232
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
    "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
   236
    "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
   237
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
format: givenSource problems: problems
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
    "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
   241
     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
   242
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    | source |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
    problems isEmptyOrNil ifTrue:[ ^ givenSource ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    source := givenSource deepCopy.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    problems do:[:problem|
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   248
        "/ `problem` may be nil, the reporter allocates
3758
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
   249
        "/ larger array to avoid reallocation each time a
2789
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   250
        "/ 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
   251
        "/ extra array creation
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   252
        problem notNil ifTrue:[
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   253
            self format: source problem: problem.
e6109bd7dfd2 Problem highlighting optimization/cleanup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   254
        ].
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
    ].
3758
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
   256
    ^ source
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    "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
   259
    "Modified: / 04-10-2013 / 10:45:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3758
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
   260
    "Modified (format): / 23-08-2017 / 11:49:32 / mawalch"
2734
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
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
!JavaLintHighlighter methodsFor:'initialization'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
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
   266
    problems := nil.
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
    annotations := OrderedCollection new.
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
    "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
   270
    "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
   271
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
!JavaLintHighlighter methodsFor:'markup'!
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
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
   276
    | emphasis |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
    emphasis := self emphasisForProblem: problem.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    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
   280
    annotations add:
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
        (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
   282
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    "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
   284
    "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
   285
!
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
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
   288
    "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
   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
    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
   291
    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
   292
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
   293
    "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
   294
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
!JavaLintHighlighter class methodsFor:'documentation'!
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
version_CVS
3758
0d6b36eb3b24 #OTHER by mawalch
mawalch
parents: 3412
diff changeset
   299
    ^ '$Header$'
2734
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
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
version_HG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    ^ '$Changeset: <not expanded> $'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306