keyboardMacros.rc
author Claus Gittinger <cg@exept.de>
Wed, 27 Mar 2019 23:35:00 +0100
changeset 1594 3aa76efb2c47
parent 1451 319f45ae429a
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"*
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 * Encoding: iso8859-1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 * $Header$
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 * MIMEType: application/x-smalltalk-source
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 * sample keyboardMacros.rc - file
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 * this file defines some keyboard macros
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 * Feel free to add your own.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 * Here, only the macro-codes are defined;
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
 * the actual binding of macro to a particular key is done in keyboard.rc.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
 * these are my personal preferrences which may not be
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
 * correct for your environment.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
 * WARNING:
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
 *   please keep the expressions below free from manipulating
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
 *   global state.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
 *   Reason: in multihead applications, this will be consulted for each
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
 *   new display screen.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
 *"
1243
1fc6b3f01e48 End chung after initial comment / encoding spec
Stefan Vogel <sv@exept.de>
parents: 1086
diff changeset
    24
!
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
|macros|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
macros := UserPreferences current functionKeySequences.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
"/ macro to replace a text selection by unix commands output
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
macros at:#ReplaceSelectionByUnixCommandsOutput put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	"replace selection by corresponding
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	 unix commands output"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	|sel|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	sel := self selection.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	sel notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	    self replace:
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
		(PipeStream readingFrom:(sel asString))
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
		    contents asString
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"/ macro to paste the text generated by a block
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"/macros at:#PasteBlockEvaluationsOutput put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
"/        "replace selection by blocks output"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
"/        |sel s block|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
"/        sel := self selectionAsString.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
"/        sel notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
"/            block := Compiler evaluate:sel asString string.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
"/            s := '''' writeStream.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
"/            block value:s.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
"/            self paste:s contents asString
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
"/        ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
"/'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
"/ macro to toggle tabs
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    66
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    67
macros at:#ToggleTabs put:'self toggleTabSetting'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    68
"/macros at:#ToggleTabs put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    69
"/        "toggle between 4-col
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    70
"/         and 8-col tabs"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    71
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    72
"/        (tabPositions == self class tab4Positions)
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    73
"/             ifTrue:[self setTab8]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    74
"/             ifFalse:[self setTab4]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    75
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
"/ macro to indent by 4
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    81
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    82
macros at:#IndentBy4 put:'self indentBy:4'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    83
"/macros at:#IndentBy4 put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    84
"/        "indent selected line-range
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    85
"/         by 4 spaces (i.e. to the right)"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    86
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    87
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    88
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    89
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    90
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    91
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    92
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    93
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    94
"/                line2 := line1+1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    95
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    96
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    97
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    98
"/            self withExecuteCursorDo:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
    99
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   100
"/                    |line|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   101
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   102
"/                    line := self listAt:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   103
"/                    line notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   104
"/                        line notEmpty ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   105
"/                            line := ''    '' , line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   106
"/                            self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   107
"/                            line1 = (line2-1) ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   108
"/                                self cursorRight:4
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   109
"/                            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   110
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   111
"/                    ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   112
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   113
"/                self textChanged.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   114
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   115
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   116
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   117
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   118
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   119
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
"/ macro to undent by 4
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   124
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   125
macros at:#UndentBy4 put:'self undentBy:4'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   126
"/macros at:#UndentBy4 put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   127
"/        "undent selected line-range
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   128
"/         by 4 spaces (i.e. to the left)"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   129
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   130
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   131
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   132
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   133
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   134
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   135
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   136
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   137
"/                line2 := line1+1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   138
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   139
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   140
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   141
"/            self withExecuteCursorDo:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   142
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   143
"/                    |line|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   144
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   145
"/                    line := self listAt:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   146
"/                    line notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   147
"/                        line notEmpty ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   148
"/                            (line startsWith:''    '') ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   149
"/                                line := line copyFrom:5.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   150
"/                                self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   151
"/                                line1 = (line2-1) ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   152
"/                                    cursorCol > 4 ifTrue:[ self cursorLeft:4 ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   153
"/                                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   154
"/                            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   155
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   156
"/                    ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   157
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   158
"/                self textChanged.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   159
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   160
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   161
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   162
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   163
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   164
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
"/ macro to indent by 1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   169
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   170
macros at:#IndentBy1 put:'self indentBy:1'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   171
"/macros at:#IndentBy1 put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   172
"/        "indent selected line-range
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   173
"/         by 1 space (i.e. to the right)"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   174
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   175
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   176
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   177
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   178
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   179
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   180
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   181
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   182
"/                line2 := line1+1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   183
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   184
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   185
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   186
"/            self withExecuteCursorDo:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   187
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   188
"/                    |line|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   189
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   190
"/                    line := self listAt:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   191
"/                    line notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   192
"/                        line notEmpty ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   193
"/                            line := '' '' , line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   194
"/                            self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   195
"/                            line1 = (line2-1) ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   196
"/                                self cursorRight:1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   197
"/                            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   198
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   199
"/                    ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   200
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   201
"/                self textChanged.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   202
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   203
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   204
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   205
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   206
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   207
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
"/ macro to undent by 1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   212
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   213
macros at:#UndentBy1 put:'self undentBy:1'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   214
"/macros at:#UndentBy1 put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   215
"/        "undent selected line-range
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   216
"/         by 1 space (i.e. to the left)"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   217
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   218
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   219
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   220
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   221
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   222
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   223
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   224
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   225
"/                line2 := line1+1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   226
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   227
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   228
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   229
"/            self withExecuteCursorDo:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   230
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   231
"/                    |line|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   232
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   233
"/                    line := self listAt:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   234
"/                    line notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   235
"/                        line notEmpty ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   236
"/                            (line startsWith:'' '') ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   237
"/                                line := line copyFrom:2.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   238
"/                                self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   239
"/                                line1 = (line2-1) ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   240
"/                                    cursorCol > 1 ifTrue:[ self cursorLeft:1 ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   241
"/                                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   242
"/                            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   243
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   244
"/                    ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   245
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   246
"/                self textChanged.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   247
"/                line1 to:line2-1 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   248
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   249
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   250
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   251
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   252
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
"/ macro to convert selection to lowercase
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   257
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   258
macros at:#ConvertSelectionToLowercase put:'self convertSelectionToLowercase'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   259
"/macros at:#ConvertSelectionToLowercase put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   260
"/        "to-lower selected text"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   261
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   262
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   263
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   264
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   265
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   266
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   267
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   268
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   269
"/                line2 := line1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   270
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   271
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   272
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   273
"/            line1 to:line2 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   274
"/                |line col1 col2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   275
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   276
"/                line := (self listAt:lineNr) copy.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   277
"/                line size > 0 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   278
"/                    lineNr == line1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   279
"/                        col1 := selectionStartCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   280
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   281
"/                        col1 := 1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   282
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   283
"/                    lineNr == line2 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   284
"/                        col2 := selectionEndCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   285
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   286
"/                        col2 := (self listAt:lineNr) size.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   287
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   288
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   289
"/                    col1 to:col2 do:[:col |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   290
"/                        |ch|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   291
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   292
"/                        ch := line at:col.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   293
"/                        line at:col put:ch asLowercase.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   294
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   295
"/                    self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   296
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   297
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   298
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   299
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   300
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
"/ macro to convert selection to uppercaseFirst words
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
"/
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   305
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   306
macros at:#ConvertSelectionToUppercaseFirst put:'self convertSelectionToUppercaseFirst'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   307
"/macros at:#ConvertSelectionToUppercaseFirst put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   308
"/        "to-upperFirst selected text"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   309
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   310
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   311
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   312
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   313
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   314
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   315
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   316
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   317
"/                line2 := line1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   318
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   319
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   320
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   321
"/            line1 to:line2 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   322
"/                |line col1 col2 state|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   323
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   324
"/                line := (self listAt:lineNr) copy.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   325
"/                line size > 0 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   326
"/                    lineNr == line1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   327
"/                        col1 := selectionStartCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   328
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   329
"/                        col1 := 1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   330
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   331
"/                    lineNr == line2 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   332
"/                        col2 := selectionEndCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   333
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   334
"/                        col2 := (self listAt:lineNr) size.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   335
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   336
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   337
"/                    state := #first.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   338
"/                    col1 to:col2 do:[:col |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   339
"/                        |ch|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   340
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   341
"/                        ch := line at:col.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   342
"/                        ch isSeparator ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   343
"/                            state == #first ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   344
"/                                line at:col put:ch asUppercase.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   345
"/                                state := #skipRest
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   346
"/                            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   347
"/                        ] ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   348
"/                            state := #first
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   349
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   350
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   351
"/                    self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   352
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   353
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   354
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   355
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   356
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   358
"/ no longer needed - there is a function for that, which we can call...
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   359
macros at:#ConvertSelectionToUppercase put:'self convertSelectionToUppercase'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   360
"/macros at:#ConvertSelectionToUppercase put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   361
"/        "to-upper selected text"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   362
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   363
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   364
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   365
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   366
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   367
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   368
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   369
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   370
"/                line2 := line1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   371
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   372
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   373
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   374
"/            line1 to:line2 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   375
"/                |line col1 col2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   376
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   377
"/                line := (self listAt:lineNr) copy.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   378
"/                line size > 0 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   379
"/                    lineNr == line1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   380
"/                        col1 := selectionStartCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   381
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   382
"/                        col1 := 1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   383
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   384
"/                    lineNr == line2 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   385
"/                        col2 := selectionEndCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   386
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   387
"/                        col2 := (self listAt:lineNr) size.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   388
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   389
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   390
"/                    col1 to:col2 do:[:col |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   391
"/                        |ch|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   392
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   393
"/                        ch := line at:col.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   394
"/                        line at:col put:ch asUppercase.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   395
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   396
"/                    self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   397
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   398
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   399
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   400
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   401
"/'.
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   402
1451
319f45ae429a bug fix - wrong message send for convertSelection (F6)
Claus Gittinger <cg@exept.de>
parents: 1438
diff changeset
   403
