Tools__TagList.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 17276 213d590bcf54
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2002 by eXept Software AG 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
List subclass:#TagList
13342
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
    17
	instanceVariableNames:'rawList filteredList filter tagsValidForFile sortCriteria groupBy
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
    18
		showOnly flags tagTypesPresent usingDefaultCTags ctagsCommand
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
    19
		ctagsIsExCtags ctagsIsExCtags5x remoteTarget'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:'Sorted CachedTagListsPerFile DefaultSortCriteria DefaultShowOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		TagsSuffixes DefaultGroupBy'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	poolDictionaries:''
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
	category:'Interface-Tools-File-Tags'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!TagList class methodsFor:'documentation'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
copyright
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 COPYRIGHT (c) 2002 by eXept Software AG 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	      All Rights Reserved
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 This software is furnished under a license and may be used
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 only in accordance with the terms of that license and with the
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 inclusion of the above copyright notice.   This software may not
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 be provided or otherwise made available to, or used by, any
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 other person.  No title to or ownership of the software is
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 hereby transferred.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
"
10054
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    42
!
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    43
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    44
documentation
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    45
"
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    46
    a list of tags as read & generated from parsing a source file.
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    47
    For some languages, naive parsing is supported right here;
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    48
    for other languages, external tools (ctags) are used.
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    49
    The tags are used bz the tagList or to navigate quickly to some
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    50
    function in the C-browser.
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
    51
"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
14482
9619e73d4dfd class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14481
diff changeset
    54
!TagList class methodsFor:'accessing - suffixes'!
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
tagsSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
"flush with:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
TagsSuffixes := nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    TagsSuffixes notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
        ^ TagsSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    TagsSuffixes := IdentityDictionary new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    TagsSuffixes at:#'text/asm'                 put:#( 's' 'asm' ).
14482
9619e73d4dfd class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14481
diff changeset
    66
    TagsSuffixes at:#'text/c'                   put:#( 'c' 'h' 'ci' 'hi' 'sc' 'sth').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    TagsSuffixes at:#'text/cpp'                 put:#( 'cc' 'cpp' 'cxx' 'c++' 'hxx' 'hpp' 'h++').
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
    68
    TagsSuffixes at:#'text/x-objcsrc'           put:#( 'm').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    TagsSuffixes at:#'text/eiffel'              put:#( 'e' 'eif' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    TagsSuffixes at:#'text/fortran'             put:#( 'f' 'for' 'ftn' 'f77' 'f90' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    TagsSuffixes at:#'text/html'                put:#( 'htm' 'html').
14482
9619e73d4dfd class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14481
diff changeset
    72
    TagsSuffixes at:#'text/java'                put:#( 'java' 'jav' 'j').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    TagsSuffixes at:#'text/javaScript'          put:#( 'js' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    TagsSuffixes at:#'text/javascript'          put:#( 'js' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    TagsSuffixes at:#'application/x-javascript' put:#( 'js' ).
11766
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
    76
    TagsSuffixes at:#'text/dart'                put:#( 'dart' ).
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
    77
    TagsSuffixes at:#'application/x-dart'       put:#( 'dart' ).
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    TagsSuffixes at:#'text/make'                put:#( 'makefile' 'make.proto' 'makefile.*' '*.mak' '*.bpr').
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    TagsSuffixes at:#'text/prolog'              put:#( 'pl' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    TagsSuffixes at:#'text/python'              put:#( 'py' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    TagsSuffixes at:#'text/php'                 put:#( 'php' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    TagsSuffixes at:#'text/lisp'                put:#( 'lisp' 'el' 'lsp' 'cl').
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    TagsSuffixes at:#'text/lisp-arc'            put:#( 'arc' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    TagsSuffixes at:#'text/scheme'              put:#( 'scm' 'ss' 'brg').
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    TagsSuffixes at:#'text/oz'                  put:#( 'oz').
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
    86
    TagsSuffixes at:#'text/lua'                 put:#( 'lua').
16181
9e83ee1fd175 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 16142
diff changeset
    87
    TagsSuffixes at:#'text/smalltalk'           put:#( 'st' 'ST' 'St' 'Prj').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    TagsSuffixes at:#'text/tcl'                 put:#( 'tcl' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    TagsSuffixes at:#'text/ruby'                put:#( 'rb' ).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    TagsSuffixes at:#'text/yacc'                put:#( 'y' ).
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
    91
    TagsSuffixes at:#'text/batch'               put:#( 'bat' ).
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
    92
    TagsSuffixes at:#'text/xml-xsd'             put:#( 'xsd' ).
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^ TagsSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
    95
    "Modified: / 28-09-2012 / 14:48:25 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