macros at:#ConvertSelectionToLowercaseOrUppercaseOrUppercaseFirst put:'self convertSelectionToLowercaseOrUppercaseOrUppercaseFirst'.
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   404
"/macros at:#ConvertSelectionToLowercaseOrUppercaseOrUppercaseFirst put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   405
"/        "toLower/toUppercaseFirst/toUpper selected text"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   406
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   407
"/        |line1 line2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   408
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   409
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   410
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   411
"/        line1 isNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   412
"/            line1 := self perform:#cursorLine ifNotUnderstood:nil.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   413
"/            line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   414
"/                line2 := line1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   415
"/            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   416
"/        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   417
"/        line1 notNil ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   418
"/            line1 to:line2 do:[:lineNr |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   419
"/                |line col1 col2 isAllLower isLowerFirst isAllUpper isUpperFirst
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   420
"/                 makeLowercase makeUppercase makeUppercaseFirst makeLowercaseFirst|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   421
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   422
"/                line := (self listAt:lineNr) copy.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   423
"/                line size > 0 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   424
"/                    lineNr == line1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   425
"/                        col1 := selectionStartCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   426
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   427
"/                        col1 := 1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   428
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   429
"/                    lineNr == line2 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   430
"/                        col2 := selectionEndCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   431
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   432
"/                        col2 := (self listAt:lineNr) size.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   433
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   434
"/                    isAllLower := isAllUpper := isUpperFirst := isLowerFirst := true.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   435
"/                    col1 to:col2 do:[:col |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   436
"/                        |ch|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   437
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   438
"/                        ch := line at:col.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   439
"/                        ch isUppercase ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   440
"/                            isAllLower := false.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   441
"/                            col == col1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   442
"/                                isLowerFirst := false.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   443
"/                            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   444
"/                        ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   445
"/                            ch isLowercase ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   446
"/                                isAllUpper := false.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   447
"/                                col == col1 ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   448
"/                                    isUpperFirst := false.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   449
"/                                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   450
"/                            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   451
"/                        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   452
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   453
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   454
"/                    makeLowercase := makeUppercase := makeUppercaseFirst := makeLowercaseFirst := false.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   455
"/                    isLowerFirst ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   456
"/                        makeUppercaseFirst := true.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   457
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   458
"/                        "/ must remember where we come from - otherwise, we end up
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   459
"/                        "/ in upperFirst - lowerFirst cycle.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   460
"/                        "/ think about a good place to store this state
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   461
"/                        false "(isUpperFirst and:[isAllUpper not])" ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   462
"/                            makeLowercaseFirst := true.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   463
"/                         ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   464
"/                            isAllUpper ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   465
"/                                makeLowercase := true.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   466
"/                            ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   467
"/                                makeUppercase := true.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   468
"/                            ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   469
"/                        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   470
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   471
"/                    makeUppercaseFirst ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   472
"/                        line at:col1 put:(line at:col1) asUppercase.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   473
"/                    ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   474
"/                        makeLowercaseFirst ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   475
"/                            line at:col1 put:(line at:col1) asLowercase.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   476
"/                        ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   477
"/                            col1 to:col2 do:[:col |
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   478
"/                                |ch|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   479
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   480
"/                                ch := line at:col.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   481
"/                                ch := makeLowercase
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   482
"/                                        ifTrue:[ ch asLowercase ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   483
"/                                        ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   484
"/                                            makeUppercase
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   485
"/                                                ifTrue:[ ch asUppercase ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   486
"/                                                ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   487
"/                                                    col == col1
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   488
"/                                                        ifTrue:[ ch asUppercase ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   489
"/                                                        ifFalse:[ ch asLowercase ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   490
"/                                                ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   491
"/                                        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   492
"/                                line at:col put:ch.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   493
"/                            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   494
"/                        ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   495
"/                    ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   496
"/                    self withoutRedrawAt:lineNr put:line.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   497
"/                    self invalidateLine:lineNr.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   498
"/                ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   499
"/            ].
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   500
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   501
"/'.
1076
2d6b2399e42c better F& behavior; start by makeing UpperFirst
Claus Gittinger <cg@exept.de>
parents: 1070
diff changeset
   502