!TagList class methodsFor:'defaults'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
arcLispSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    "returns a list of supported arc-lisp-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    ^ self tagsSuffixes at:#'text/lisp-arc'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
assemblerSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    "returns a list of supported assembler-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    ^ self tagsSuffixes at:#'text/asm'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   112
batchSuffixes
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   113
    "returns a list of supported batchfile-suffixes
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   114
    "
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   115
    ^ self tagsSuffixes at:#'text/batch'
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   116
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   117
    "Created: / 28-09-2012 / 14:48:41 / cg"
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   118
!
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   119
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
cPlusPlusSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "returns a list of supported c-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    ^ self tagsSuffixes at:#'text/cpp'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
cSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    "returns a list of supported c-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    ^ self tagsSuffixes at:#'text/c'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
commonLispSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    "returns a list of supported common-lisp-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    ^ self tagsSuffixes at:#'text/lisp'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
11766
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   138
dartSuffixes
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   139
    "returns a list of supported dart-suffixes"
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   140
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   141
    ^ self tagsSuffixes at:#'text/dart'
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   142
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   143
    "Created: / 22-08-2012 / 21:01:32 / cg"
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   144
!
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   145
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
eiffelSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    "returns a list of supported eiffel-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    ^ self tagsSuffixes at:#'text/eiffel'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
fortranSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "returns a list of supported fortran-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    ^ self tagsSuffixes at:#'text/fortran'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
htmlSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    "returns a list of supported html-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    ^ self tagsSuffixes at:#'text/html'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    "Created: / 20-04-2011 / 19:03:39 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
isTagSearchableSuffix:aSuffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    "returns true, if aSuffix looks ok for ctags
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    self tagsSuffixes keysAndValuesDo:[:tag :suffixes |
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
        (suffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
"/    (self cSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
"/    (self javaSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
"/    (self fortranSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
"/    (self eiffelSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
"/    (self commonLispSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
"/    (self schemeSuffixes includes:aSuffix) ifTrue:[^ true].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
    ^ false
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
javaScriptSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "returns a list of supported javaScript-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    ^ self tagsSuffixes at:#'text/javaScript'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    "Created: / 28-06-2010 / 12:44:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
javaSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    "returns a list of supported java-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    ^ self tagsSuffixes at:#'text/java'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   195
luaSuffixes
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   196
    "returns a list of supported lua-suffixes
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   197
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   198
    ^ self tagsSuffixes at:#'text/lua'
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   199
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   200
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
makeFilePatterns
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    "returns a list of makefile match patterns
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    ^ self tagsSuffixes at:#'text/make'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   207
objcSuffixes
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   208
    "returns a list of supported c-suffixes"
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   209
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   210
    ^ self tagsSuffixes at:#'text/x-objcsrc'
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   211
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   212
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
ozSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    "returns a list of supported oz-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
    ^ self tagsSuffixes at:#'text/oz'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
phpSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    "returns a list of supported php-suffixes"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    ^ self tagsSuffixes at:#'text/php'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
10840
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   225
pltSchemeLispSuffixes
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   226
    ^ #('plt')
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   227
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   228
    "Created: / 21-10-2011 / 09:32:20 / cg"
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   229
!
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   230
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
prologSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    "returns a list of supported prolog-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    ^ self tagsSuffixes at:#'text/prolog'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
pythonSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    "returns a list of supported python-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    ^ self tagsSuffixes at:#'text/python'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
10840
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   243
racketSchemeLispSuffixes
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   244
    ^ #('rkt')
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   245
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   246
    "Created: / 21-10-2011 / 09:32:27 / cg"
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   247
!
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   248
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
rubySuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    "returns a list of supported ruby-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    ^ self tagsSuffixes at:#'text/ruby'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
schemeSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "returns a list of supported scheme-lisp-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    ^ self tagsSuffixes at:#'text/scheme'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
smalltalkSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    "returns a list of supported smalltalk-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    ^ self tagsSuffixes at:#'text/smalltalk'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
tclSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    "returns a list of supported tcl-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    ^ self tagsSuffixes at:#'text/tcl'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   273
xsdSuffixes
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   274
    "returns a list of supported xsd-suffixes
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   275
    "
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   276
    ^ self tagsSuffixes at:#'text/xml-xsd'
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   277
!
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   278
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
yaccSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    "returns a list of supported yacc-suffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    ^ self tagsSuffixes at:#'text/yacc'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
!TagList class methodsFor:'queries'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
isArcLispSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    ^ self isSuffix:suffix in:self arcLispSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
isAssemblerSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ^ self isSuffix:suffix in:self assemblerSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   295
isBatchSuffix:suffix
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   296
    ^ self isSuffix:suffix in:self batchSuffixes
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   297
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   298
    "Created: / 28-09-2012 / 14:47:43 / cg"
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   299
!
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
   300
14481
f8e15bdb866b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14479
diff changeset
   301
isCOrCPlusPlusSuffix:suffix
f8e15bdb866b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14479
diff changeset
   302
    ^ (self isCSuffix:suffix) or:[self isCPlusPlusSuffix:suffix]
f8e15bdb866b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14479
diff changeset
   303
!
f8e15bdb866b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14479
diff changeset
   304
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
isCPlusPlusSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    ^ self isSuffix:suffix in:self cPlusPlusSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
isCSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    ^ self isSuffix:suffix in:self cSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
isCommonLispSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    ^ self isSuffix:suffix in:self commonLispSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
11766
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   317
isDartSuffix:suffix
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   318
    ^ self isSuffix:suffix in:self dartSuffixes
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   319
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   320
    "Created: / 22-08-2012 / 21:01:10 / cg"
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   321
!
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
   322
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
isEiffelSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    ^ self isSuffix:suffix in:self eiffelSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
isFortranSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    ^ self isSuffix:suffix in:self fortranSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
isHTMLSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    ^ self isSuffix:suffix in:self htmlSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    "Created: / 20-04-2011 / 19:03:26 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
isJavaScriptSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    ^ self isSuffix:suffix in:self javaScriptSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    "Created: / 28-06-2010 / 12:44:47 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
isJavaSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    ^ self isSuffix:suffix in:self javaSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
isLispSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    ^ (self isCommonLispSuffix:suffix) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    or:[(self isSchemeSuffix:suffix)
10840
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   350
    or:[(self isArcLispSuffix:suffix)
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   351
    or:[(self isPltSchemeLispSuffix:suffix)
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   352
    or:[(self isRacketSchemeLispSuffix:suffix)]]]]
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   353
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   354
    "Modified: / 21-10-2011 / 09:31:30 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   357
isLuaSuffix:suffix
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   358
    ^ self isSuffix:suffix in:self luaSuffixes
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   359
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
   360
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
isMakefileName:fileName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    |lcName|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
    lcName := fileName asFilename baseName asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    self makeFilePatterns do:[:aPattern |
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
        (aPattern match:lcName) ifTrue:[ ^ true ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
    ^ false
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   371
isObjcSuffix:suffix
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   372
    ^ self isSuffix:suffix in:self objcSuffixes
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   373
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
   374
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
isOzSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    ^ self isSuffix:suffix in:self ozSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
isPhpSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
    ^ self isSuffix:suffix in:self phpSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
10840
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   383
isPltSchemeLispSuffix:suffix
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   384
    ^ self isSuffix:suffix in:self pltSchemeLispSuffixes
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   385
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   386
    "Created: / 21-10-2011 / 09:30:56 / cg"
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   387
!
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   388
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
isPrologSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    ^ self isSuffix:suffix in:self prologSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
isPythonSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
    ^ self isSuffix:suffix in:self pythonSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
10840
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   397
isRacketSchemeLispSuffix:suffix
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   398
    ^ self isSuffix:suffix in:self racketSchemeLispSuffixes
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   399
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   400
    "Created: / 21-10-2011 / 09:31:04 / cg"
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   401
!
2f6d0959c40b added:5 methods
Claus Gittinger <cg@exept.de>
parents: 10054
diff changeset
   402
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
isRubySuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    ^ self isSuffix:suffix in:self rubySuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
isSchemeSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    ^ self isSuffix:suffix in:self schemeSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
isSmalltalkSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    ^ self isSuffix:suffix in:self smalltalkSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
isTCLSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    ^ self isSuffix:suffix in:self tclSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   419
isXSDSuffix:suffix
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   420
    ^ self isSuffix:suffix in:self xsdSuffixes
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   421
!
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
   422
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
isYaccSuffix:suffix
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    ^ self isSuffix:suffix in:self yaccSuffixes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
!TagList class methodsFor:'queries basic'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
isSuffix:suffix in:patterns
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
    |lcSuffix|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
    lcSuffix := suffix asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
    ^ patterns contains:[:pattern | pattern match:lcSuffix].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
tagMimeTypeForFile:aFile
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    "returns the tag-mimetype for a file or nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    |suff file list name mimeMake|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    aFile isNil ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    file := aFile asFilename.
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   444
    suff := file suffix.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    suff size ~~ 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
        suff := suff asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
        (suff = 'bak' or:[suff = 'sav']) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
            file := file asFilename withoutSuffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
            suff := file suffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
            suff size ~~ 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
                suff := suff asLowercase
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    list := self tagsSuffixes.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
    " hack to test for make-file patterns "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
    name := file baseName asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
    mimeMake := #'text/make'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
    ((list at:mimeMake) contains:[:pattern | pattern match:name]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
        ^ mimeMake
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
    self tagsSuffixes keysAndValuesDo:[:mimeType :suffixes|
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   468
        (suffixes includes:suff) ifTrue:[ 
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   469
            ^ mimeType 
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   470
        ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   472
    ^ aFile asFilename mimeTypeOfContents
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
   473
    "/ ^ nil
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
!TagList class methodsFor:'tag generation'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
cachedTagsFromFile:aFilename in:aTempDirectory
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
    "retrieve a cached tagList for a file"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
    |tagList cached fileTime suffix|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
    fileTime := aFilename modificationTime.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
    CachedTagListsPerFile isNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
        CachedTagListsPerFile := Dictionary new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
    cached := CachedTagListsPerFile at:aFilename ifAbsent:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
    cached notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
        fileTime > cached tagTimestamp ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
            ^ cached tagList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
    suffix := aFilename suffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
"/    ((self isCSuffix:suffix) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
"/    or:[(self isJavaSuffix:suffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
"/    or:[(self isFortranSuffix:suffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
"/    or:[(self isEiffelSuffix:suffix)]]])
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
"/    ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
"/        ^ #()
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
"/    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
    tagList := self new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    tagList showOnly:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
    tagList fromFile:aFilename in:aTempDirectory.
14442
74c7fa45f57b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14438
diff changeset
   506
    tagList do:[:eachTag | eachTag fileName:aFilename].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    CachedTagListsPerFile at:aFilename put:(CachedTags new tagList:tagList; tagTimestamp:fileTime; yourself).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
    ^ tagList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
    "Modified: / 07-06-2010 / 12:13:25 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
cachedTagsFromFile:aFilename in:aTempDirectory buildTargetHandler:aTargetHandler remote:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
    "retrieve a cached tagList for a file"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
    ^ self cachedTagsFromFile:aFilename in:aTempDirectory.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
flushCachedTags
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
    CachedTagListsPerFile := nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
     self flushCachedTags
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
makeTargetTagsInFile:aMakefilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    "makefile tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
     naive, q&d scan for lines ending with a colon
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
    ^ self makeTargetTagsInFile:aMakefilePath filter:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
makeTargetTagsInFile:aMakefilePath filter:showOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
    "makefile tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
     naive, q&d scan for lines ending with a colon
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    |targets|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    aMakefilePath asFilename contents keysAndValuesDo:[:lnr :line |
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
        |idxColon idxAssign varName target|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
        line size > 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
            line first isSeparator ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
                (line startsWith:$#) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
                    idxAssign := line indexOf:$=.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
                    idxAssign ~~ 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
                        showOnly ~~ #targets ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
                            varName := line copyFrom:1 to:idxAssign - 1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
                            targets add:(Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
                                            label:varName 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
                                            pattern:('/^',varName,'=')
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
                                            type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
                                            lineNumber:lnr)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
                        idxColon := line indexOf:$:.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
                        idxColon ~~ 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
                            target := line copyFrom:1 to:idxColon - 1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
                            "/ ignore macro-targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
                            (target includes:$$) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
                                (target startsWith:$.) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
                                    "/ normal targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
                                    targets add:(Tag::TMakeTarget 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
                                                    label:target 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
                                                    pattern:('/^',target,':')
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
                                                    type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
                                                    lineNumber:lnr)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
                                ] ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
                                    "/ rule-targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
                                    targets add:(Tag::TMakeRule 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
                                                    label:target 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
                                                    pattern:('/^',target,':')
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
                                                    type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
                                                    lineNumber:lnr)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
                                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
                            ] ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
                                "/ rule-targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
                                targets add:(Tag::TMakeTarget 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
                                                label:target 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
                                                pattern:('/^',target,':')
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
                                                type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
                                                lineNumber:lnr)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
                            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
    ^ targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
13631
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   599
!TagList methodsFor:'accessing'!
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   600
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   601
tagTypesPresent:aBoolean
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   602
    tagTypesPresent := aBoolean.
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   603
! !
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
   604
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
!TagList methodsFor:'accessing-filters'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   607
anchorsOnly
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   608
    ^ showOnly == #anchors
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   609
!
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   610
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   611
anchorsOnly:aBoolean
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   612
    showOnly := DefaultShowOnly := nil.
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   613
    aBoolean ifTrue:[
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   614
        showOnly := "DefaultShowOnly :=" #anchors
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   615
    ].
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   616
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   617
    "Created: / 08-05-2011 / 10:11:39 / cg"
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   618
!
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   619
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
classesFunctionsAndVariablesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
    ^ showOnly == #classesFunctionsAndVariables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
    "Modified: / 07-06-2010 / 14:18:09 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
classesFunctionsAndVariablesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
        showOnly := DefaultShowOnly := #classesFunctionsAndVariables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
    "Modified: / 05-05-2011 / 15:21:53 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
classesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
    ^ showOnly == #classes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
    "Modified: / 07-06-2010 / 14:18:12 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
classesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
        showOnly := DefaultShowOnly := #classes
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
    "Modified: / 05-05-2011 / 15:21:56 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   650
dartClassesAndMethodsOnly
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   651
    ^ showOnly == #dartClassesAndMethods
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   652
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   653
    "Modified: / 07-06-2010 / 14:18:25 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   654
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   655
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   656
dartClassesAndMethodsOnly:aBoolean
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   657
    showOnly := nil.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   658
    aBoolean ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   659
        showOnly := DefaultShowOnly := #dartClassesAndMethods
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   660
    ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   661
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   662
    "Modified: / 05-05-2011 / 15:23:25 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   663
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   664
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   665
dartClassesOnly
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   666
    ^ showOnly == #dartClasses
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   667
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   668
    "Modified: / 07-06-2010 / 14:18:28 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   669
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   670
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   671
dartClassesOnly:aBoolean
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   672
    showOnly := nil.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   673
    aBoolean ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   674
        showOnly := DefaultShowOnly := #dartClasses
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   675
    ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   676
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   677
    "Modified: / 05-05-2011 / 15:23:29 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   678
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   679
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   680
dartMethodsOnly
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   681
    ^ showOnly == #dartMethods
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   682
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   683
    "Modified: / 07-06-2010 / 14:18:30 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   684
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   685
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   686
dartMethodsOnly:aBoolean
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   687
    showOnly := nil.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   688
    aBoolean ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   689
        showOnly := DefaultShowOnly := #dartMethods
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   690
    ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   691
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   692
    "Modified: / 05-05-2011 / 15:23:31 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   693
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   694
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
definesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
    ^ showOnly == #defines
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
    "Modified: / 07-06-2010 / 14:18:15 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
definesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
        showOnly := DefaultShowOnly := #defines
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    "Modified: / 05-05-2011 / 15:21:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   710
documentationOnly
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   711
    ^ showOnly == #documentation
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   712
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   713
    "Created: / 08-05-2011 / 10:11:47 / cg"
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   714
!
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   715
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   716
documentationOnly:aBoolean
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   717
    showOnly := DefaultShowOnly := nil.
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   718
    aBoolean ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   719
        showOnly := "DefaultShowOnly :=" #documentation
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   720
    ].
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   721
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   722
    "Created: / 08-05-2011 / 10:11:39 / cg"
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   723
!
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   724
13311
106b5dc6fa0d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13215
diff changeset
   725
filter:aStringOrNil
106b5dc6fa0d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13215
diff changeset
   726
    (filter ? '') ~= (aStringOrNil ? '') ifTrue:[
106b5dc6fa0d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13215
diff changeset
   727
        filter := aStringOrNil.       
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
        rawList notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
            self updateContentsFromRawList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
    "Modified: / 05-05-2011 / 14:43:04 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   736
flagNamed:aSymbol
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   737
    ^ flags at:aSymbol ifAbsent:false
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   738
!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   739
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   740
flagNamed:aSymbol put:aBoolean
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   741
    flags at:aSymbol put:aBoolean
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   742
!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   743
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
functionsAndVariablesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    ^ showOnly == #functionsAndVariables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
    "Modified: / 07-06-2010 / 14:18:05 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
functionsAndVariablesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
        showOnly := DefaultShowOnly := #functionsAndVariables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
    "Modified: / 05-05-2011 / 15:22:01 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
functionsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
    ^ showOnly == #functions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   762
    "Modified: / 07-06-2010 / 14:17:54 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   763
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
functionsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
        showOnly := DefaultShowOnly := #functions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
    "Modified: / 05-05-2011 / 15:22:03 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   774
headlinesOnly
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   775
    ^ showOnly == #headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   776
!
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   777
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   778
headlinesOnly:aBoolean
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   779
    showOnly := DefaultShowOnly := nil.
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   780
    aBoolean ifTrue:[
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   781
        showOnly := "DefaultShowOnly :=" #headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   782
    ].
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   783
!
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
   784
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
hideClasses
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   786
    ^ self flagNamed:#hideClasses
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
hideClasses:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   790
    self flagNamed:#hideClasses put:aBoolean
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
    "Modified: / 05-05-2011 / 15:22:08 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   795
hideDartClasses
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   796
    ^ self flagNamed:#hideDartClasses
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   797
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   798
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   799
hideDartClasses:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   800
    self flagNamed:#hideDartClasses put:aBoolean
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   801
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   802
    "Modified: / 05-05-2011 / 15:22:32 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   803
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   804
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   805
hideDartFields
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   806
    ^ self flagNamed:#hideDartFields
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   807
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   808
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   809
hideDartFields:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   810
    self flagNamed:#hideDartFields put:aBoolean
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   811
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   812
    "Modified: / 05-05-2011 / 15:22:34 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   813
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   814
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   815
hideDartInterfaces
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   816
    ^ self flagNamed:#hideDartInterfaces
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   817
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   818
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   819
hideDartInterfaces:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   820
    self flagNamed:#hideDartInterfaces put:aBoolean
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   821
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   822
    "Modified: / 05-05-2011 / 15:22:38 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   823
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   824
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   825
hideDartMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   826
    ^ self flagNamed:#hideDartMethods
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   827
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   828
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   829
hideDartMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   830
    self flagNamed:#hideDartMethods put:aBoolean.
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   831
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   832
    "Modified: / 05-05-2011 / 15:22:40 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   833
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   834
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   835
hideDartPackages
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   836
    ^ self flagNamed:#hideDartPackages 
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   837
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   838
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   839
hideDartPackages:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   840
    self flagNamed:#hideDartPackages put:aBoolean.
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   841
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   842
    "Modified: / 05-05-2011 / 15:22:41 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   843
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
   844
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
hideDataLabels
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   846
    ^ self flagNamed:#hideDataLabels
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
hideDataLabels:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   850
    self flagNamed:#hideDataLabels put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    "Modified: / 05-05-2011 / 15:22:10 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
hideDefines
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   856
    ^ self flagNamed:#hideDefines 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
hideDefines:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   860
    self flagNamed:#hideDefines put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
    "Modified: / 05-05-2011 / 15:22:12 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   865
hideDocumentation
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   866
    ^ self flagNamed:#hideDocumentation
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   867
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   868
    "Created: / 08-05-2011 / 10:11:02 / cg"
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   869
!
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   870
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   871
hideDocumentation:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   872
    self flagNamed:#hideDocumentation put:aBoolean.
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   873
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   874
    "Created: / 08-05-2011 / 10:11:06 / cg"
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   875
!
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
   876
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   877
hideFunctionProtoTypes
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   878
    ^ self flagNamed:#hideFunctionProtoTypes
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
hideFunctionProtoTypes:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   882
    self flagNamed:#hideFunctionProtoTypes put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
    "Modified: / 05-05-2011 / 15:22:14 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
hideFunctions
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   888
    ^ self flagNamed:#hideFunctions
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
hideFunctions:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   892
    self flagNamed:#hideFunctions put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   893
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
    "Modified: / 05-05-2011 / 15:22:18 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   895
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   897
hideHTMLHeaders
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   898
    ^ self flagNamed:#hideHTMLHeaders 
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   899
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   900
    "Created: / 12-09-2012 / 12:29:45 / cg"
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   901
!
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   902
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   903
hideHTMLHeaders:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   904
    self flagNamed:#hideHTMLHeaders put:aBoolean.
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   905
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   906
    "Created: / 12-09-2012 / 12:29:52 / cg"
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   907
!
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
   908
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
hideHTMLInput
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   910
    ^ self flagNamed:#hideHTMLInput 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    "Created: / 20-04-2011 / 19:01:04 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   913
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
hideHTMLInput:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   916
    self flagNamed:#hideHTMLInput put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
    "Created: / 20-04-2011 / 19:01:32 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
    "Modified: / 05-05-2011 / 15:22:21 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
hideHTMLScript
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   923
    ^ self flagNamed:#hideHTMLScript 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
    "Created: / 20-04-2011 / 19:00:32 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   927
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
hideHTMLScript:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   929
    self flagNamed:#hideHTMLScript put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   930
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
    "Created: / 20-04-2011 / 19:01:32 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
    "Modified: / 05-05-2011 / 15:22:23 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   933
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   934
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   935
hideHTMLTable
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   936
    ^ self flagNamed:#hideHTMLTable
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   937
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   938
    "Created: / 20-04-2011 / 19:01:23 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   939
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   940
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   941
hideHTMLTable:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   942
    self flagNamed:#hideHTMLTable put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   943
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   944
    "Created: / 20-04-2011 / 19:01:48 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   945
    "Modified: / 05-05-2011 / 15:22:26 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   946
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   947
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
hideHTMLTextArea
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   949
    ^ self flagNamed:#hideHTMLTextArea 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   950
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   951
    "Created: / 20-04-2011 / 19:00:55 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   952
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
hideHTMLTextArea:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   955
    self flagNamed:#hideHTMLTextArea put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    "Created: / 20-04-2011 / 19:01:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
    "Modified: / 05-05-2011 / 15:22:28 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   959
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
hideJavaClasses
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   962
    ^ self flagNamed:#hideJavaClasses 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
hideJavaClasses:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   966
    self flagNamed:#hideJavaClasses put:aBoolean
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
    "Modified: / 05-05-2011 / 15:22:32 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
hideJavaFields
14347
8264d8cb85d6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14346
diff changeset
   972
    ^ self flagNamed:#hideJavaFields 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
hideJavaFields:aBoolean
14347
8264d8cb85d6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14346
diff changeset
   976
    self flagNamed:#hideJavaFields put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
    "Modified: / 05-05-2011 / 15:22:34 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
hideJavaInterfaces
14347
8264d8cb85d6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14346
diff changeset
   982
    ^ self flagNamed:#hideJavaInterfaces 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
hideJavaInterfaces:aBoolean
14347
8264d8cb85d6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14346
diff changeset
   986
    self flagNamed:#hideJavaInterfaces put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    "Modified: / 05-05-2011 / 15:22:38 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
hideJavaMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   992
    ^ self flagNamed:#hideJavaMethods
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
hideJavaMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
   996
    self flagNamed:#hideJavaMethods put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
    "Modified: / 05-05-2011 / 15:22:40 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
hideJavaPackages
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1002
    ^ self flagNamed:#hideJavaPackages 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
hideJavaPackages:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1006
    self flagNamed:#hideJavaPackages put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
    "Modified: / 05-05-2011 / 15:22:41 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
14385
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1011
hideLabels
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1012
    ^ self flagNamed:#hideLabels 
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1013
!
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1014
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1015
hideLabels:aBoolean
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1016
    self flagNamed:#hideLabels put:aBoolean.
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1017
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1018
    "Modified: / 05-05-2011 / 15:22:46 / cg"
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1019
!
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  1020
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
hideLispConstants
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1022
    ^ self flagNamed:#hideLispConstants 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1023
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1024
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1025
hideLispConstants:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1026
    self flagNamed:#hideLispConstants put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1027
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1028
    "Modified: / 05-05-2011 / 15:22:46 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
hideLispEvaluations
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1032
    ^ self flagNamed:#hideLispEvaluations 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
hideLispEvaluations:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1036
    self flagNamed:#hideLispEvaluations put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1037
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1038
    "Modified: / 05-05-2011 / 15:22:49 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1039
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
hideLispMacros
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1042
    ^ self flagNamed:#hideLispMacros 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1044
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
hideLispMacros:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1046
    self flagNamed:#hideLispMacros put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1047
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
    "Modified: / 05-05-2011 / 15:22:50 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
hideLispMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1052
    ^ self flagNamed:#hideLispMethods 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
hideLispMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1056
    self flagNamed:#hideLispMethods put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
    "Modified: / 05-05-2011 / 15:22:53 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
hideLocalLabels
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1062
    ^ self flagNamed:#hideLocalLabels 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1063
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
11466
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1065
hideLocalLabels2
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1066
    ^ self flagNamed:#hideLocalLabels2 
11466
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1067
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1068
    "Created: / 24-03-2012 / 23:23:15 / cg"
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1069
!
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1070
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1071
hideLocalLabels2:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1072
    self flagNamed:#hideLocalLabels2 put:aBoolean.
11466
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1073
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1074
    "Modified: / 05-05-2011 / 15:22:54 / cg"
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1075
    "Created: / 24-03-2012 / 23:23:20 / cg"
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1076
!
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  1077
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1078
hideLocalLabels3
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1079
    ^ self flagNamed:#hideLocalLabels3 
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1080
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1081
    "Created: / 13-05-2012 / 11:12:37 / cg"
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1082
!
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1083
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1084
hideLocalLabels3:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1085
    self flagNamed:#hideLocalLabels3 put:aBoolean.
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1086
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1087
    "Modified: / 05-05-2011 / 15:22:54 / cg"
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1088
    "Created: / 13-05-2012 / 11:12:42 / cg"
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1089
!
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  1090
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
hideLocalLabels:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1092
    self flagNamed:#hideLocalLabels put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
    "Modified: / 05-05-2011 / 15:22:54 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1097
hideLuaFunctions
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1098
    ^ self flagNamed:#hideLuaFunctions
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1099
!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1100
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1101
hideLuaFunctions:aBoolean
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1102
    self flagNamed:#hideLuaFunctions put:aBoolean
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1103
!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1104
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1105
hideMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1106
    ^ self flagNamed:#hideMethods 
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1107
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1108
    "Created: / 21-08-2012 / 21:02:24 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1109
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1110
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1111
hideMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1112
    self flagNamed:#hideMethods put:aBoolean.
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1113
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1114
    "Created: / 21-08-2012 / 21:01:38 / cg"
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1115
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  1116
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1117
hideObjcClasses
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1118
    ^ self flagNamed:#hideObjcClasses 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1119
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1120
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1121
hideObjcClasses:aBoolean
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1122
    self flagNamed:#hideObjcClasses put:aBoolean.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1123
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1124
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1125
hideObjcMethods
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1126
    ^ self flagNamed:#hideObjcMethods 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1127
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1128
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1129
hideObjcMethods:aBoolean
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1130
    self flagNamed:#hideObjcMethods put:aBoolean.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1131
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1132
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
hideOzClasses
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1134
    ^ self flagNamed:#hideOzClasses 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1135
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
hideOzClasses:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1138
    self flagNamed:#hideOzClasses put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1139
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
    "Modified: / 05-05-2011 / 15:22:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1141
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1142
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1143
hideOzFunctions
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1144
    ^ self flagNamed:#hideOzFunctions
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1145
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1146
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
hideOzFunctions:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1148
    self flagNamed:#hideOzFunctions put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1149
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
    "Modified: / 05-05-2011 / 15:23:00 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1151
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1152
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1153
hideOzMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1154
    ^ self flagNamed:#hideOzMethods 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1155
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1156
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1157
hideOzMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1158
    self flagNamed:#hideOzMethods put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1159
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1160
    "Modified: / 05-05-2011 / 15:23:02 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1161
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1162
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1163
hidePythonClasses
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1164
    ^ self flagNamed:#hidePythonClasses 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
hidePythonClasses:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1168
    self flagNamed:#hidePythonClasses put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1169
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
    "Modified: / 05-05-2011 / 15:23:05 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
hidePythonFunctions
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1174
    ^ self flagNamed:#hidePythonFunctions 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
hidePythonFunctions:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1178
    self flagNamed:#hidePythonFunctions put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1180
    "Modified: / 05-05-2011 / 15:23:07 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1181
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1182
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1183
hidePythonMethods
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1184
    ^ self flagNamed:#hidePythonMethods 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
hidePythonMethods:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1188
    self flagNamed:#hidePythonMethods put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1190
    "Modified: / 05-05-2011 / 15:23:09 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1192
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1193
hideStatic
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1194
    ^ self flagNamed:#hideStatic 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1195
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1196
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1197
hideStatic:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1198
    self flagNamed:#hideStatic put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1199
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1200
    "Modified: / 05-05-2011 / 15:23:11 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1201
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1202
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1203
hideStructMembers
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1204
    ^ self flagNamed:#hideStructMembers 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1205
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1206
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1207
hideStructMembers:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1208
    self flagNamed:#hideStructMembers put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1209
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1210
    "Modified: / 05-05-2011 / 15:23:15 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1211
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1212
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1213
hideStructures
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1214
    ^ self flagNamed:#hideStructures
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1215
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1216
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1217
hideStructures:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1218
    self flagNamed:#hideStructures put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1219
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1220
    "Modified: / 05-05-2011 / 15:23:17 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1221
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1222
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1223
hideTextLabels
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1224
    ^ self flagNamed:#hideTextLabels 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1225
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1226
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1227
hideTextLabels:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1228
    self flagNamed:#hideTextLabels put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1229
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1230
    "Modified: / 05-05-2011 / 15:23:19 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1231
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1232
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1233
hideTypedefs
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1234
    ^ self flagNamed:#hideTypedefs 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1235
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1236
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1237
hideTypedefs:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1238
    self flagNamed:#hideTypedefs put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1239
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1240
    "Modified: / 05-05-2011 / 15:23:21 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1241
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1242
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1243
hideVariables
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1244
    ^ self flagNamed:#hideVariables 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1245
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1246
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
hideVariables:aBoolean
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1248
    self flagNamed:#hideVariables put:aBoolean.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1249
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1250
    "Modified: / 05-05-2011 / 15:23:23 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1251
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1252
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1253
javaClassesAndMethodsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1254
    ^ showOnly == #javaClassesAndMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1255
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1256
    "Modified: / 07-06-2010 / 14:18:25 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1257
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1258
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1259
javaClassesAndMethodsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1260
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1261
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1262
        showOnly := DefaultShowOnly := #javaClassesAndMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1263
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1264
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1265
    "Modified: / 05-05-2011 / 15:23:25 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1266
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1267
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1268
javaClassesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1269
    ^ showOnly == #javaClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1270
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1271
    "Modified: / 07-06-2010 / 14:18:28 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1272
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1273
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1274
javaClassesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1275
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1276
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1277
        showOnly := DefaultShowOnly := #javaClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1278
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1279
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1280
    "Modified: / 05-05-2011 / 15:23:29 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1281
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1282
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1283
javaMethodsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1284
    ^ showOnly == #javaMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1285
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1286
    "Modified: / 07-06-2010 / 14:18:30 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1287
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1288
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1289
javaMethodsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1290
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1291
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1292
        showOnly := DefaultShowOnly := #javaMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1293
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1294
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1295
    "Modified: / 05-05-2011 / 15:23:31 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1296
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1297
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1298
macrosOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1299
    ^ showOnly == #macros
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1300
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1301
    "Created: / 07-06-2010 / 12:09:22 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1302
    "Modified: / 07-06-2010 / 14:18:33 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1303
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1304
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1305
macrosOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1306
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1307
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1308
        showOnly := DefaultShowOnly := #macros
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1309
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1310
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
    "Created: / 07-06-2010 / 12:09:34 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
    "Modified: / 05-05-2011 / 15:23:33 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1313
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1314
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1315
methodsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1316
    ^ showOnly == #methods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1317
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1318
    "Created: / 07-06-2010 / 12:12:26 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
    "Modified: / 07-06-2010 / 14:18:38 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
methodsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1325
        showOnly := DefaultShowOnly := #methods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1327
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1328
    "Created: / 07-06-2010 / 12:12:30 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1329
    "Modified: / 05-05-2011 / 15:23:35 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1330
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1331
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1332
ozClassesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1333
    ^ showOnly == #ozClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1334
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1335
    "Modified: / 07-06-2010 / 14:18:41 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1336
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1337
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1338
ozClassesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1339
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1340
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1341
        showOnly := DefaultShowOnly := #ozClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1342
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1343
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1344
    "Modified: / 05-05-2011 / 15:23:38 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1345
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1346
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1347
ozFunctionsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1348
    ^ showOnly == #ozFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1349
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1350
    "Modified: / 07-06-2010 / 14:18:44 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1351
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1352
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1353
ozFunctionsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1354
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1355
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1356
        showOnly := DefaultShowOnly := #ozFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1357
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1358
    self updateContentsFromRawList.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1359
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1360
    "Modified: / 05-05-2011 / 15:18:51 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1361
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1362
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1363
ozMethodsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1364
    ^ showOnly == #ozMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1365
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1366
    "Modified: / 07-06-2010 / 14:18:47 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1367
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1368
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1369
ozMethodsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1370
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1371
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1372
        showOnly := DefaultShowOnly := #ozMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1373
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1374
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1375
    "Modified: / 05-05-2011 / 15:23:44 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1378
pythonClassesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1379
    ^ showOnly == #pythonClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1380
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1381
    "Modified: / 07-06-2010 / 14:18:52 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1382
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1383
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1384
pythonClassesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1386
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1387
        showOnly := DefaultShowOnly := #pythonClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1389
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
    "Modified: / 05-05-2011 / 15:23:46 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
pythonFunctionsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
    ^ showOnly == #pythonFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1396
    "Modified: / 07-06-2010 / 14:18:55 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1397
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1398
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1399
pythonFunctionsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1400
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1401
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1402
        showOnly := DefaultShowOnly := #pythonFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1403
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1404
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1405
    "Modified: / 05-05-2011 / 15:23:48 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1406
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1408
pythonMethodsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1409
    ^ showOnly == #pythonMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1410
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1411
    "Modified: / 07-06-2010 / 14:18:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1412
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1413
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1414
pythonMethodsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1415
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1416
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1417
        showOnly := DefaultShowOnly := #pythonMethods
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1419
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1420
    "Modified: / 05-05-2011 / 15:23:51 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1421
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1422
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1423
showOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1424
    tagTypesPresent == false ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1425
        ^ nil    "/ showing everything
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1426
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1427
    ^ showOnly "? DefaultShowOnly"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1429
    "Modified: / 20-06-2010 / 01:44:13 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1430
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1431
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1432
showOnly:aSymbol
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1433
    showOnly := aSymbol
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1434
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1435
    "Modified: / 05-05-2011 / 15:23:55 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1436
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1438
structsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1439
    ^ showOnly == #structs
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1440
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1441
    "Created: / 25-06-2010 / 10:42:27 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1442
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1443
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1444
structsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1445
    showOnly := DefaultShowOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1446
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1447
        showOnly := "DefaultShowOnly :=" #structs
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1448
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1449
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1450
    "Created: / 25-06-2010 / 10:42:39 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1451
    "Modified: / 05-05-2011 / 15:23:58 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1452
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1453
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1454
targetsOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1455
    ^ showOnly == #targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1456
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1457
    "Modified: / 07-06-2010 / 14:19:03 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1458
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1459
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1460
targetsOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1461
    showOnly := DefaultShowOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1462
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1463
        showOnly := DefaultShowOnly := #targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1464
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1465
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1466
    "Modified: / 05-05-2011 / 15:24:02 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1467
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1468
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1469
typesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1470
    ^ showOnly == #types
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1471
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1472
    "Modified: / 07-06-2010 / 14:19:06 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1473
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1474
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1475
typesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1476
    showOnly := DefaultShowOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1477
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1478
        showOnly := "DefaultShowOnly :=" #types
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1479
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1480
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1481
    "Modified: / 05-05-2011 / 15:24:04 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1482
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1484
variablesOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
    ^ showOnly == #variables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1486
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1487
    "Modified: / 07-06-2010 / 14:19:09 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1488
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1489
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1490
variablesOnly:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1491
    showOnly := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1492
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1493
        showOnly := DefaultShowOnly := #variables
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1494
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1495
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1496
    "Modified: / 05-05-2011 / 15:24:06 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1497
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1498
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1499
!TagList methodsFor:'accessing-presentation'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1500
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1501
groupBy
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1502
    ^ groupBy
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1503
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1504
    "Created: / 05-05-2011 / 14:31:37 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1505
    "Modified: / 05-05-2011 / 15:34:14 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1506
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1507
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1508
groupBy:aSymbolOrNil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1509
    groupBy ~~ aSymbolOrNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1510
        groupBy := DefaultGroupBy := aSymbolOrNil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1511
        self updateContentsFromFilteredList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1512
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1513
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1514
    "Created: / 05-05-2011 / 14:32:00 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1515
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1516
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1517
groupedByType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1518
    ^ self groupBy == #byType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1519
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1520
    "Created: / 05-05-2011 / 14:32:53 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1521
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1522
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1523
groupedByType:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1524
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
        self groupBy:#byType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1526
    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1527
        self groupBy:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
    "Created: / 05-05-2011 / 14:33:05 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1532
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1533
sortCriteria
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
    ^ sortCriteria ? DefaultSortCriteria
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1536
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
sortCriteria:aSymbolOrNil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
    sortCriteria ~~ aSymbolOrNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
        sortCriteria := DefaultSortCriteria := aSymbolOrNil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1540
        Sorted := sortCriteria.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1541
        self updateContentsFromFilteredList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1542
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1543
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1544
    "Modified: / 05-05-2011 / 14:50:18 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1545
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1546
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1547
sorted
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1548
    "backward compatibility"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1549
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1550
    ^ self sortCriteria notNil 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1551
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1552
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1553
sorted:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1554
    "backward compatibility"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1555
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1556
    aBoolean ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1557
        self sortCriteria:#byName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1558
    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1559
        self sortCriteria:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1560
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1561
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1562
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1563
sortedByLineNumber
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1564
    ^ self sortCriteria isNil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1565
    or:[ self sortCriteria == #lineNumber ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1566
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1567
    "Modified: / 05-05-2011 / 14:30:33 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1568
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1569
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1570
sortedByLineNumber:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1571
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1572
        self sortCriteria:#lineNumber
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1573
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1574
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1575
    "Modified: / 27-06-2010 / 21:31:44 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1576
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1577
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1578
sortedByName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1579
    ^ self sortCriteria == #byName 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1580
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1581
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1582
sortedByName:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1583
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1584
        self sortCriteria:#byName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1585
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1586
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1587
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1588
sortedByNameIgnoringCase
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1589
    ^ self sortCriteria == #byNameIgnoringCase 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1591
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1592
sortedByNameIgnoringCase:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1593
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1594
        self sortCriteria:#byNameIgnoringCase
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1595
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1596
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1597
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1598
sortedByNameIgnoringLeadingUnderscores
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1599
    ^ self sortCriteria == #byNameIgnoringLeadingUnderscores 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1600
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1601
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1602
sortedByNameIgnoringLeadingUnderscores:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1603
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1604
        self sortCriteria:#byNameIgnoringLeadingUnderscores
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1605
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1606
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1607
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1608
sortedByNameIgnoringLeadingUnderscoresAndCase
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1609
    ^ self sortCriteria == #byNameIgnoringLeadingUnderscoresAndCase 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1610
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1611
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1612
sortedByNameIgnoringLeadingUnderscoresAndCase:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1613
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1614
        self sortCriteria:#byNameIgnoringLeadingUnderscoresAndCase
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1615
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1616
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1617
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1618
sortedByType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1619
    ^ self sortCriteria == #byType 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1620
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1621
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1622
sortedByType:aBoolean
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1623
    aBoolean == true ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1624
        self sortCriteria:#byType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1625
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1626
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1627
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1628
tagTypesPresent
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1629
    ^ tagTypesPresent
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1630
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1631
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1632
!TagList methodsFor:'initialization'!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1633
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1634
initContents:n
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1635
    "Invoked when a new instance is created."
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1636
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1637
    super initContents:n.
14387
31d7d51ad25a class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14385
diff changeset
  1638
    flags isNil ifTrue:[
31d7d51ad25a class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14385
diff changeset
  1639
        flags := IdentityDictionary new.
31d7d51ad25a class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14385
diff changeset
  1640
    ].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1641
!
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1642
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1643
initialize
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1644
    "Invoked when a new instance is created."
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1645
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1646
    flags := IdentityDictionary new.
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1647
! !
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1648
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1649
!TagList methodsFor:'private'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1650
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1651
applyFilterToList:aList
14564
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1652
    |filters|
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1653
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1654
    filters := filter splitByAny:',;'.
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1655
    filters size == 1 ifTrue:[
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1656
        filter includesMatchCharacters ifFalse:[
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1657
            ^ aList select:[:tag | tag label includesString:filter caseSensitive:false]
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1658
        ].
11722
f1f3a4d964ee changed: #applyFilterToList:
Claus Gittinger <cg@exept.de>
parents: 11502
diff changeset
  1659
    ].
14564
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1660
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1661
    ^ aList 
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1662
        select:[:tag |
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1663
            filters 
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1664
                contains:[:someFilter |
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1665
                    someFilter includesMatchCharacters ifTrue:[
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1666
                        someFilter match:tag label caseSensitive:false
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1667
                    ] ifFalse:[
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1668
                        tag label includesString:someFilter caseSensitive:false
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1669
                    ].
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1670
                ].
f5d99c77f217 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14538
diff changeset
  1671
        ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1672
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1673
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1674
getCtagsVersion
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1675
    " parse major and minor version from ctags by operating system command
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1676
      cehck for the 'Exuberant Ctags' string being present
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1677
      return an Array with mafor and minor part of version or nil if not available"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1678
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1679
    | stream string index majorVersion minorVersion indexOfPoint|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1680
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1681
    stream := WriteStream on:''.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1682
    OperatingSystem         
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1683
        executeCommand:'ctags --version' 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1684
        inputFrom:nil 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1685
        outputTo:stream 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1686
        errorTo:stream 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1687
        inDirectory:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1688
        onError:[:status| false].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1689
    string := stream contents.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1690
    index := string findString:'Exuberant Ctags' ifAbsent:[nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1691
    index notNil ifTrue:[
15328
a0b7e6d0e919 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15288
diff changeset
  1692
        string := (string copyFrom:(index + ('Exuberant Ctags' size))) asCollectionOfWords first.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1693
        (string includes:$,) ifTrue:[ string := string copyTo:((string indexOf:$,) - 1)].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1694
        indexOfPoint := string indexOf:$. ifAbsent:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1695
        indexOfPoint notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1696
            majorVersion := (string copyFrom:1 to:indexOfPoint - 1) asInteger.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1697
            minorVersion := (string copyFrom:indexOfPoint + 1 to:string size) asInteger.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1698
            ^ Array with:majorVersion with:minorVersion.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1699
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1700
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1701
    ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1702
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1703
    "Modified: / 05-05-2011 / 14:48:08 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1704
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1705
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1706
setFilteredList:aList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1707
    filteredList := aList.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1708
    self updateContentsFromFilteredList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1709
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1710
    "Created: / 05-05-2011 / 14:46:12 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1711
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1712
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1713
setRawList:aList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1714
    rawList := aList.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1715
    self updateContentsFromRawList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1716
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1717
    "Created: / 05-05-2011 / 14:46:22 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1718
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1719
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1720
shellCommandFor:aFilenameString
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1721
    "returns the shellCommand to be used"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1722
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1723
    |template|
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1724
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1725
    (template := self shellCommandTemplateFor:aFilenameString) isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1726
        ^ nil
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1727
    ].
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1728
    ^ template bindWith:aFilenameString
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1729
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1730
    "Modified: / 05-01-2012 / 11:10:03 / cg"
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1731
!
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1732
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1733
shellCommandTemplateFor:aFilenameString
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1734
    "returns the shellCommand to be used (contains %1 for the filename).
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1735
     When first called, looks for ctags (both a private and the system-supplied),
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1736
     and tries to see what version that is. I prefer exuberant ctags version"
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1737
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1738
    |lcSuffix shellCommand isCSuffix isCPlusPlusSuffix isObjcSuffix
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1739
     isJavaSuffix isEiffelSuffix isFortranSuffix
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1740
     isTCLSuffix isRubySuffix isPythonSuffix isPhpSuffix isJavaScriptSuffix
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1741
     showOnly response suff fn langValue langOption moreOptions|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1742
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1743
    ctagsCommand isNil ifTrue:[
9915
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  1744
        remoteTarget isNil ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1745
            "/ local use
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1746
            suff := (OperatingSystem isMSWINDOWSlike) ifTrue:'.exe' ifFalse:''.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1747
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1748
            ctagsCommand := 'ctags',suff.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1749
            (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1750
                ctagsCommand := fn pathName.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1751
                ctagsIsExCtags := ctagsIsExCtags5x := true.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1752
            ] ifFalse:[
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1753
                ctagsCommand := 'bin/ctags',suff.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1754
                (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1755
                    ctagsCommand := fn pathName.
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1756
                    ctagsIsExCtags := ctagsIsExCtags5x := true.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1757
                ] ifFalse:[
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1758
                    ctagsCommand := Smalltalk getPackageFileName:'stx/support/tools/ctags-5.8/ctags',suff.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1759
                    (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1760
                        ctagsCommand := fn pathName.
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1761
                        ctagsIsExCtags := ctagsIsExCtags5x := true.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1762
                    ] ifFalse:[
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1763
                        ctagsCommand := Smalltalk getPackageFileName:'stx/support/tools/ctags-3.2.2/ctags',suff.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1764
                        (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1765
                            ctagsCommand := fn pathName.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1766
                            ctagsIsExCtags := true.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1767
                            ctagsIsExCtags5x := false.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1768
                        ] ifFalse:[
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1769
                            ctagsIsExCtags := nil.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1770
                            ctagsIsExCtags5x := nil.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1771
                            ctagsCommand := Smalltalk getPackageFileName:'stx/support/tools/ctags/ctags',suff.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1772
                            (ctagsCommand notNil and:[(fn := ctagsCommand asFilename) isExecutableProgram]) ifTrue:[
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1773
                                ctagsCommand := fn pathName.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1774
                            ] ifFalse:[
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1775
                                "/ use systems default ctags command
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1776
                                ctagsCommand := 'ctags'.
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1777
                            ]
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1778
                        ]
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1779
                    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1780
                ]
14881
6ac2b5c1ad1d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14726
diff changeset
  1781
            ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1782
        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1783
            "/ cross-development
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1784
"/            target remoteOperatingSystem = 'Linux' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1785
                "/ use systems default ctags command
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1786
                ctagsCommand := 'ctags'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1787
                ctagsIsExCtags := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1788
                ctagsIsExCtags5x := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1789
"/            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1790
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1791
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1792
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1793
    (ctagsIsExCtags isNil or:[ctagsIsExCtags5x isNil]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1794
        ctagsCommand notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1795
            response := OperatingSystem getCommandOutputFrom:(ctagsCommand, ' --version').
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1796
            (response notNil 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1797
            and:[response asLowercase startsWith:'exuberant ctags']) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1798
                ctagsIsExCtags := true.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1799
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1800
                response := (response copyFrom:'exuberant ctags' size + 1) withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1801
                ctagsIsExCtags5x := response startsWith:'5.' 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1802
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1803
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1804
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1805
12344
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1806
    ctagsIsExCtags5x ifTrue:[
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1807
        langOption := '--language-force=%1'.
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1808
    ] ifFalse:[ ctagsIsExCtags ifTrue:[
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1809
        langOption := '--lang=%1'.
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1810
    ]].
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1811
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1812
    shellCommand := ctagsCommand.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1813
    (shellCommand includes:Character space) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1814
        shellCommand := '"',shellCommand,'"'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1815
    ].
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1816
    moreOptions := ''.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1817
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1818
    showOnly := self showOnly.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1819
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1820
    lcSuffix := aFilenameString asFilename suffix asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1821
    isCSuffix := self class isCSuffix:lcSuffix.
12344
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1822
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1823
    "/ a hack for temporary files generated by stc
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1824
    lcSuffix = 'sc' ifTrue:[
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1825
        (aFilenameString asFilename asAbsoluteFilename components includes:'stx') ifTrue:[
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1826
            isCSuffix := true
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1827
        ].
37e2ff470c76 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12343
diff changeset
  1828
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1829
    isCPlusPlusSuffix := self class isCPlusPlusSuffix:lcSuffix.
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1830
    isObjcSuffix := self class isObjcSuffix:lcSuffix.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1831
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1832
    (shellCommand notNil and:[(ctagsIsExCtags ? false)]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1833
        isJavaSuffix := self class isJavaSuffix:lcSuffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1834
        isEiffelSuffix := self class isEiffelSuffix:lcSuffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1835
        isFortranSuffix := self class isFortranSuffix:lcSuffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1836
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1837
        "/ ex_ctags supports c, c++, java, fortran and a few others
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1838
        (isCSuffix or:[isCPlusPlusSuffix or:[isObjcSuffix
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1839
        or:[isJavaSuffix or:[isEiffelSuffix or:[isFortranSuffix]]]]]) ifFalse:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1840
            (ctagsIsExCtags5x ? false) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1841
                ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1842
            ].
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1843
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1844
            "/ ex_ctags5.x also supports:
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1845
            "/     Assembler, AWK, ASP, BETA,
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1846
            "/     Bourne/Korn/Z Shell, C, C++, C#, COBOL, Eiffel, Erlang, Fortran, Java, Lisp,
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1847
            "/     Lua, Makefile, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, Scheme,
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1848
            "/     S-Lang, SML (Standard ML), Tcl, Vera, Verilog, VHDL, Vim, and YACC.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1849
        ].
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1850
        isTCLSuffix := self class isTCLSuffix:lcSuffix.
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1851
        isRubySuffix := self class isRubySuffix:lcSuffix.
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1852
        isPythonSuffix := self class isPythonSuffix:lcSuffix.
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1853
        isPhpSuffix := self class isPhpSuffix:lcSuffix.
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1854
        isJavaScriptSuffix := self class isJavaScriptSuffix:lcSuffix.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1855
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1856
        usingDefaultCTags    := false.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1857
        shellCommand := shellCommand asFilename asAbsoluteFilename pathName.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1858
"/            shellCommand := shellCommand, ' -f - --c-types=f  --file-scope=no'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1859
"/            shellCommand := shellCommand, ' -f - --file-scope=yes'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1860
"/            shellCommand := shellCommand, ' -f - --file-scope=yes'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1861
        shellCommand := shellCommand, ' -f - --file-scope=yes --excmd=number'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1862
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  1863
        (isCSuffix or:[isCPlusPlusSuffix or:[isObjcSuffix]]) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1864
            isCPlusPlusSuffix 
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1865
                ifTrue:[ langValue := 'c++']
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1866
                ifFalse:[ langValue := 'c'].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1867
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1868
            showOnly == #classes ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1869
                moreOptions := moreOptions, ' --c-types=c'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1870
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1871
                showOnly == #functions ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1872
                    moreOptions := moreOptions, ' --c-types=f'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1873
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1874
                    showOnly == #functionsAndVariables ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1875
                        moreOptions := moreOptions, ' --c-types=fv'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1876
                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1877
                        showOnly == #classesFunctionsAndVariables ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1878
                            moreOptions := moreOptions, ' --c-types=cfv'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1879
                        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1880
                            showOnly == #variables ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1881
                                moreOptions := moreOptions, ' --c-types=v'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1882
                            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1883
                                showOnly == #types ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1884
                                    moreOptions := moreOptions, ' --c-types=t'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1885
                                ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1886
                            ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1887
                        ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1888
                    ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1889
                ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1890
            ]. 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1891
            self hideStructMembers == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-m'].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1892
            self hideDefines == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-d' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1893
            self hideTypedefs == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-t' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1894
            self hideStructures == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-s'].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1895
            self hideVariables == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-v'].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1896
            self hideFunctions == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-f'].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1897
            self hideClasses == true ifTrue:[ moreOptions := moreOptions, ' --c-types=-c'].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1898
        ].
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1899
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1900
        isJavaSuffix ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1901
            langValue := 'java'.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1902
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1903
            showOnly == #javaClasses ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1904
                moreOptions := moreOptions, ' --java-types=c'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1905
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1906
                showOnly == #javaMethods ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1907
                    moreOptions := moreOptions, ' --java-types=m'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1908
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1909
                    showOnly == #javaClassesAndMethods ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1910
                        moreOptions := moreOptions, ' --java-types=mc'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1911
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1912
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1913
            ]. 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1914
            self hideJavaClasses == true ifTrue:[ moreOptions := moreOptions, ' --java-types=-c' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1915
            self hideJavaMethods == true ifTrue:[ moreOptions := moreOptions, ' --java-types=-m' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1916
            self hideJavaInterfaces == true ifTrue:[ moreOptions := moreOptions, ' --java-types=-i' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1917
            self hideJavaFields == true ifTrue:[ moreOptions := moreOptions, ' --java-types=-f' ].
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  1918
            self hideJavaPackages == true ifTrue:[ moreOptions := moreOptions, ' --java-types=-p' ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1919
        ].
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1920
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1921
        isEiffelSuffix ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1922
            langValue := 'eiffel'.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1923
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  1924
            showOnly == #classes ifTrue:[ 
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1925
                moreOptions := moreOptions, ' --eiffel-types=c' 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1926
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1927
                showOnly == #features ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1928
                    moreOptions := moreOptions, ' --eiffel-types=f'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1929
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1930
            ]. 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1931
"/            hideEiffelClasses == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1932
"/                moreOptions := moreOptions, ' --eiffel-types=-c'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1933
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1934
"/            hideEiffelFeatures == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1935
"/                moreOptions := moreOptions, ' --eiffel-types=-m'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1936
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1937
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1938
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1939
        isFortranSuffix ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1940
            langValue := 'fortran'.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1941
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1942
            showOnly == #functions ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1943
                moreOptions := moreOptions, ' --fortran-types=f'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1944
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1945
                showOnly == #interfaces ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1946
                    moreOptions := moreOptions, ' --fortran-types=i'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1947
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1948
                    showOnly == #subroutines ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1949
                        moreOptions := moreOptions, ' --fortran-types=s'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1950
                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1951
                        showOnly == #commonBlocks == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1952
                            moreOptions := moreOptions, ' --fortran-types=c'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1953
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1954
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1955
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1956
            ]. 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1957
"/            hideFortranFunctions == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1958
"/                moreOptions := moreOptions, ' --fortran-types=-f'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1959
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1960
"/            hideFortranInterfaces == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1961
"/                moreOptions := moreOptions, ' --fortran-types=-i'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1962
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1963
"/            hideFortranSubroutines == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1964
"/                moreOptions := moreOptions, ' --fortran-types=-s'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1965
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1966
"/            hideFortranCommonBlocks == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1967
"/                moreOptions := moreOptions, ' --fortran-types=-c'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1968
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1969
"/            hideFortranEntryPoints == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1970
"/                moreOptions := moreOptions, ' --fortran-types=-e'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1971
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1972
"/            hideFortranLabels == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1973
"/                moreOptions := moreOptions, ' --fortran-types=-l'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1974
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1975
"/            hideFortranDerivedTypes == true ifTrue:[
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1976
"/                moreOptions := moreOptions, ' --fortran-types=-t'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1977
"/            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1978
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1979
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1980
"/            shellCommand := shellCommand, ' -f -'.
12341
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1981
        langValue notNil ifTrue:[
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1982
            langOption notNil ifTrue:[
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1983
                shellCommand := shellCommand , ' ' , (langOption bindWith:langValue)
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1984
            ].
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1985
        ].
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1986
        moreOptions notEmptyOrNil ifTrue:[
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1987
            shellCommand := shellCommand , moreOptions
3e6ee91d2ffa class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12334
diff changeset
  1988
        ].
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  1989
        shellCommand := shellCommand, ' "%1"'.
9915
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  1990
        remoteTarget notNil ifTrue:[
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  1991
            ^ (remoteTarget makeRemoteCommandFrom:shellCommand inDirectory:'./').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1992
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1993
        ^ shellCommand.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1994
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1995
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1996
    "/ regular ctags: assume supports c, c++ only
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1997
    isCSuffix ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1998
        ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1999
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2000
15241
ebe9d2039637 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15240
diff changeset
  2001
    usingDefaultCTags := true.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2002
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2003
    shellCommand := 'ctags'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2004
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2005
"/   "sunos and realIX have no option -s"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2006
"/    (OperatingSystem getOSType  = 'linux') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2007
"/        shellCommand := 'ctags -S'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2008
"/    ].
15240
086358d71563 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15220
diff changeset
  2009
    Transcript showCR:('TagList [info]: using default ctags command (not ctags from stx): <', shellCommand, '>').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2010
    ctagsCommand := nil. "/ flush - so we will check again.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2011
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2012
    shellCommand := shellCommand, ' "%1"'.
9915
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  2013
    remoteTarget notNil ifTrue:[
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  2014
        ^ (remoteTarget makeRemoteCommandFrom:shellCommand inDirectory:'./').
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2015
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2016
    ^ shellCommand
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2017
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2018
    "Modified: / 08-07-2010 / 00:23:24 / cg"
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2019
    "Created: / 05-01-2012 / 11:07:41 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2020
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2021
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2022
sortBlock
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2023
    "sort AND group"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2024
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2025
    |sortBlock|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2026
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2027
    sortCriteria := self sortCriteria.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2028
    sortBlock := self sortBlockForSortCriteria.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2029
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2030
    groupBy isNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2031
        ^ sortBlock
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2032
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2033
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2034
    ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2035
            |t1 t2 l1 l2|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2036
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2037
            t1 := a typeIdentifierInList ? ' '.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2038
            t2 := b typeIdentifierInList ? ' '.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2039
            t1 = t2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2040
                sortBlock value:a value:b
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2041
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2042
                t1 < t2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2043
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2044
      ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2045
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2046
    "Modified: / 05-05-2011 / 15:35:02 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2047
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2048
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2049
sortBlockForSortCriteria
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2050
    sortCriteria == #byName ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2051
        ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2052
                |l1 l2|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2053
9939
b9bfde3e776b changed: #sortBlockForSortCriteria
Claus Gittinger <cg@exept.de>
parents: 9921
diff changeset
  2054
                l1 := a label ? ''.
b9bfde3e776b changed: #sortBlockForSortCriteria
Claus Gittinger <cg@exept.de>
parents: 9921
diff changeset
  2055
                l2 := b label ? ''.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2056
                l1 = l2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2057
                    (a lineNumber ? 0) < (b lineNumber ? 0)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2058
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2059
                    l1 < l2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2060
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2061
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2062
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2063
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2064
    sortCriteria == #byNameIgnoringCase ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2065
        ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2066
                |l1 l2|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2067
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2068
                l1 := a label asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2069
                l2 := b label asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2070
                l1 = l2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2071
                    (a lineNumber ? 0) < (b lineNumber ? 0)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2072
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2073
                    l1 < l2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2074
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2075
          ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2076
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2077
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2078
    sortCriteria == #byNameIgnoringLeadingUnderscores ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2079
        ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2080
                |l1 l2 i|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2081
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2082
                l1 := a label.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2083
                l2 := b label.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2084
                l1 = l2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2085
                    (a lineNumber ? 0) < (b lineNumber ? 0)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2086
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2087
                    i := l1 findFirst:[:c | (c ~~ $_)].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2088
                    i > 1 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2089
                        l1 := l1 copyFrom:i
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2090
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2091
                    i := l2 findFirst:[:c | (c ~~ $_)].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2092
                    i > 1 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2093
                        l2 := l2 copyFrom:i
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2094
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2095
                    l1 < l2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2096
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2097
          ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2098
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2099
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2100
    sortCriteria == #byNameIgnoringLeadingUnderscoresAndCase ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2101
        ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2102
                |l1 l2 i|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2103
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2104
                l1 := a label asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2105
                l2 := b label asLowercase.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2106
                l1 = l2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2107
                    (a lineNumber ? 0) < (b lineNumber ? 0)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2108
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2109
                    i := l1 findFirst:[:c | (c ~~ $_)].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2110
                    i > 1 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2111
                        l1 := l1 copyFrom:i
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2112
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2113
                    i := l2 findFirst:[:c | (c ~~ $_)].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2114
                    i > 1 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2115
                        l2 := l2 copyFrom:i
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2116
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2117
                    l1 < l2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2118
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2119
          ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2120
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2121
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2122
"/    sortCriteria == #byType ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2123
"/        ^ [:a :b| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2124
"/                |t1 t2 l1 l2|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2125
"/                t1 := a typeIdentifierInList ? ' '.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2126
"/                t2 := b typeIdentifierInList ? ' '.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2127
"/                t1 = t2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2128
"/                    l1 := a label.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2129
"/                    l2 := b label.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2130
"/                    l1 = l2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2131
"/                        (a lineNumber ? 0) < (b lineNumber ? 0)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2132
"/                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2133
"/                        l1 < l2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2134
"/                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2135
"/                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2136
"/                    t1 < t2 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2137
"/                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2138
"/          ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2139
"/    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2140
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2141
    ^ [:a :b| a lineNumber < b lineNumber ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2142
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2143
    "Created: / 05-05-2011 / 14:37:25 / cg"
9939
b9bfde3e776b changed: #sortBlockForSortCriteria
Claus Gittinger <cg@exept.de>
parents: 9921
diff changeset
  2144
    "Modified: / 18-06-2011 / 19:30:45 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2145
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2146
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2147
updateContentsFromFilteredList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2148
    "call this, if only the sort order has changed (no need to call ctags or filter again)"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2149
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2150
    |list|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2151
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2152
    list := filteredList.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2153
    list notEmptyOrNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2154
        list := list asSortedCollection:(self sortBlock).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2155
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2156
    self contents:(list ? #()).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2157
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2158
    "Created: / 05-05-2011 / 14:45:41 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2159
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2160
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2161
updateContentsFromRawList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2162
    "call this, if only the filter has changed (no need to call ctags again)"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2163
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2164
    filteredList := (filter isEmptyOrNil or:[rawList isNil])
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2165
                        ifTrue:[ rawList ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2166
                        ifFalse:[ self applyFilterToList:rawList ].
13634
e8df53b0e555 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13633
diff changeset
  2167
    filteredList notNil ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2168
        self hideFunctions == true ifTrue:[
13634
e8df53b0e555 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13633
diff changeset
  2169
            filteredList := filteredList reject:[:tag | tag isFunctionTag].
e8df53b0e555 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13633
diff changeset
  2170
        ] ifFalse:[
e8df53b0e555 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13633
diff changeset
  2171
            showOnly == #functions ifTrue:[
14433
b89fc2b08f7e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14387
diff changeset
  2172
                filteredList := filteredList select:[:tag | tag isFunctionOrMethodTag].
13634
e8df53b0e555 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13633
diff changeset
  2173
            ].
13631
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
  2174
        ].
Claus Gittinger <cg@exept.de>
parents: 13450
diff changeset
  2175
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2176
    self updateContentsFromFilteredList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2177
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2178
    "Modified: / 05-05-2011 / 15:13:14 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2179
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2180
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2181
!TagList methodsFor:'queries'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2182
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2183
bestTagForLine:lineNr 
14478
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2184
    "find the best tag for a given lineNr in the file"
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2185
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2186
    ^ self bestTagForLine:lineNr filtering:nil
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2187
!
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2188
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2189
bestTagForLine:lineNr filtering:tagFilterOrNil
14479
dc2a489f87c7 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14478
diff changeset
  2190
    "find the best tag for a given lineNr in the file.
dc2a489f87c7 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14478
diff changeset
  2191
     The filter can be used eg. to find only function tags
dc2a489f87c7 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14478
diff changeset
  2192
     (i.e. to ignore case and goto labels in C)"
14478
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2193
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2194
    |bestTag sortedByLineNumber|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2195
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2196
    sortedByLineNumber := self sortedByLineNumber.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2197
    self do:[:eachTag |
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2198
        eachTag notNil ifTrue:[
14478
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2199
            (tagFilterOrNil isNil or:[tagFilterOrNil value:eachTag]) ifTrue:[
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2200
                eachTag lineNumber <= lineNr ifTrue:[
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2201
                    bestTag isNil ifTrue:[
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2202
                        bestTag := eachTag.
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2203
                        "/ sortedByLineNumber ifTrue:[^ eachTag].
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2204
                    ] ifFalse:[
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2205
                        eachTag lineNumber > bestTag lineNumber ifTrue:[
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2206
                            bestTag := eachTag    
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2207
                        ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2208
                    ]
14478
b0967cb55921 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14443
diff changeset
  2209
                ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2210
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2211
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2212
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2213
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2214
    ^ bestTag
13342
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2215
!
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2216
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2217
tagForFunction:functionName 
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2218
    ^ rawList 
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2219
        detect:[:tag |
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2220
            tag isFunctionTag and:[ tag label = functionName ]
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2221
        ]
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2222
        ifNone:nil
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2223
!
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2224
15785
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2225
tagForMacro:macroName 
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2226
    ^ rawList 
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2227
        detect:[:tag |
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2228
            tag isMacroTag and:[ tag label = macroName ]
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2229
        ]
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2230
        ifNone:nil
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2231
!
e14b50727952 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15771
diff changeset
  2232
15771
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2233
tagForType:typeName 
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2234
    ^ rawList 
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2235
        detect:[:tag |
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2236
            tag isTypeTag and:[ tag label = typeName ]
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2237
        ]
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2238
        ifNone:nil
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2239
!
46fa8e48982e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15711
diff changeset
  2240
13342
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2241
tagsValidForFile
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2242
    "the file, for which the tagsList is valid"
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2243
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2244
    ^ tagsValidForFile
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2245
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2246
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2247
!TagList methodsFor:'tag generation'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2248
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2249
fromFile:aFile in:aTempDirectory
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2250
    "create tags from a file;
15855
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2251
     either use the ctags/etags command, or an internal naive, simple method."
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2252
13215
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2253
    |forceSimpleTagList list shellCmd numTags fileContents|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2254
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2255
    rawList := nil.
13342
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2256
    tagsValidForFile := nil.
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2257
13215
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2258
    forceSimpleTagList := false.
16181
9e83ee1fd175 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 16142
diff changeset
  2259
    (self class isSmalltalkSuffix:aFile suffix) ifTrue:[
9e83ee1fd175 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 16142
diff changeset
  2260
        forceSimpleTagList := true.
9e83ee1fd175 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 16142
diff changeset
  2261
    ].
9e83ee1fd175 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 16142
diff changeset
  2262
    
13215
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2263
    "/ the simple builtin tagList generator is actually better than the ctags output for makefiles
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2264
    (self class makeFilePatterns contains:[:aPattern | (aPattern match:aFile baseName asLowercase)]) ifTrue:[forceSimpleTagList := true].
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2265
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2266
    forceSimpleTagList ifFalse:[
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2267
        shellCmd := (self shellCommandFor:aFile pathName).
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2268
        shellCmd notNil ifTrue:[
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2269
            tagTypesPresent := false.     "/ will be set again, when ctags command provides types
16142
0ca65f0ed335 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 16141
diff changeset
  2270
            list := ((self getTagListFromFile:aFile usingCommand:shellCmd mode:nil in:aTempDirectory) ? #()) asOrderedCollection.
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2271
            "/ kludge: I am better in getting cases/switches/labels
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2272
            list addAll:(self getAdditionalCTagsInFile:aFile withList:list).
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2273
            "/ another kludge - add in my own scanned objc tags
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2274
            (self class isObjcSuffix:aFile suffix) ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2275
                |objcTags|
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2276
                
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2277
                objcTags := self objcTagsInFile:aFile.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2278
                list 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2279
                    removeAllSuchThat:[:ctag | 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2280
                        objcTags contains:[:objctag | objctag lineNumber = ctag lineNumber]
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2281
                    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2282
                list addAll:objcTags.    
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  2283
            ].    
13215
187a0aabc409 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13153
diff changeset
  2284
        ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2285
    ].
12334
201ec335aa40 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12332
diff changeset
  2286
12343
4c4d59976686 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12341
diff changeset
  2287
    "/ in case ctags could not find anything, try our own, naive fallback (not too bad either)
12334
201ec335aa40 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12332
diff changeset
  2288
    list isEmptyOrNil ifTrue:[
16142
0ca65f0ed335 #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 16141
diff changeset
  2289
        list := ((self getSimpleTagListFromFile:aFile in:aTempDirectory) ? #()) asOrderedCollection.
12334
201ec335aa40 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12332
diff changeset
  2290
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2291
    tagTypesPresent := true.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2292
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2293
    numTags := list size.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2294
    fileContents := aFile contents.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2295
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2296
    (numTags > 1 and:[fileContents notEmptyOrNil]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2297
        numTags to:1 by:-1 do:[:i| 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2298
            |tag lnr|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2299
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2300
            tag := list at:i ifAbsent:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2301
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2302
            lnr := tag lineNumberIn:fileContents.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2303
            lnr == 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2304
                list removeIndex:i
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2305
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2306
                tag lineNumber:lnr
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2307
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2308
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2309
    ].    
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2310
    self setRawList:list.
13342
e25160142e1e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13335
diff changeset
  2311
    tagsValidForFile := aFile.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2312
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2313
    "Modified: / 05-01-2012 / 11:03:29 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2314
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2315
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2316
fromFile:aFile in:aTempDirectory onTarget:aTarget
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2317
    "create tags from a file;
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2318
     either use the ctags/etags command, or an intenral naive, simple method.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2319
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2320
    |list|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2321
9915
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  2322
    remoteTarget := aTarget.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2323
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2324
    [ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2325
        list := self fromFile:aFile in:aTempDirectory
11497
b27035bd0981 #ensure instead of #valueNowOrOnUnwindDo:
Stefan Vogel <sv@exept.de>
parents: 11466
diff changeset
  2326
    ] ensure:[
9915
923eae65fc70 fixes for reusability in cc browser
Claus Gittinger <cg@exept.de>
parents: 9891
diff changeset
  2327
        remoteTarget := nil.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2328
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2329
    ^ list
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2330
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2331
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2332
getModeFromFileSuffixOf:aFile 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2333
    |suffix mode|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2334
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2335
    suffix := aFile suffix.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2336
    (self class isCSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2337
        ^ #c.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2338
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2339
    (self class isCPlusPlusSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2340
        ^ #c.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2341
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2342
    (self class isJavaSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2343
        ^ #java.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2344
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2345
    (self class isFortranSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2346
        ^ #fortran.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2347
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2348
    (self class isEiffelSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2349
        ^ #eiffel.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2350
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2351
    (self class isHTMLSuffix:suffix) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2352
        ^ #html.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2353
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2354
    ^ mode
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2355
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2356
    "Modified: / 20-04-2011 / 19:02:54 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2357
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2358
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2359
getTagListFromFile:aFile usingCommand:scmd mode:modeOrNil in:aTempDirectory
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2360
    "create ctags-list from a file, using cmd (which is etags / ctags)"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2361
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2362
    |list pipe tag tagFile contents mode infoDictionary|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2363
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2364
    (mode := modeOrNil) isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2365
        mode := self getModeFromFileSuffixOf:aFile.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2366
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2367
    list := OrderedCollection new:512.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2368
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2369
    infoDictionary := Dictionary new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2370
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2371
"/    Transcript showCR:'execute tags command: ', scmd.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2372
    usingDefaultCTags ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2373
        (pipe := PipeStream readingFrom:scmd) notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2374
            [
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2375
                |line atEnd|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2376
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2377
                atEnd := false.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2378
                ReadError 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2379
                    handle:[:ex | ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2380
                    do:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2381
                        [atEnd] whileFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2382
                            (line := pipe nextLine) isNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2383
                                atEnd := pipe atEnd
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2384
                            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2385
"/ Transcript showCR:line.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2386
                                tag := self tagFromLine:line mode:mode using:infoDictionary.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2387
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2388
                                tag notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2389
                                    list add:tag
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2390
                                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2391
                            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2392
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2393
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2394
            ] ensure:[pipe close].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2395
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2396
        ^ list.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2397
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2398
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2399
    (OperatingSystem executeCommand:scmd inDirectory:aTempDirectory) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2400
        tagFile := aTempDirectory construct:'tags'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2401
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2402
        tagFile exists ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2403
            contents := tagFile contents.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2404
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2405
            contents notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2406
                contents do:[:aLine|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2407
                    (tag := self tagFromLine:aLine mode:mode using:infoDictionary) notNil ifTrue:[list add:tag]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2408
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2409
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2410
            Exception 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2411
                handle:[:ex| ] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2412
                do:[tagFile remove].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2413
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2414
        ^ list.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2415
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2416
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2417
    scmd = 'ctags' ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2418
        "/ try default ctags without any options
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2419
        ^ self getTagListFromFile:aFile usingCommand:'ctags' mode:modeOrNil in:aTempDirectory
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2420
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2421
    ^ #()
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2422
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  2423
    "Created: / 05-01-2012 / 11:03:04 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2424
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2425
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2426
tagFromLine:aLine mode:languageMode using:infoDictionary
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2427
    "analyze the line as returned from ctags and create a corresponding tag object for it"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2428
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2429
    |stream word1 word2 tagType pattern key 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2430
     file className lineNumber tagClass fmtString fmt
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2431
     showOnly|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2432
13317
f076c6b66d6e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13311
diff changeset
  2433
    "/ Transcript showCR:aLine.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2434
    aLine size < 6 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2435
        ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2436
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2437
    aLine first == $!! ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2438
        (aLine startsWith:'!!_TAG_FILE_FORMAT') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2439
            "/ aha - ex. ctags
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2440
            stream := aLine readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2441
            stream upTo:Character tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2442
            stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2443
            fmtString := stream upTo:Character tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2444
            fmt := Integer readFrom:fmtString onError:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2445
            fmt notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2446
                infoDictionary at:#formatVersion put:fmt
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2447
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2448
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2449
        ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2450
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2451
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2452
    "/ tab separated list; except for the pattern, which might include a tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2453
    stream := aLine readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2454
    key := stream upTo:Character tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2455
    stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2456
    file := stream upTo:Character tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2457
    stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2458
    stream peek == $/ ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2459
        stream next.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2460
        pattern := stream upTo:$/.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2461
        [(pattern last) == $\] whileTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2462
            pattern at:(pattern size) put:$/.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2463
            pattern := pattern , (stream upTo:$/).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2464
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2465
    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2466
        stream peek isDigit ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2467
            lineNumber := Integer readFrom:stream onError:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2468
            lineNumber isNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2469
                self halt:'should not happen - please debug'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2470
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2471
                pattern := key.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2472
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2473
        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2474
            self halt:'should not happen - please debug'.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2475
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2476
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2477
    stream peekFor:$;.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2478
    stream peekFor:$".
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2479
    stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2480
    tagType := stream upTo:Character tab.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2481
    stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2482
    word1 := stream upTo:Character tab.     "/ optional file: (scope)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2483
    stream skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2484
    word2 := stream upTo:Character tab.     "/ optional class:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2485
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2486
    (word1 startsWith:'file:') ifTrue:[     "/ file: (scope)
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2487
        self hideStatic == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2488
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2489
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2490
    (word2 startsWith: 'class:') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2491
        className := word2 copyFrom:('class:' size)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2492
    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2493
        (word1 startsWith: 'class:') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2494
            className := word1 copyFrom:('class:' size)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2495
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2496
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2497
"/    (word1 startsWith: 'class:') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2498
"/        className := word1 copyFrom:('class:' size)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2499
"/    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2500
"/    (word2 startsWith: 'class:') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2501
"/        className := word2 copyFrom:('class:' size)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2502
"/    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2503
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2504
    tagClass := Tag.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2505
    tagClass autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2506
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2507
    "/ typeCharacter to tag-Class mapping...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2508
    languageMode == #c ifTrue:[
14385
ff99b97f1273 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14382
diff changeset
  2509
        "/ Transcript showCR:tagType.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2510
        tagType = 'v' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2511
            self hideVariables == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2512
            tagClass := Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2513
        ] ifFalse:[ tagType = 'f' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2514
            self hideFunctions == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2515
            tagClass := Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2516
        ] ifFalse:[ tagType = 'd' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2517
            self hideDefines == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2518
            tagClass := Tag::TMacro 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2519
        ] ifFalse:[ tagType = 't' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2520
            self hideTypedefs == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2521
            tagClass := Tag::TTypedef 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2522
        ] ifFalse:[ tagType = 'm' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2523
            self hideStructMembers == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2524
            tagClass := Tag::TMember
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2525
        ] ifFalse:[ tagType = 's' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2526
            self hideStructures == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2527
            tagClass := Tag::TStruct
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2528
        ] ifFalse:[ tagType = 'u' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2529
            self hideStructures == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2530
            tagClass := Tag::TUnion
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2531
        ] ifFalse:[ tagType = 'c' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2532
            self hideClasses == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2533
            tagClass := Tag::TClass
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2534
        ] ifFalse:[ tagType = 'e' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2535
            tagClass := Tag::TEnumMember. 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2536
        ] ifFalse:[ tagType = 'g' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2537
            tagClass := Tag::TEnum. 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2538
"/        ] ifFalse:[ tagType = 'n' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2539
"/            tagClass := Tag::TNamespace
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2540
"/        ] ifFalse:[ tagType = 'p' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2541
"/            tagClass := Tag::TFunctionPrototype
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2542
"/        ] ifFalse:[ tagType = 'x' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2543
"/            tagClass := Tag::TExternVariable
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2544
        ] ifFalse:[ 
13753
8723ab5d770d class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13634
diff changeset
  2545
            self breakPoint:#cg.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2546
            "/ add more here 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2547
        ]]]]]]]]]]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2548
    ] ifFalse:[ languageMode == #java ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2549
        tagType = 'c' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2550
            self hideJavaClasses == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2551
            tagClass := Tag::TClass 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2552
        ] ifFalse:[ tagType = 'm' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2553
            self hideJavaMethods == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2554
            tagClass := Tag::TMethod
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2555
        ] ifFalse:[ tagType = 'f' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2556
            self hideJavaFields == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2557
            tagClass := Tag::TField
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2558
        ] ifFalse:[ tagType = 'i' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2559
            self hideJavaInterfaces == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2560
            tagClass := Tag::TInterface
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2561
        ] ifFalse:[ tagType = 'p' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2562
            self hideJavaPackages == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2563
            tagClass := Tag::TPackage
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2564
        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2565
            "/ add more here */
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2566
        ]]]]]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2567
    ] ifFalse:[ languageMode == #eiffel ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2568
        tagType = 'c' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2569
            self hideClasses == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2570
            tagClass := Tag::TClass 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2571
"/        ] ifFalse:[ tagType = 'f' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2572
"/            tagClass := Tag::TFeature
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2573
"/        ] ifFalse:[ tagType = 'l' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2574
"/            tagClass := Tag::TLocalEntity
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2575
        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2576
            "/ add more here */
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2577
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2578
    ] ifFalse:[ languageMode == #fortran ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2579
        tagType = 'f' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2580
            self hideFunctions == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2581
            tagClass := Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2582
        ] ifFalse:[ tagType = 'i' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2583
"/            hideInterfaces == true ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2584
            tagClass := Tag::TInterface
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2585
        ] ifFalse:[ tagType = 't' ifTrue:[ 
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2586
            self hideTypedefs == true ifTrue:[^ nil].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2587
            tagClass := Tag::TTypedef 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2588
"/        ] ifFalse:[ tagType = 'l' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2589
"/            tagClass := Tag::TLabel
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2590
"/        ] ifFalse:[ tagType = 'm' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2591
"/            tagClass := Tag::TModule
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2592
"/        ] ifFalse:[ tagType = 'n' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2593
"/            tagClass := Tag::TNameList
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2594
"/        ] ifFalse:[ tagType = 'p' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2595
"/            tagClass := Tag::TProgram
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2596
"/        ] ifFalse:[ tagType = 's' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2597
"/            tagClass := Tag::TSubroutine
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2598
"/        ] ifFalse:[ tagType = 'b' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2599
"/            tagClass := Tag::TBlockData
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2600
"/        ] ifFalse:[ tagType = 'c' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2601
"/            tagClass := Tag::TCommonBlock
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2602
"/        ] ifFalse:[ tagType = 'e' ifTrue:[ 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2603
"/            tagClass := Tag::TEntryPoint
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2604
        ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2605
            "/ add more here */
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2606
        ]]]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2607
    ]]]].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2608
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2609
    tagTypesPresent := true.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2610
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2611
    tagType size == 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2612
        tagType := ''
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2613
    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2614
        (showOnly := self showOnly) notNil ifTrue:[
16048
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2615
            "/ how ugly can a piece of code get?
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2616
            showOnly == #classes ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2617
                tagClass ~~ Tag::TClass ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2618
            ] ifFalse:[ showOnly == #functions ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2619
                tagClass ~~ Tag::TFunction ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2620
            ] ifFalse:[ showOnly == #variables ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2621
                tagClass ~~ Tag::TVariable ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2622
            ] ifFalse:[ showOnly == #types ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2623
                (tagClass ~~ Tag::TTypedef 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2624
                and:[ true "tagClass ~~ Tag::TUnion" 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2625
                and:[ tagClass ~~ Tag::TStruct ]])ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2626
            ] ifFalse:[ showOnly == #functionsAndVariables ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2627
                ((tagClass ~~ Tag::TFunction) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2628
                and:[tagClass ~~ Tag::TVariable]) ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2629
            ] ifFalse:[ showOnly == #classesFunctionsAndVariables ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2630
                ((tagClass ~~ Tag::TFunction) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2631
                and:[(tagClass ~~ Tag::TVariable)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2632
                and:[tagClass ~~ Tag::TClass]]) ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2633
            ] ifFalse:[ showOnly == #defines ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2634
                tagClass ~~ Tag::TMacro ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2635
            ] ifFalse:[ showOnly == #structs ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2636
                tagClass ~~ Tag::TStruct ifTrue:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2637
            ] ifFalse:[ showOnly == #everything ifTrue:[
16048
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2638
            ] ifFalse:[ showOnly == #headlines ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2639
                tagClass ~~ Tag::THeaderElement ifTrue:[^ nil].
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2640
            ] ifFalse:[ showOnly == #anchors ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2641
                tagClass ~~ Tag::TAnchorElement ifTrue:[^ nil].
17207
242fef148d28 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 17071
diff changeset
  2642
            ] ifFalse:[ showOnly == #targets ifTrue:[
242fef148d28 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 17071
diff changeset
  2643
                tagClass ~~ Tag::TMakeTarget ifTrue:[^ nil].
16048
Claus Gittinger <cg@exept.de>
parents: 15912
diff changeset
  2644
            ] ifFalse:[    
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2645
                self halt:'unhandled showOnly'.
17207
242fef148d28 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 17071
diff changeset
  2646
            ]]]]]]]]]]]]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2647
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2648
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2649
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2650
    ^ tagClass label:key 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2651
             pattern:pattern
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2652
                type:tagType
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2653
          lineNumber:lineNumber
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2654
           className:className.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2655
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2656
    "Modified: / 05-05-2011 / 15:45:55 / cg"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2657
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2658
13153
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2659
!TagList methodsFor:'tag generation - helpers'!
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2660
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2661
linewiseNaiveTagsInFile:aFilePath using:parseLineBlock
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2662
    "common helper for naive linewise parsing tags"
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2663
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2664
    |targets line lineNr s tagOrTagCollection|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2665
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2666
    Tag autoload.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2667
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2668
    targets := OrderedCollection new.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2669
    s := aFilePath asFilename readStream.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2670
    s notNil ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2671
        s := LineNumberReadStream readingFrom:s.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2672
        [s atEnd] whileFalse:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2673
            lineNr := s lineNumber.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2674
            line := s nextLine.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2675
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2676
            tagOrTagCollection := parseLineBlock value:line value:lineNr.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2677
            tagOrTagCollection notNil ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2678
                tagOrTagCollection isCollection ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2679
                    targets addAll:tagOrTagCollection
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2680
                ] ifFalse:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2681
                    targets add:tagOrTagCollection
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2682
                ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2683
            ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2684
        ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2685
        s close
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2686
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2687
    ^ targets
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2688
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2689
    "Modified: / 08-05-2011 / 10:12:29 / cg"
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2690
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  2691
13153
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2692
plainTextBetweenHTMLElement:startElement andElementWithTag:endTag
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2693
    "applied to an <h1>-tag element, passing '/h1' as endTag,
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2694
     this retrieves the plain text of the headline. Used by the tag list."
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2695
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2696
    |el collector hasSpace txt|
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2697
14726
a52ba98c8627 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14681
diff changeset
  2698
    collector := CharacterWriteStream on:(String new:100).
13153
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2699
    el := startElement next.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2700
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2701
    hasSpace := true.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2702
    [ el notNil and:[el tag ~= endTag] ] whileTrue:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2703
        el isTextElement ifTrue:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2704
            hasSpace ifFalse:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2705
                collector space.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2706
                hasSpace := true.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2707
            ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2708
            txt := el text withoutSeparators.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2709
            txt notEmpty ifTrue:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2710
                collector nextPutAll:txt.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2711
                hasSpace := txt endsWith:' '.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2712
            ]
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2713
        ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2714
        el := el next
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2715
    ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2716
    ^ collector contents
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2717
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2718
    "Created: / 12-09-2012 / 12:38:01 / cg"
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2719
!
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2720
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2721
tagsForLinesStartingWithIdentifierAndColon:aFilePath
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2722
    "helper for yacc tags (and maybe others in the future):
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2723
     naive, q&d scan for lines matching:
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2724
        <anything>:
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2725
    "
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2726
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2727
    |targets line l lineNr nm s words w|
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2728
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2729
    Tag autoload.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2730
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2731
    targets := OrderedCollection new.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2732
    s := aFilePath asFilename readStream.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2733
    s notNil ifTrue:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2734
        s := LineNumberReadStream readingFrom:s.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2735
        [s atEnd] whileFalse:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2736
            line := s nextLine.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2737
            l := line withoutSeparators.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2738
            words := l asCollectionOfWords.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2739
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2740
            words size >= 1 ifTrue:[
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2741
                w := words first.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2742
                (w endsWith:$:) ifTrue:[
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  2743
                    nm := w copyButLast.
13153
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2744
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2745
                    lineNr := s lineNumber - 1.
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2746
                    targets add:(Tag::TLabel
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2747
                                    label:nm 
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2748
                                    pattern:nil
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2749
                                    type:nil
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2750
                                    lineNumber:lineNr).
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2751
                ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2752
            ]
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2753
        ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2754
        s close
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2755
    ].
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2756
    ^ targets
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2757
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2758
    "Created: / 28-09-2012 / 14:45:35 / cg"
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2759
! !
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  2760
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2761
!TagList methodsFor:'tag generation - simple'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2762
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2763
assemblerTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2764
    "assembler tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2765
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2766
        <anything>:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2767
     CAVEAT:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2768
        the code below handles linux-i386 assembler only (for now)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2769
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2770
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2771
    |targets line l lineNr nm s words w directive
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2772
     hideLocals hideLocals2 hideLocals3 hideData hideText currentSegment|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2773
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2774
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2775
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2776
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2777
    s := aFilePath asFilename readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2778
    s notNil ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2779
        hideLocals := self flagNamed:#hideLocalLabels ? false.
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2780
        hideLocals2 := self flagNamed:#hideLocalLabels2 ? false.
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2781
        hideLocals3 := self flagNamed:#hideLocalLabels3 ? false.
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2782
        hideData := self flagNamed:#hideDataLabels ? false.
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2783
        hideText := self flagNamed:#hideTextLabels ? false.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2784
        currentSegment := #text.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2785
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2786
        s := LineNumberReadStream readingFrom:s.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2787
        [s atEnd] whileFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2788
            lineNr := s lineNumber.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2789
            line := s nextLine.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2790
            l := line withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2791
            words := l asCollectionOfWords.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2792
            words size >= 1 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2793
                w := words first.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2794
                (w endsWith:$:) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2795
                    (hideText and:[currentSegment == #text]) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2796
                        (hideData and:[currentSegment == #data]) ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2797
                            (hideLocals and:[(w startsWith:$.)]) ifFalse:[
11466
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  2798
                                (hideLocals2 and:[(w startsWith:$_) not]) ifFalse:[
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2799
                                    (hideLocals3 
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2800
                                        and:[ (w startsWith:$L) 
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2801
                                        and:[ (w size > 1) 
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2802
                                        and:[ ((w copyFrom:2 to:(w size-1)) conform:[:c | c isDigit])
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2803
                                     ]]]) ifFalse:[
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  2804
                                        nm := w copyButLast.
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2805
                                        targets add:(Tag::TLabel 
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2806
                                                        label:nm 
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2807
                                                        pattern:nil
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2808
                                                        type:nil
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2809
                                                        lineNumber:lineNr).
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2810
                                    ].
11466
021f7a2be8a2 localLabels2
Claus Gittinger <cg@exept.de>
parents: 11051
diff changeset
  2811
                                ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2812
                            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2813
                        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2814
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2815
                    words size >= 2 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2816
                        directive := words second
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2817
                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2818
                        directive := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2819
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2820
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2821
                    directive := w.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2822
                ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2823
                (directive notNil and:[directive startsWith:$.]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2824
                     directive = '.text' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2825
                        currentSegment := #text
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2826
                    ] ifFalse:[ directive = '.data' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2827
                        currentSegment := #data
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2828
                    ] ifFalse:[ directive = '.bss' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2829
                        currentSegment := #data
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2830
                    ] ifFalse:[ directive = '.rodata' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2831
                        currentSegment := #data
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2832
                    ]]]]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2833
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2834
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2835
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2836
        s close
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2837
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2838
    ^ targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2839
11502
7ae5dfefd586 class definition
Claus Gittinger <cg@exept.de>
parents: 11497
diff changeset
  2840
    "Modified: / 13-05-2012 / 11:25:49 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2841
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2842
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2843
batchTagsInFile:aFilePath
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2844
    "batch-file
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2845
     naive, q&d scan for lines matching:
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2846
        :<anything>
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2847
    "
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2848
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2849
    |targets line l lineNr nm s words|
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2850
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2851
    Tag autoload.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2852
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2853
    targets := OrderedCollection new.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2854
    s := aFilePath asFilename readStream.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2855
    s notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2856
        s := LineNumberReadStream readingFrom:s.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2857
        [s atEnd] whileFalse:[
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2858
            line := s nextLine.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2859
            (line startsWith:$:) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2860
                l := line withoutSeparators.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2861
                words := (l copyFrom:2) asCollectionOfWords.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2862
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2863
                words size == 1 ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2864
                    nm := words first.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2865
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2866
                    lineNr := s lineNumber - 1.
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2867
                    targets add:(Tag::TLabel
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2868
                                    label:nm 
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2869
                                    pattern:nil
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2870
                                    type:nil
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2871
                                    lineNumber:lineNr).
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2872
                ].
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2873
            ]
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2874
        ].
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2875
        s close
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2876
    ].
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2877
    ^ targets
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2878
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2879
    "Created: / 28-09-2012 / 14:45:10 / cg"
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2880
!
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  2881
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2882
dartTagsInFile:aFilePath
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2883
    "dart tags:
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2884
     naive, q&d scan for lines matching:
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2885
        interface foo
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2886
        class foo
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2887
        function foo
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2888
    "
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2889
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2890
    |targets line l lineNr nm s|
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2891
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2892
    Tag autoload.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2893
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2894
    targets := OrderedCollection new.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2895
    s := aFilePath asFilename readStream.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2896
    s notNil ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2897
        s := LineNumberReadStream readingFrom:s.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2898
        [s atEnd] whileFalse:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2899
            lineNr := s lineNumber.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2900
            line := s nextLine.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2901
            l := line withoutSeparators.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2902
            {
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2903
                { 'function '  . #functions  . self hideFunctions . Tag::TFunction } .
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2904
                { 'var '       . #variables  . self hideVariables . Tag::TVariable } .
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2905
                { 'class '     . #classes    . self hideClasses . Tag::TClass      } .
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2906
                { 'abstract class '     . #classes    . self hideClasses . Tag::TClass      } .
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2907
                { 'interface ' . #interfaces . self hideDartInterfaces . Tag::TInterface } .
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  2908
                { 'factory '   . #methods .    self hideMethods . Tag::TMethod } .
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2909
            } tuplesDo:[:keywordSpace :showOnlyEnum :hideVariableValue :tagType|
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2910
                (l startsWith:keywordSpace) ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2911
                    (showOnly isNil or:[showOnly == showOnlyEnum]) ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2912
                        hideVariableValue ~~ true ifTrue:[
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2913
                            nm := l copyFrom:(keywordSpace size + 1).
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2914
                            nm := nm copyTo:(nm 
11771
c33eb1a7f489 changed: #dartTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11766
diff changeset
  2915
                                                findFirst:[:ch | (ch isLetterOrDigit or:['$_.' includes:ch]) not] 
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2916
                                                ifNone:nm size+1)-1.
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2917
                            targets add:(tagType 
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2918
                                            label:nm 
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2919
                                            pattern:nil
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2920
                                            type:nil
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2921
                                            lineNumber:lineNr).
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2922
                        ]
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2923
                    ]
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2924
                ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2925
            ]
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2926
        ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2927
        s close
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2928
    ].
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2929
    ^ targets
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2930
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2931
    "Created: / 28-06-2010 / 12:44:25 / cg"
11766
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
  2932
    "Modified: / 22-08-2012 / 21:32:33 / cg"
11762
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2933
!
ea51907fe36d class definition
Claus Gittinger <cg@exept.de>
parents: 11722
diff changeset
  2934
15855
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2935
getAdditionalCTagsInFile:aFilePath withList:ctagsList
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2936
    "additional tags, which are not found by the standard ctags utility:
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2937
        case foo:   - case label tags
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2938
        switch:     - case label tags
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2939
        label:      - label tags (if there is a corresponding goto)
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2940
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2941
     The already generated ctagsList is passed as argument,
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2942
     so duplicates etc. can be detected"
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2943
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2944
    |targets line lineNr s caseLabel l gotoTargets possibleLabels 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2945
     addLabelTag findCurrentFunctionPrefix|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2946
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2947
    self hideLabels ifTrue:[^ #()].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2948
    showOnly notNil ifTrue:[^ #()].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2949
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2950
    Tag autoload.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2951
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2952
    targets := OrderedCollection new.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2953
    gotoTargets := Set new.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2954
    possibleLabels := OrderedCollection new.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2955
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2956
    findCurrentFunctionPrefix :=
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2957
        [:lineNr |
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2958
            |bestSoFar|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2959
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2960
            ctagsList do:[:each |
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2961
                each isFunctionOrMethodTag ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2962
                    each lineNumber <= lineNr ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2963
                        (bestSoFar isNil or:[ each lineNumber > bestSoFar lineNumber]) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2964
                            bestSoFar := each
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2965
                        ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2966
                    ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2967
                ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2968
            ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2969
            bestSoFar isNil
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2970
                ifTrue:[ '' ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2971
                ifFalse:[ bestSoFar label, ' ' ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2972
        ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2973
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2974
    addLabelTag := 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2975
        [:tagType :lineNr :label |
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2976
            |fnPrefix|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2977
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2978
            fnPrefix := findCurrentFunctionPrefix value:lineNr.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2979
            targets add:(tagType
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2980
                            label:(fnPrefix,label)
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2981
                            pattern:nil
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2982
                            type:nil
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2983
                            lineNumber:lineNr).
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2984
        ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2985
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2986
    s := aFilePath asFilename readStream.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2987
    s notNil ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2988
        lineNr := 0.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2989
        s := LineNumberReadStream readingFrom:s.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2990
        [s atEnd] whileFalse:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2991
            lineNr := lineNr + 1.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2992
            line := s nextLine withoutSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2993
            ((line startsWith:'case ') and:[line includes:$:]) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2994
                l := line readStream. 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2995
                l skip:5.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2996
                caseLabel := l upTo:$:.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2997
                addLabelTag value:(Tag::TCaseLabel) value:lineNr 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2998
                            value:('case ' allItalic , caseLabel",' <case>' allItalic").
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  2999
            ] ifFalse:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3000
                (line startsWith:'default:') ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3001
                    addLabelTag value:(Tag::TCaseLabel) value:lineNr 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3002
                                value:('case ' allItalic, 'default').
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3003
                ] ifFalse:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3004
                    ((line startsWith:'switch') and:[line includes:$(]) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3005
                        l := line readStream. 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3006
                        l skip:6.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3007
                        l skipSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3008
                        l peek == $( ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3009
                            l next.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3010
                            caseLabel := (l upTo:$)) withoutSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3011
                            caseLabel notEmpty ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3012
                                caseLabel := 'switch (',caseLabel,')'.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3013
                                addLabelTag value:(Tag::TCaseLabel) value:lineNr 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3014
                                            value:('case ' allItalic , caseLabel).
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3015
                            ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3016
                        ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3017
                    ] ifFalse:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3018
                        (line startsWith:'goto ') ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3019
                            |targetLabel|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3020
                            l := line readStream. 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3021
                            l skip:5.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3022
                            l skipSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3023
                            targetLabel := (l upTo:$; ) withoutSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3024
                            targetLabel notEmpty ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3025
                                gotoTargets add:targetLabel.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3026
                            ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3027
                        ] ifFalse:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3028
                            (line includes:$:) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3029
                                |label|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3030
                                label := (line upTo:$:) withoutSeparators.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3031
                                label notEmpty ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3032
                                    ((label first isLetter or:[label first = $_])
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3033
                                    and:[ label conform:[:ch | ch isLetterOrDigit or:[ch = $_]]]) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3034
                                        |fnPrefix|
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3035
                                        fnPrefix := findCurrentFunctionPrefix value:lineNr.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3036
                                        possibleLabels 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3037
                                            add:(Tag::TCaseLabel
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3038
                                                label:(fnPrefix,('label ' allItalic , label))
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3039
                                                pattern:label
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3040
                                                type:nil
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3041
                                                lineNumber:lineNr)
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3042
                                    ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3043
                                ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3044
                            ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3045
                        ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3046
                    ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3047
                ]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3048
            ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3049
        ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3050
        s close
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3051
    ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3052
    possibleLabels 
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3053
        select:[:lbl | gotoTargets includes:lbl pattern]
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3054
        thenDo:[:lbl | targets add:lbl].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3055
    ^ targets
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3056
!
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3057
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3058
getAdditionalTagsInFile:aFile withList:ctagsList
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3059
    "a chance to generate a list of additional tags,    
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3060
     which are not found by the standard ctags utility.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3061
     For example, for C, labels and switches are detected and added.
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3062
     The already generated ctagsList is passed as argument,
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3063
     so duplicates etc. can be detected"
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3064
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3065
    (self class isCSuffix:(aFile suffix)) ifTrue:[
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3066
        ^ self getAdditionalCTagsInFile:aFile withList:ctagsList
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3067
    ].
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3068
    ^ #()
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3069
!
e8cd02427e78 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15852
diff changeset
  3070
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3071
getSimpleTagListFromFile:aFileOrString in:aTempDirectory
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3072
    "fallback, if no ctags is present, or if the file is not a c-file.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3073
     Implemented here for some other file types (Makefiles)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3074
    "
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3075
    |file lcName pathName suffix mime|
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3076
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3077
    file := aFileOrString asFilename.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3078
    lcName := file baseName asLowercase.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3079
    pathName := file pathName.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3080
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3081
    self class makeFilePatterns do:[:aPattern |
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3082
        (aPattern match:lcName) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3083
            ^ self class makeTargetTagsInFile:pathName filter:showOnly
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3084
        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3085
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3086
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3087
    suffix := lcName asFilename suffix.
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3088
    mime := TagList tagMimeTypeForFile:file.
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3089
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3090
    ((self class isSmalltalkSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3091
    or:[(mime ? '') includesString:'smalltalk']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3092
        "/ smalltalk tags - simulated
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3093
        ^ self stTagsInFile:pathName in:aTempDirectory
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3094
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3095
    ((self class isPythonSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3096
    or:[(mime ? '') includesString:'python']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3097
        "/ python tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3098
        ^ self pythonTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3099
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3100
    ((self class isPhpSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3101
    or:[(mime ? '') includesString:'php']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3102
        "/ php tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3103
        ^ self phpTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3104
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3105
    ((self class isLispSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3106
    or:[(mime ? '') includesString:'lisp']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3107
        "/ lisp tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3108
        ^ self lispTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3109
    ].
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3110
    ((self class isObjcSuffix:suffix)
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3111
    or:[(mime ? '') includesString:'objcsrc']) ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3112
        "/ objc tags - simulated
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3113
        ^ self objcTagsInFile:pathName
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3114
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3115
    ((self class isOzSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3116
    or:[(mime ? '') includesString:'oz']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3117
        "/ oz tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3118
        ^ self ozTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3119
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3120
    ((self class isPrologSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3121
    or:[(mime ? '') includesString:'prolog']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3122
        "/ prolog tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3123
        ^ self prologTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3124
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3125
    ((self class isTCLSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3126
    or:[(mime ? '') includesString:'tcl']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3127
        "/ tcl tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3128
        ^ self tclTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3129
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3130
    ((self class isAssemblerSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3131
    or:[(mime ? '') includesString:'assembler']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3132
        "/ assembler tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3133
        ^ self assemblerTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3134
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3135
    ((self class isRubySuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3136
    or:[(mime ? '') includesString:'ruby']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3137
        "/ ruby tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3138
        ^ self rubyTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3139
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3140
    ((self class isYaccSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3141
    or:[(mime ? '') includesString:'yacc']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3142
        "/ yacc tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3143
        ^ self yaccTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3144
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3145
    ((self class isJavaScriptSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3146
    or:[(mime ? '') includesString:'javascript']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3147
        "/ js tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3148
        ^ self javaScriptTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3149
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3150
    ((self class isDartSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3151
    or:[(mime ? '') includesString:'dart']) ifTrue:[
11766
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
  3152
        "/ dart tags - simulated
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
  3153
        ^ self dartTagsInFile:pathName
Claus Gittinger <cg@exept.de>
parents: 11762
diff changeset
  3154
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3155
    ((self class isLuaSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3156
    or:[(mime ? '') includesString:'lua']) ifTrue:[
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3157
        "/ lua tags - simulated
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3158
        ^ self luaTagsInFile:pathName
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3159
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3160
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3161
    ((self class isHTMLSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3162
    or:[(mime ? '') includesString:'html']) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3163
        "/ html tags - simulated
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3164
        ^ self htmlTagsInFile:pathName
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3165
    ].
14365
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3166
    ((self class isBatchSuffix:suffix)
a6adb2b65b83 .app (V'Age source) tags
Claus Gittinger <cg@exept.de>
parents: 14359
diff changeset
  3167
    or:[(mime ? '') includesString:'batch']) ifTrue:[
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  3168
        "/ batch tags - simulated
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  3169
        ^ self batchTagsInFile:pathName
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  3170
    ].
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  3171
    ((self class isXSDSuffix:suffix)
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  3172
    or:[(mime ? '') includesString:'xsd']) ifTrue:[
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  3173
        "/ xsd tags - simulated
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  3174
        ^ self xsdTagsInFile:pathName
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  3175
    ].
15711
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  3176
    (suffix = 'rs') ifTrue:[
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  3177
        ^ self stxResourceTagsInFile:pathName
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  3178
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3179
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3180
    "/ could add more here ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3181
    ^ nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3182
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  3183
    "Created: / 05-01-2012 / 10:55:03 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3184
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3185
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3186
htmlTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3187
    "hatml tags:
13153
23ad227fb44e class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 12744
diff changeset
  3188
     naive, q&d scan for lines containing:
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3189
        <textarea>
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3190
        <input>
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3191
        <table>
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3192
        <script>
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3193
        <hX>
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3194
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3195
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3196
    |targets line l lineNr s tag|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3197
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3198
    "/ TODO: use HTMPParser to read all of them !!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3199
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3200
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3201
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3202
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3203
    s := aFilePath asFilename readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3204
    s notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3205
        s := LineNumberReadStream readingFrom:s.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3206
        [s atEnd] whileFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3207
            lineNr := s lineNumber.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3208
            line := s nextLine.
9918
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3209
            line := line withoutSeparators.
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3210
            l := line asLowercase.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3211
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3212
            #(
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3213
                'textarea'      hideHTMLTextArea    nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3214
                'input'         hideHTMLInput       nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3215
                'table'         hideHTMLTable       nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3216
                'script'        hideHTMLScript      nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3217
                'form'          hideHTMLForm        nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3218
                'a'             nil                 anchors
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3219
                'h1'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3220
                'h2'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3221
                'h3'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3222
                'h4'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3223
                'h5'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3224
                'h6'            hideHTMLHeaders     headlines
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3225
            ) inGroupsOf:3 do:[:nm :hideInstVarName :thisType|
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3226
                |type hideHolder idx tagText doc markup label text markupName markupType
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3227
                 isHeader|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3228
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3229
                type := hideHolder := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3230
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3231
                idx := l indexOfSubCollection:('<',nm).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3232
                idx ~~ 0 ifTrue:[
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3233
                    hideHolder := hideInstVarName isNil 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3234
                                    ifTrue:[ false ]
14382
0db5bded6291 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14365
diff changeset
  3235
                                    ifFalse:[ self flagNamed:hideInstVarName ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3236
9918
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3237
                    tagText := line copyFrom:idx.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3238
                    doc := HTMLParser new parseText:tagText.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3239
                    markup := doc markup.
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3240
                    markupName := markup name.
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3241
                    markupType := "markup tag ?" markup type.
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3242
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3243
                    isHeader := (#(h1 h2 h3 h4 h5 h6) includes:markupType).
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3244
                    isHeader ifTrue:[ 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3245
                        type := Tag::THeaderElement  
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3246
                    ] ifFalse: [ 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3247
                        markupType == #'form' ifTrue:[ 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3248
                            type := Tag::TFormElement
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3249
                        ] ifFalse:[
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3250
                            markupType == #'a' ifTrue:[ 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3251
                                type := Tag::TAnchorElement.
17071
5aea49748e12 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16509
diff changeset
  3252
                                markupName := markup hrefString notEmptyOrNil 
5aea49748e12 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16509
diff changeset
  3253
                                                ifTrue:['"',markup hrefString,'"'] 
5aea49748e12 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16509
diff changeset
  3254
                                                ifFalse:[ markup name ]
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3255
                            ] ifFalse:[ 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3256
                                type := Tag::TElement 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3257
                            ]
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3258
                        ].
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3259
                    ].
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3260
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3261
                    markup id notEmptyOrNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3262
                        label := nm , ' (',markup id,')'
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3263
                    ] ifFalse:[
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3264
                        markupName notEmptyOrNil ifTrue:[
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3265
                            label := nm , ' (',markupName,')'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3266
                        ] ifFalse:[
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3267
                            (markupType == #input and:[ markup valueString notEmptyOrNil ]) ifTrue:[
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3268
                                label := nm , ' ("',markup valueString,'")'
9918
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3269
                            ] ifFalse:[
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3270
                                (markupType == #script and:[ markup src notEmptyOrNil ]) ifTrue:[
9918
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3271
                                    label := nm , ' ("',markup src,'")'
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3272
                                ] ifFalse:[
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3273
                                    ( isHeader 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3274
                                          and:[text := self plainTextBetweenHTMLElement:markup andElementWithTag:('/',markupType).
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3275
                                               text notEmpty] 
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3276
                                    ) ifTrue:[
11801
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3277
                                        label := '"',text,'" (',nm,')'
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3278
                                    ] ifFalse:[
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3279
                                         label := nm
18a705623785 better html tags (h-elements)
Claus Gittinger <cg@exept.de>
parents: 11771
diff changeset
  3280
                                    ]
9918
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3281
                                ]
689204752516 class definition
Claus Gittinger <cg@exept.de>
parents: 9915
diff changeset
  3282
                            ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3283
                        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3284
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3285
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3286
                    (showOnly isNil or:[thisType isNil or:[showOnly == thisType]]) ifTrue:[
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3287
                        hideHolder value ~~ true ifTrue:[
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3288
                            tag := type 
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3289
                                        label:label 
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3290
                                        pattern:nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3291
                                        type:nil
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3292
                                        lineNumber:lineNr.
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3293
                            targets add:tag.
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3294
                        ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3295
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3296
                ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3297
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3298
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3299
        s close
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3300
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3301
    ^ targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3302
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3303
    "Created: / 20-04-2011 / 18:59:29 / cg"
11802
79d02540b382 changed: #htmlTagsInFile:
Claus Gittinger <cg@exept.de>
parents: 11801
diff changeset
  3304
    "Modified: / 12-09-2012 / 17:54:07 / cg"
17071
5aea49748e12 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16509
diff changeset
  3305
    "Modified (format): / 16-11-2016 / 17:17:41 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3306
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3307
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3308
javaScriptTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3309
    "javaScript tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3310
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3311
        (function foo
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3312
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3313
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3314
    |targets line l lineNr nm s|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3315
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3316
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3317
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3318
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3319
    s := aFilePath asFilename readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3320
    s notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3321
        s := LineNumberReadStream readingFrom:s.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3322
        [s atEnd] whileFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3323
            lineNr := s lineNumber.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3324
            line := s nextLine.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3325
            l := line withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3326
14359
5aabf81db0a0 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14352
diff changeset
  3327
            (l = 'function') ifTrue:[
5aabf81db0a0 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14352
diff changeset
  3328
                l := l , ' ' , (s nextLine withoutSeparators).
5aabf81db0a0 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14352
diff changeset
  3329
            ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3330
            (l startsWith:'function ') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3331
                (showOnly isNil or:[showOnly == #functions]) ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3332
                    self hideFunctions ~~ true ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3333
                        nm := l copyFrom:('function ' size + 1).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3334
                        nm := nm copyTo:(nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3335
                                            findFirst:[:ch | (ch isLetterOrDigit or:['$_' includes:ch]) not] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3336
                                            ifNone:nm size+1)-1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3337
                        targets add:(Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3338
                                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3339
                                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3340
                                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3341
                                        lineNumber:lineNr).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3342
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3343
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3344
            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3345
                (l startsWith:'var ') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3346
                    (showOnly isNil or:[showOnly == #variables]) ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3347
                        self hideVariables ~~ true ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3348
                            nm := l copyFrom:('var ' size + 1).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3349
                            nm := nm copyTo:(nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3350
                                                findFirst:[:ch | (ch isLetterOrDigit or:['$_' includes:ch]) not] 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3351
                                                ifNone:nm size+1)-1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3352
                            targets add:(Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3353
                                            label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3354
                                            pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3355
                                            type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3356
                                            lineNumber:lineNr).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3357
                        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3358
                    ].
15072
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3359
                ] ifFalse:[
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3360
                    ((l includesString:'=function') or:[(l includesString:'= function')]) ifTrue:[
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3361
                        (showOnly isNil or:[showOnly == #functions]) ifTrue:[
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3362
                            self hideFunctions ~~ true ifTrue:[
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3363
                                nm := l copyTo:((l indexOf:$=) - 1). nm := nm withoutSeparators.
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3364
                                targets add:(Tag::TFunction 
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3365
                                                label:nm 
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3366
                                                pattern:nil
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3367
                                                type:nil
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3368
                                                lineNumber:lineNr).
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3369
                            ].
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3370
                        ].
113054b443df class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14881
diff changeset
  3371
                    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3372
                ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3373
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3374
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3375
        s close
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3376
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3377
    ^ targets
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3378
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3379
    "Created: / 28-06-2010 / 12:44:25 / cg"
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3380
    "Modified: / 08-05-2011 / 10:39:55 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3381
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3382
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3383
lispTagFromLine:line lineNr:lineNr
14344
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3384
    "lisp/scheme tags:
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3385
     naive, q&d scan for lines starting with:
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3386
        (define ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3387
        (defun ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3388
        (defvar ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3389
        (defmacro ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3390
        (defclass ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3391
        (defmethod ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3392
        (defpackage ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3393
        (eval-when ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3394
        (define- ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3395
        (def* ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3396
        (set ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3397
        (constant ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3398
        (defconstant ...
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3399
        (define-constant ...
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3400
        ;;; more        documentation
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3401
    
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3402
     This is NOT syntax aware, so affected by formatting, line breaks etc.
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3403
     Just enough to allow most scheme and lisp programs to be tagged and
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3404
     viewed in the file browser. For real lisp work, more is needed.    
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3405
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3406
14352
ba94506ca315 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14347
diff changeset
  3407
    |l nm words def inParens rest|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3408
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3409
    l := line withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3410
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3411
    (l startsWith:'(') ifFalse:[  
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3412
        (showOnly notNil and:[showOnly ~~ #documentation]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3413
        self hideDocumentation == true ifTrue:[ ^ nil ].
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3414
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3415
        (l startsWith:';;;') ifFalse:[^ nil].
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3416
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3417
        rest := (l copyFrom:4) withoutSeparators.
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3418
        rest isEmpty ifTrue:[^ nil].
15288
99ce283dbfa8 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15241
diff changeset
  3419
        (rest conform:[:ch | ch == $;]) ifTrue:[^ nil].
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3420
        ^ Tag::TDocumentation 
16509
df40466ef30d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16280
diff changeset
  3421
                        label:(rest withColor:(Color blue "grey")) 
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3422
                        pattern:nil
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3423
                        type:nil
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3424
                        lineNumber:lineNr.
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3425
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3426
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3427
    words := (l copyFrom:2) asCollectionOfWords.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3428
    words size >= 2 ifFalse:[^ nil].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3429
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3430
    def := words first.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3431
    nm := words second.
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3432
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3433
    "/ inparens is true if we have (define (name
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3434
    (inParens := nm = '(') ifTrue:[
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3435
        words size > 2 ifTrue:[ nm := words third ] ifFalse:[ nm := '' ].
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3436
    ] ifFalse:[    
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3437
        (inParens := nm startsWith:'(') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3438
            nm := nm copyFrom:2.
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3439
        ] ifFalse:[
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3440
            nm := nm upTo:$(.    "/ in case it is (define foo() - without space after name
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3441
            (inParens := nm startsWith:'(') ifTrue:[
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3442
                nm := nm copyFrom:2.
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3443
            ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3444
        ].
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3445
    ].    
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3446
    (nm endsWith:')') ifTrue:[
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  3447
        nm := nm copyButLast
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3448
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3449
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3450
    def = 'define' ifTrue:[             "/ scheme
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3451
        inParens ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3452
            (showOnly notNil and:[showOnly ~~ #functions]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3453
            self hideFunctions == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3454
            ^ Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3455
                            label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3456
                            pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3457
                            type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3458
                            lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3459
        ] ifFalse:[
14344
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3460
            "/ check for (define name (lambda ...
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3461
            "/ and (define name (macro ...
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3462
            (words size > 2
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3463
              and:[ words third startsWith:'(' ]) ifTrue:[
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3464
                (words third = '(' and:[words size > 3]) ifTrue:[
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3465
                    def := words fourth
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3466
                ] ifFalse:[
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3467
                    def := words third copyFrom:2.
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3468
                ].
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3469
                def = 'lambda' ifTrue:[
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3470
                    (showOnly notNil and:[showOnly ~~ #functions]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3471
                    self hideFunctions == true ifTrue:[ ^ nil ].
14344
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3472
                    ^ Tag::TFunction 
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3473
                                    label:nm 
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3474
                                    pattern:nil
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3475
                                    type:nil
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3476
                                    lineNumber:lineNr.
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3477
                ].
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3478
                def = 'macro' ifTrue:[
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3479
                    (showOnly notNil and:[showOnly ~~ #macros]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3480
                    self hideLispMacros == true ifTrue:[ ^ nil ].
14344
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3481
                    ^ Tag::TLispMacro 
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3482
                                    label:nm 
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3483
                                    pattern:nil
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3484
                                    type:nil
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3485
                                    lineNumber:lineNr.
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3486
                ].
68ca14353fd5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13771
diff changeset
  3487
            ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3488
            (showOnly notNil and:[showOnly ~~ #variables]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3489
            self hideVariables == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3490
            ^ Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3491
                            label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3492
                            pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3493
                            type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3494
                            lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3495
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3496
        ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3497
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3498
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3499
    def = 'defun' ifTrue:[
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3500
        (showOnly notNil and:[showOnly ~~ #functions]) ifTrue:[^ nil].
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3501
        self hideFunctions == true ifTrue:[ ^ nil ].
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3502
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3503
        ^ Tag::TFunction 
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3504
                        label:nm 
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3505
                        pattern:nil
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3506
                        type:nil
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3507
                        lineNumber:lineNr.
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3508
    ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3509
    def = 'defvar' ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3510
        (showOnly notNil and:[showOnly ~~ #variables]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3511
        self hideVariables == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3512
        ^ Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3513
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3514
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3515
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3516
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3517
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3518
    def = 'set' ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3519
        self hideVariables == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3520
        ^ Tag::TVariable 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3521
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3522
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3523
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3524
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3525
    ].
15912
6edd447ce2c8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 15855
diff changeset
  3526
    (def = 'defconstant' or:[def = 'define-constant' or:[def = 'constant']]) ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3527
        (showOnly notNil and:[showOnly ~~ #constants]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3528
        self hideLispConstants == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3529
        ^ Tag::TLispConstant 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3530
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3531
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3532
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3533
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3534
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3535
    (def = 'mac' or:[def = 'defmacro' or:[def = 'define-macro']]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3536
        (showOnly notNil and:[showOnly ~~ #macros]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3537
        self hideLispMacros == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3538
        ^ Tag::TLispMacro 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3539
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3540
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3541
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3542
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3543
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3544
    (def = 'defclass' or:[def = 'define-class']) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3545
        (showOnly notNil and:[showOnly ~~ #classes]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3546
        self hideClasses == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3547
        ^ Tag::TClass 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3548
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3549
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3550
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3551
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3552
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3553
    (def = 'defmethod' or:[def = 'define-method' or:[def = 'define-generic']]) ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3554
        (showOnly notNil and:[showOnly ~~ #methods]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3555
        self hideLispMethods == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3556
        ^ Tag::TMethod 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3557
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3558
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3559
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3560
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3561
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3562
    (def = 'defpackage') ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3563
        self hideLispMethods == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3564
        ^ Tag::TPackage 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3565
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3566
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3567
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3568
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3569
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3570
    def = 'eval-when' ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3571
        self hideLispEvaluations == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3572
        ^ Tag::TLispEval 
14352
ba94506ca315 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14347
diff changeset
  3573
                        label:nm 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3574
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3575
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3576
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3577
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3578
    def = 'defstruct' ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3579
        self hideStructures == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3580
        ^ Tag::TStruct 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3581
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3582
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3583
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3584
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3585
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3586
    (def startsWith:'def') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3587
        (showOnly notNil and:[showOnly ~~ #functions]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3588
        self hideFunctions == true ifTrue:[ ^ nil ].
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3589
        ^ Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3590
                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3591
                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3592
                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3593
                        lineNumber:lineNr.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3594
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3595
    ^ nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3596
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3597
    "Modified: / 08-05-2011 / 10:57:03 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3598
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3599
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3600
lispTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3601
    "lisp tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3602
     naive, q&d scan for lines starting with (not syntax-aware):
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3603
        (define ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3604
        (defun ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3605
        (defvar ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3606
        (defmacro ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3607
        (defclass ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3608
        (defmethod ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3609
        (defpackage ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3610
        (eval-when ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3611
        (define- ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3612
        (def* ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3613
        (set ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3614
        (constant ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3615
        (defconstant ...
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3616
        ;;; moretext     documentation
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3617
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3618
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3619
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3620
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3621
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3622
                self lispTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3623
              ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3624
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  3625
    "Modified: / 08-05-2011 / 10:12:29 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3626
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3627
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3628
luaTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3629
    "lua tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3630
     naive, q&d scan for lines starting with (not syntax-aware):
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3631
        local function ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3632
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3633
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3634
    |l nm words def isLocal|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3635
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3636
    l := line withoutSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3637
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3638
    (l startsWith:'--') ifTrue:[^ nil].     "/ comment  
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3639
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3640
    words := l splitByAny:(' (),',Character tab).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3641
    words size >= 2 ifFalse:[^ nil].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3642
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3643
    (isLocal := words first = 'local') ifTrue:[ words := words copyFrom:2 ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3644
    words size <= 2 ifTrue:[ ^ nil ]. 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3645
    def := words first.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3646
    nm := words second.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3647
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3648
    def = 'function' ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3649
        (showOnly notNil and:[showOnly ~~ #functions]) ifTrue:[^ nil].
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3650
        self hideFunctions == true ifTrue:[ ^ nil ].
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3651
        ^ Tag::TFunction 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3652
                        label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3653
                        pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3654
                        type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3655
                        lineNumber:lineNr.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3656
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3657
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3658
    isLocal ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3659
        (words includes:'=') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3660
            words := words copyTo:(words indexOf:'=')-1
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3661
        ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3662
        ^ words 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3663
            collect:[:eachVar |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3664
                Tag::TVariable 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3665
                            label:eachVar 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3666
                            pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3667
                            type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3668
                            lineNumber:lineNr.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3669
            ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3670
            as:Array.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3671
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3672
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3673
    ^ nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3674
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3675
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3676
luaTagsInFile:aFilePath
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3677
    "lua tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3678
     naive, q&d scan for lines starting with (not syntax-aware):
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3679
        local function ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3680
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3681
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3682
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3683
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3684
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3685
                self luaTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3686
              ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3687
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3688
16280
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3689
objcTagFromLine:line lineNr:lineNr
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3690
    "objc tags:
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3691
     naive, q&d scan for lines starting with some common patterns"
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3692
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3693
    |l nm lineStream kwLen type hideHolder skipType|
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3694
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3695
    l := line withoutSeparators.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3696
    skipType := false.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3697
    
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3698
    (l startsWith:'@interface') ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3699
        kwLen := '@interface' size.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3700
        type := Tag::TInterface.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3701
        hideHolder := self hideObjcClasses.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3702
    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3703
    (l startsWith:'@implementation') ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3704
        kwLen := '@implementation' size.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3705
        type := Tag::TClass.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3706
        hideHolder := self hideObjcClasses.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3707
    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3708
    (l startsWith:'@property') ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3709
        kwLen := '@property' size.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3710
        type := Tag::TMacro.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3711
    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3712
    (l startsWithAnyOf:'+-') ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3713
        kwLen := 1.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3714
        type := Tag::TMethod.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3715
        hideHolder := self hideObjcMethods.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3716
        skipType := true.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3717
    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3718
    hideHolder value ~~ true ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3719
        kwLen notNil ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3720
            lineStream := l readStream.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3721
            lineStream skip:kwLen; skipSeparators.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3722
            skipType ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3723
                lineStream peek == $( ifTrue:[
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3724
                    lineStream next. lineStream skipThrough:$).
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3725
                    lineStream skipSeparators.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3726
                ].    
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3727
            ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3728
            
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3729
            nm := lineStream upToElementForWhich:[:ch | (ch isLetterOrDigit or:['_' includes:ch]) not].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3730
            (nm notEmpty and:[nm first isLetterOrUnderline]) ifTrue:[    
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3731
                ^ type 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3732
                                label:nm 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3733
                                pattern:nil
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3734
                                type:nil
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3735
                                lineNumber:lineNr.
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3736
            ]
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3737
        ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3738
    ].
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3739
    
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3740
    ^ nil
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3741
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3742
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3743
objcTagsInFile:aFilePath
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3744
    "objc tags:
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3745
     naive, q&d scan for lines starting with some wellknown patterns"
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3746
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3747
    ^ self
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3748
        linewiseNaiveTagsInFile:aFilePath 
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3749
        using:[:line :lineNr |
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3750
                self objcTagFromLine:line lineNr:lineNr
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3751
              ]
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3752
!
b4b9c4079ee8 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16181
diff changeset
  3753
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3754
ozTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3755
    "oz tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3756
     naive, q&d scan for lines starting with:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3757
        fun { name ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3758
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3759
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3760
    |l nm lineStream kwLen skipBrace type hideHolder|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3761
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3762
    l := line withoutSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3763
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3764
    kwLen := nil.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3765
    skipBrace := false.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3766
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3767
    (l startsWith:'class') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3768
        kwLen := 5.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3769
        type := Tag::TClass.
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3770
        hideHolder := self hideOzClasses.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3771
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3772
    (l startsWith:'meth') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3773
        kwLen := 4.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3774
        type := Tag::TMethod.
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3775
        hideHolder := self hideOzMethods.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3776
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3777
    (l startsWith:'fun') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3778
        kwLen := 3.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3779
        skipBrace := true.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3780
        type := Tag::TFunction.
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3781
        hideHolder := self hideOzFunctions.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3782
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3783
    (l startsWith:'proc') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3784
        kwLen := 4.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3785
        skipBrace := true.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3786
        type := Tag::TFunction.
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3787
        hideHolder := self hideOzFunctions.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3788
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3789
    hideHolder value ~~ true ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3790
        kwLen notNil ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3791
            lineStream := l readStream.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3792
            lineStream skip:kwLen; skipSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3793
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3794
            (skipBrace not or:[lineStream peek = ${ ]) ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3795
                skipBrace ifTrue:[lineStream skip:1; skipSeparators].  
14538
afb944cb7612 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14482
diff changeset
  3796
                nm := lineStream upToElementForWhich:[:ch | (ch isLetterOrDigit or:['_' includes:ch]) not].
15220
56b706f31930 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15168
diff changeset
  3797
                (nm notEmpty and:[nm first isLetterOrUnderline]) ifTrue:[    
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3798
                    ^ type 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3799
                                    label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3800
                                    pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3801
                                    type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3802
                                    lineNumber:lineNr.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3803
                ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3804
            ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3805
        ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3806
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3807
    ^ nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3808
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3809
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3810
ozTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3811
    "oz tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3812
     naive, q&d scan for lines starting with:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3813
        fun { name ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3814
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3815
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3816
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3817
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3818
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3819
                self ozTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3820
              ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3821
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3822
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3823
phpTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3824
    "php tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3825
     naive, q&d scan for lines starting with:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3826
        var ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3827
        class ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3828
        function ...
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3829
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3830
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3831
    |l nm lineStream|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3832
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3833
    l := line withoutSeparators.
14669
c2dcc9d3e1d2 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14579
diff changeset
  3834
    (l startsWith:'public ') ifTrue:[ l := (l copyFrom:'public ' size + 1) withoutSeparators ].
14681
7e1e6251f549 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14669
diff changeset
  3835
    (l startsWith:'private ') ifTrue:[ l := (l copyFrom:'private ' size + 1) withoutSeparators ].
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3836
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3837
    (l startsWith:'var ') ifTrue:[
14669
c2dcc9d3e1d2 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14579
diff changeset
  3838
        lineStream := (l copyFrom:'var ' size) readStream.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3839
        lineStream skipSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3840
        lineStream peek == $$ ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3841
            lineStream next.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3842
            nm := lineStream 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3843
                    nextMatching:[:c | c isLetter] 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3844
                    thenMatching:[:c | c isLetterOrDigit or:[c == $_]].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3845
            ^ (Tag::TVariable 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3846
                        label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3847
                        pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3848
                        type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3849
                        lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3850
        ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3851
    ] ifFalse:[
14681
7e1e6251f549 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14669
diff changeset
  3852
        ((l startsWith:'class ') or:[l startsWith:'Class '])ifTrue:[
14669
c2dcc9d3e1d2 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14579
diff changeset
  3853
            lineStream := (l copyFrom:'class ' size) readStream.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3854
            lineStream skipSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3855
            nm := lineStream 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3856
                    nextMatching:[:c | c isLetter] 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3857
                    thenMatching:[:c | c isLetterOrDigit or:[c == $_]].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3858
            ^ (Tag::TClass 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3859
                            label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3860
                            pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3861
                            type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3862
                            lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3863
        ] ifFalse:[
14681
7e1e6251f549 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14669
diff changeset
  3864
            ((l startsWith:'function ') or:[l startsWith:'Function ']) ifTrue:[
14669
c2dcc9d3e1d2 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14579
diff changeset
  3865
                lineStream := (l copyFrom:'function ' size) readStream.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3866
                lineStream skipSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3867
                nm := lineStream 
14669
c2dcc9d3e1d2 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14579
diff changeset
  3868
                        nextMatching:[:c | c isLetter or:[c == $_]] 
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3869
                        thenMatching:[:c | c isLetterOrDigit or:[c == $_]].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3870
                 ^ (Tag::TFunction
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3871
                                label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3872
                                pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3873
                                type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3874
                                lineNumber:lineNr).
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3875
            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3876
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3877
    ].
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3878
    ^ nil
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3879
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3880
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3881
phpTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3882
    "php tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3883
     naive, q&d scan for lines starting with:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3884
        var ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3885
        class ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3886
        function ...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3887
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3888
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3889
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3890
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3891
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3892
                self phpTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3893
              ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3894
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3895
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3896
prologTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3897
    "prolog tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3898
     naive, q&d scan for lines matching:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3899
        <anything> :-
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3900
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3901
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3902
    |l nm|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3903
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3904
    l := line withoutSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3905
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3906
    (l includesString:':-') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3907
        (l startsWith:':-') ifFalse:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3908
            nm := l copyTo:(l indexOfSubCollection:':-').
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3909
            ^ (Tag::TPrologClause 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3910
                            label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3911
                            pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3912
                            type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3913
                            lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3914
        ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3915
    ].
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3916
    ^ nil
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3917
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3918
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3919
prologTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3920
    "prolog tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3921
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3922
        <anything> :-
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3923
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3924
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3925
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3926
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3927
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3928
                self prologTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  3929
              ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3930
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3931
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3932
pythonTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3933
    "python tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3934
     naive, q&d scan for lines matching
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3935
        class <anything> :
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3936
     or
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3937
        def <anything> :
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3938
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3939
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3940
    |targets line l lineNr nm s inClass indent classIndent|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3941
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3942
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3943
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3944
    inClass := nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3945
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3946
    s := aFilePath asFilename readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3947
    inClass := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3948
    classIndent := 0.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3949
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3950
    s notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3951
        s := LineNumberReadStream readingFrom:s.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3952
        [s atEnd] whileFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3953
            lineNr := s lineNumber.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3954
            line := s nextLine.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3955
            l := line withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3956
            l size > 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3957
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3958
                line := line withTabsExpanded:8.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3959
                indent := line findFirst:[:c | c ~~ Character space].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3960
                indent := indent // 8.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3961
                indent < classIndent ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3962
                    inClass removeFirstIfAbsent:nil.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3963
                    classIndent := classIndent - 1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3964
                ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3965
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3966
                (l startsWith:'class ') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3967
                    (l endsWith:':') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3968
                        nm := l copyFrom:7 to:(l size - 1).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3969
                        nm := nm withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3970
                        (showOnly ~~ #pythonFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3971
                        and:[showOnly ~~ #pythonMethods]) ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3972
                            self hidePythonClasses ~~ true ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3973
                                targets add:(Tag::TClass 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3974
                                                label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3975
                                                pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3976
                                                type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3977
                                                lineNumber:lineNr).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3978
                            ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3979
                        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3980
                        nm := nm upTo:$(.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3981
                        inClass addFirst:nm.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3982
                        classIndent := indent + 1.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3983
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3984
                ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3985
                    (l startsWith:'def ') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3986
                        (l endsWith:':') ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3987
                            nm := l copyFrom:5 to:(l size - 1).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3988
                            nm := nm withoutSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3989
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3990
                            inClass size > 0 ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3991
                                (showOnly ~~ #pythonFunctions
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3992
                                and:[showOnly ~~ #pythonClasses]) ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  3993
                                    self hidePythonMethods ~~ true ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3994
                                        nm := inClass first , '.' , nm.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3995
                                        targets add:(Tag::TMethod 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3996
                                                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3997
                                                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3998
                                                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3999
                                                        lineNumber:lineNr).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4000
                                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4001
                                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4002
                            ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4003
                                (showOnly ~~ #pythonClasses
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4004
                                and:[showOnly ~~ #pythonMethods]) ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  4005
                                    self hidePythonFunctions ~~ true ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4006
                                        targets add:(Tag::TFunction 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4007
                                                        label:nm 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4008
                                                        pattern:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4009
                                                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4010
                                                        lineNumber:lineNr).
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4011
                                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4012
                                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4013
                            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4014
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4015
                    ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4016
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4017
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4018
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4019
        s close
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4020
    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4021
    ^ targets
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4022
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4023
    "Modified: / 08-05-2011 / 10:39:10 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4024
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4025
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4026
rubyTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4027
    "ruby tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4028
     naive, q&d scan for lines matching:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4029
        def any
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4030
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4031
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4032
    |l nm|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4033
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4034
    l := line withoutSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4035
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4036
    (l startsWith:'def ') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4037
        nm := l copyFrom:5.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4038
        ^ (Tag::TFunction 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4039
                        label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4040
                        pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4041
                        type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4042
                        lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4043
    ] ifFalse:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4044
        (l startsWith:'class ') ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  4045
            self hideClasses == true ifFalse:[
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4046
                nm := l copyFrom:6.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4047
                ^ (Tag::TClass 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4048
                                label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4049
                                pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4050
                                type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4051
                                lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4052
            ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4053
        ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4054
    ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4055
    ^ nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4056
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4057
    "Modified: / 08-05-2011 / 10:38:44 / cg"
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4058
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4059
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4060
rubyTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4061
    "ruby tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4062
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4063
        def any
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4064
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4065
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4066
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4067
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4068
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4069
                self rubyTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4070
              ]
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4071
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4072
    "Modified: / 08-05-2011 / 10:38:44 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4073
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4074
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4075
stTagsInFile:aFilePath in:aTempDirectory
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4076
    "smalltalk tags:
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4077
     not so naive: generate a changeList from the contents and convert it into a tag-list
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4078
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4079
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4080
    |targets s anyPrimitiveDefinitions shellCmd cTagsList|
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4081
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4082
    Tag autoload.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4083
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4084
    anyPrimitiveDefinitions := false.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4085
    targets := OrderedCollection new.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4086
    s := aFilePath asFilename readStream.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4087
    s notNil ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4088
        s := LineNumberReadStream readingFrom:s.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4089
        s skipSeparators.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4090
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4091
        "/ new interface: block-arg to #changesFromStream:do: gets 3 args
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4092
        [
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4093
            ChangeSet::InvalidChangeChunkError handle:[:ex |
15168
89ee05d5d610 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15072
diff changeset
  4094
                Dialog warn:('TagList [info]: Error while processing changes in "%1":\\%2' withCRs
89ee05d5d610 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15072
diff changeset
  4095
                                bindWith:aFilePath asFilename pathName
89ee05d5d610 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15072
diff changeset
  4096
                                with: ex description).
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4097
            ] do:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4098
                ChangeSet changesFromStream:s do:[:aChange :lNr :pos|
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4099
                    aChange isClassDefinitionChange ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  4100
                        self hideClasses == true ifFalse:[
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4101
                            targets add:(Tag::TClass 
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4102
                                        label:(aChange className) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4103
                                        pattern:('/subclass:')
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4104
                                        type:nil
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4105
                                        lineNumber:lNr).
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4106
                        ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4107
                    ] ifFalse:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4108
                        aChange isMethodChange ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  4109
                            self hideMethods == true ifFalse:[
13450
bd651fbd8cff class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13444
diff changeset
  4110
                                targets add:((Tag::TMethod
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4111
                                            label:(aChange selector) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4112
                                            pattern:('/^' , aChange selector)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4113
                                            type:nil
13450
bd651fbd8cff class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13444
diff changeset
  4114
                                            lineNumber:lNr)
bd651fbd8cff class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 13444
diff changeset
  4115
                                                isMeta:(aChange className endsWith:' class')).
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4116
                            ]
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4117
                        ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4118
                            aChange isPrimitiveChange ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4119
                                targets add:(Tag::TMacro
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4120
                                            label:(aChange isPrimitiveDefinitionsChange
11051
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4121
                                                        ifTrue:['<< primitive definitions >>']
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4122
                                                        ifFalse:[ (aChange isPrimitiveFunctionsChange
11051
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4123
                                                                    ifTrue:['<< primitive functions >>']
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4124
                                                                    ifFalse:['<< primitive variables >>'])])
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4125
                                            pattern:('/^' , aChange source asStringCollection first)
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4126
                                            type:nil
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4127
                                            lineNumber:lNr).
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4128
                                anyPrimitiveDefinitions := true
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4129
                            ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4130
                        ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4131
                    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4132
                ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4133
            ]
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4134
        ] ensure:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4135
            s close.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4136
        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4137
    ].
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4138
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4139
    anyPrimitiveDefinitions ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4140
        "/ also invoke ctags on the file, merge those tags.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4141
        "/ sorry: not perfect, because ctags seems to get confused by the extra %{ %} nesting.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4142
        shellCmd := (self shellCommandTemplateFor:(aFilePath asFilename withSuffix:'c') pathName)
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4143
                        bindWith:aFilePath.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4144
        shellCmd notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4145
            cTagsList := self getTagListFromFile:aFilePath asFilename usingCommand:shellCmd mode:#c in:aTempDirectory.
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4146
            cTagsList notEmptyOrNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4147
                ^ cTagsList , targets
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4148
            ].
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4149
        ].
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4150
    ].
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4151
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4152
    ^ targets
9921
Claus Gittinger <cg@exept.de>
parents: 9918
diff changeset
  4153
11050
Claus Gittinger <cg@exept.de>
parents: 10840
diff changeset
  4154
    "Created: / 05-01-2012 / 10:56:26 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4155
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4156
15711
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4157
stxResourceTagsInFile:aFilePath
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4158
    "resource tags:
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4159
     scan for translated entries to show them alphabetically"
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4160
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4161
    |rsrcPack|
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4162
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4163
    rsrcPack := ResourcePack fromFile:aFilePath.
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4164
    ^ self
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4165
        linewiseNaiveTagsInFile:aFilePath 
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4166
        using:[:rawLine :lineNr |
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4167
            |line key tag|
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4168
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4169
            line := rawLine withoutSeparators.
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4170
            (line isEmpty or:[line startsWithAnyOf:'#;']) ifFalse:[
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4171
                (line startsWith:$') ifTrue:[
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4172
                    "read as smalltalk string"
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4173
                    key := String readFrom:line.
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4174
                ] ifFalse:[
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4175
                    key := line upToSeparator.
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4176
                ].
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4177
                (rsrcPack includesKey:key) ifTrue:[
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4178
                    tag := Tag::TLabel 
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4179
                        label:key 
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4180
                        pattern:nil
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4181
                        type:nil
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4182
                        lineNumber:lineNr.
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4183
                ]
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4184
            ].
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4185
            tag
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4186
        ].
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4187
!
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4188
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4189
tclTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4190
    "tcl tags:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4191
     naive, q&d scan for lines matching:
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4192
        proc any
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4193
    "
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4194
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4195
    |l nm words|
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4196
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4197
    l := line withoutSeparators.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4198
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4199
    (l startsWith:'proc ') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4200
        nm := l withoutPrefix:'proc '.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4201
        ^(Tag::TFunction 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4202
                        label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4203
                        pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4204
                        type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4205
                        lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4206
    ] ifFalse:[ (l startsWith:'tixWidgetClass ') ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4207
        nm := l copyFrom:'tixWidgetClass ' size + 1.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4208
        (nm endsWith:'{') ifTrue:[
14579
3c1230b28239 html tag menu
Claus Gittinger <cg@exept.de>
parents: 14564
diff changeset
  4209
            nm := (nm copyButLast) withoutSeparators.
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4210
        ].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4211
        ^(Tag::TClass 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4212
                        label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4213
                        pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4214
                        type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4215
                        lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4216
    ] ifFalse:[ (l startsWith:'set ') ifTrue:[
14346
687b49e574c6 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14345
diff changeset
  4217
        self hideVariables ~~ true ifTrue:[
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4218
            words := l asCollectionOfWords.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4219
            words size >= 2 ifTrue:[
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4220
                nm := words second.
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4221
                ^(Tag::TVariable 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4222
                                label:nm 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4223
                                pattern:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4224
                                type:nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4225
                                lineNumber:lineNr).
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4226
        ]
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4227
    ]]]].
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4228
    ^ nil
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4229
!
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4230
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4231
tclTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4232
    "tcl tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4233
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4234
        proc any
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4235
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4236
14345
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4237
    ^ self
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4238
        linewiseNaiveTagsInFile:aFilePath 
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4239
        using:[:line :lineNr |
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4240
                self tclTagFromLine:line lineNr:lineNr
af295cf3d7a3 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 14344
diff changeset
  4241
              ]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4242
!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4243
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4244
xsdTagFromLine:line lineNr:lineNr
15711
a18fbc02f64c class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15706
diff changeset
  4245
    "xsd schema tags:
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4246
     naive, q&d scan for lines matching:
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4247
        <xsd:complexType...
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4248
        <xsd:simpleType ...
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4249
     Should be replaced by a more sophisticated reader, which parses the xml first.    
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4250
    "
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4251
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4252
    |l nm i1 i2|
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4253
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4254
    l := line withoutSeparators.
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4255
15706
04f752a36e0a class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15689
diff changeset
  4256
    ((l includesString:':complexType ') or:[l includesString:':simpleType ']) ifTrue:[
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4257
        i1 := l findString:'name="'.        
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4258
        i1 ~~ 0 ifTrue:[
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4259
            nm := l copyFrom:(i1 + 'name="' size).
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4260
            i2 := nm indexOf:$".
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4261
            nm := nm copyTo:i2-1.
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4262
            ^(Tag::TTypedef 
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4263
                            label:nm 
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4264
                            pattern:nil
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4265
                            type:nil
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4266
                            lineNumber:lineNr).
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4267
        ].
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4268
    ].
15706
04f752a36e0a class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15689
diff changeset
  4269
    (l includesString:':element ') ifTrue:[
15689
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4270
        i1 := l findString:'name="'.        
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4271
        i1 ~~ 0 ifTrue:[
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4272
            nm := l copyFrom:(i1 + 'name="' size).
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4273
            i2 := nm indexOf:$".
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4274
            nm := nm copyTo:i2-1.
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4275
            ^(Tag::TElement 
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4276
                            label:nm 
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4277
                            pattern:nil
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4278
                            type:nil
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4279
                            lineNumber:lineNr).
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4280
        ].
b4c8ceff3fe5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15685
diff changeset
  4281
    ].
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4282
    ^ nil
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4283
!
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4284
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4285
xsdTagsInFile:aFilePath
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4286
    "xsd tags:
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4287
     naive, q&d scan for lines matching:
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4288
        <xsd:complexType...
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4289
        <xsd:simpleType ...
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4290
     Should be replaced by a more sophisticated reader, which parses the xml first.    
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4291
    "
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4292
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4293
    ^ self
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4294
        linewiseNaiveTagsInFile:aFilePath 
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4295
        using:[:line :lineNr |
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4296
                self xsdTagFromLine:line lineNr:lineNr
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4297
              ]
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4298
!
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4299
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4300
yaccTagsInFile:aFilePath
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4301
    "yacc tags:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4302
     naive, q&d scan for lines matching:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4303
        <anything>:
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4304
    "
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4305
11825
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  4306
    ^ self tagsForLinesStartingWithIdentifierAndColon:aFilePath
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  4307
Claus Gittinger <cg@exept.de>
parents: 11802
diff changeset
  4308
    "Modified: / 28-09-2012 / 14:45:52 / cg"
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4309
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4310
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4311
!TagList methodsFor:'testing'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4312
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4313
supportsFile:aFile
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4314
    "return true, if we can generate tags for a file"
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4315
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4316
    aFile isReadable ifFalse:[^ false].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4317
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4318
    "/ cg: now always return true - let generateTag run against the wall...
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4319
    ^ true.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4320
13335
41db12e54ad3 class: Tools::TagList
Stefan Vogel <sv@exept.de>
parents: 13317
diff changeset
  4321
"/    lcSuffix := aFile suffix asLowercase.
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4322
"/    selfClass := self class.
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4323
"/
13335
41db12e54ad3 class: Tools::TagList
Stefan Vogel <sv@exept.de>
parents: 13317
diff changeset
  4324
"/    lcSuffix size ~~ 0 ifTrue:[
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4325
"/        ((selfClass isCSuffix:lcSuffix) 
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4326
"/        or:[(selfClass isJavaSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4327
"/        or:[(selfClass isEiffelSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4328
"/        or:[(selfClass isFortranSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4329
"/        or:[(selfClass isPythonSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4330
"/        or:[(selfClass isLispSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4331
"/        or:[(selfClass isPrologSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4332
"/        or:[(selfClass isTCLSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4333
"/        or:[(selfClass isAssemblerSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4334
"/        or:[(selfClass isSmalltalkSuffix:lcSuffix)
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4335
"/        or:[(selfClass isRubySuffix:lcSuffix)]]]]]]]]]])
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4336
"/        ifTrue:[
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4337
"/            ^ true
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4338
"/        ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4339
"/    ].
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4340
"/
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4341
"/    lcName := aFile baseName asLowercase.
13335
41db12e54ad3 class: Tools::TagList
Stefan Vogel <sv@exept.de>
parents: 13317
diff changeset
  4342
"/    ^ selfClass makeFilePatterns contains:[:pattern | pattern match:lcName]
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4343
! !
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4344
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4345
!TagList class methodsFor:'documentation'!
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4346
11051
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4347
version
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4348
    ^ '$Header$'
11051
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4349
!
961760257241 changed: #stTagsInFile:in:
Claus Gittinger <cg@exept.de>
parents: 11050
diff changeset
  4350
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4351
version_CVS
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4352
    ^ '$Header$'
10054
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
  4353
!
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
  4354
0c212398b6cb changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 9939
diff changeset
  4355
version_SVN
15685
cb80119a7e8b class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 15328
diff changeset
  4356
    ^ '$Id$'
9891
67a9308a6109 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4357
! !
12332
6026e5c43ea5 class: Tools::TagList
Claus Gittinger <cg@exept.de>
parents: 11830
diff changeset
  4358