1438
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   503
macros at:#ParenthizeSelection put:'self parenthizeSelection'.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   504
"/macros at:#ParenthizeSelection put:'
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   505
"/        "place parenthesis around the selected text"
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   506
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   507
"/        |line1 col1 line2 col2|
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   508
"/
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   509
"/        line1 := self selectionStartLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   510
"/        col1 := self selectionStartCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   511
"/        line2 := self selectionEndLine.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   512
"/        col2 := self selectionEndCol.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   513
"/        (line1 notNil
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   514
"/            and:[ col1 notNil
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   515
"/            and:[ line2 notNil
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   516
"/            and:[ col2 notNil ]]])
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   517
"/        ifTrue:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   518
"/            self insertString:'')'' atLine:line2 col:col2+1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   519
"/            self insertString:''('' atLine:line1 col:col1.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   520
"/            self selectFromLine:line1 col:col1 toLine:line2 col:col2+2.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   521
"/        ] ifFalse:[
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   522
"/            self beep.
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   523
"/        ]
600cb6df5e12 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1243
diff changeset
   524
"/'.
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
macros at:#UnparenthizeSelection put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
	"remove parenthesis in the selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
	|line1 col1 line2 col2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
	col1 := self selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
	col2 := self selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
	(line1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
	    and:[ col1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
	    and:[ line2 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
	    and:[ col2 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
	    and:[ (''({[<'' includes:(self characterAtLine:line1 col:col1))
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
	    and:[ (''>]})'' includes:(self characterAtLine:line2 col:col2))  ]]]]])
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
	ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
	    self deleteCharAtLine:line2 col:col2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
	    self deleteCharAtLine:line1 col:col1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
	    self selectFromLine:line1 col:col1 toLine:line2 col:col2-2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
	] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
	    self beep.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
936
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   550
macros at:#SingleQuoteSelection put:'
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   551
	"place single quotes around the selected text"
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   552
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   553
	|line1 col1 line2 col2|
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   554
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   555
	line1 := self selectionStartLine.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   556
	col1 := self selectionStartCol.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   557
	line2 := self selectionEndLine.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   558
	col2 := self selectionEndCol.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   559
	(line1 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   560
	    and:[ col1 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   561
	    and:[ line2 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   562
	    and:[ col2 notNil ]]])
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   563
	ifTrue:[
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   564
	    self insertString:Character quote asString atLine:line2 col:col2+1.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   565
	    self insertString:Character quote asString atLine:line1 col:col1.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   566
	    self selectFromLine:line1 col:col1 toLine:line2 col:col2+2.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   567
	] ifFalse:[
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   568
	    self beep.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   569
	]
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   570
'.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   571
720
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   572
"/macros keys do:[:k |
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   573
"/    Transcript showCR:k.
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   574
"/].
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
!