VDBSimpleDebuggerConsoleApplication.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 18 Nov 2021 16:29:30 +0000
changeset 241 9996050286c5
parent 190 f37694040277
child 264 23960fcb9dac
permissions -rw-r--r--
Always call `super subscribe` when overriding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
jv:vdb - Visual / VM Debugger
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
241
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
     4
Copyright (C) 2021 LabWare
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
"{ Package: 'jv:vdb' }"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ NameSpace: Smalltalk }"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    14
VDBAbstractConsoleApplication subclass:#VDBSimpleDebuggerConsoleApplication
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
    15
	instanceVariableNames:'prompt promptPrinted running ignoreNextLogEvent'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	classVariableNames:''
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    17
	poolDictionaries:'GDBCommandStatus'
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    18
	category:'VDB-UI-Console'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    21
!VDBSimpleDebuggerConsoleApplication class methodsFor:'documentation'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
copyright
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
jv:vdb - Visual / VM Debugger
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
Copyright (C) 2015-now Jan Vrany
241
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
    27
Copyright (C) 2021 LabWare
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
documentation
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
""
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    39
!VDBSimpleDebuggerConsoleApplication class methodsFor:'accessing'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 94
diff changeset
    41
defaultWindowTitle
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 94
diff changeset
    42
    ^ self resources string: 'Debugger Console'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    "Created: / 08-01-2018 / 18:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 94
diff changeset
    45
    "Modified: / 03-10-2018 / 15:39:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    48
!VDBSimpleDebuggerConsoleApplication class methodsFor:'startup-web applications'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    50
initialPageSpec
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    51
    "this is only required for web-applications"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    53
    ^ self shouldImplement
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    54
!
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    55
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    56
pageSpecs
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    57
    "this is only required for web-applications"
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    58
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    59
    ^ self shouldImplement
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    62
!VDBSimpleDebuggerConsoleApplication methodsFor:'actions'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    64
doComplete: line
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    65
    "Called when a user triggers a command completion (usually by pressing
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    66
     tab)"
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    67
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    68
    | command |
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    69
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    70
    command := GDBMI_complete arguments: (Array with: line).
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    71
    debugger send: command andWithResultDo: [ :result |
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    72
        result isDone ifTrue:[ 
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 149
diff changeset
    73
            consoleView completion: (result propertyAt: #completion) matches: (result propertyAt: #matches)
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    74
        ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    75
    ].
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    77
    "Created: / 30-12-2018 / 22:01:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    78
    "Modified: / 25-01-2019 / 22:03:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 149
diff changeset
    79
    "Modified: / 12-06-2019 / 18:27:04 / jv"
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    80
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    81
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    82
doFire: aString
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    83
    "Executes entered command"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    84
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    85
    | cmd |
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    86
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    87
    promptPrinted := false.
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    88
    consoleView cr.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    89
    aString isEmptyOrNil ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    90
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    91
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    92
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    93
    cmd := GDBCommand parse: aString.
145
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    94
    cmd isCLICommand ifTrue:[ 
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    95
        "/ If CLI command is one of the execution commands, run 
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    96
        "/ the command in background. This allows user to interrupt 
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    97
        "/ it, among other things.
144
315d72d8dc4e Execute CLI execution commands in background mode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
    98
        "/
315d72d8dc4e Execute CLI execution commands in background mode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
    99
        "/ See GDB manual, Section 5.5.3 Background Execution
315d72d8dc4e Execute CLI execution commands in background mode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   100
148
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   101
        (#('run' 'attach') includes: cmd operation) ifTrue:[ 
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   102
            "/ Sigh, background command execution is not supported by some
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   103
            "/ targets, most notably by Windows native target. However, at this
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   104
            "/ point we don't know which target we will use therefore we cannot
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   105
            "/ check target features. 
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   106
            "/ 
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   107
            "/ Therefore make a guess and assime we gonna use native target.
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   108
            "/ This is so bad, this *absolutely* has to be fixed somehow.
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   109
            cmd runOnBackground: debugger nativeTargetHasFeatureAsync.
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   110
        ] ifFalse:[ (#('step' 'stepi' 'next' 'nexti' 'continue' 'until' 'finish' 'rn' 'rns' 'rs' 'rsi' 'rc') includes: cmd operation) ifTrue:[ 
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   111
            debugger hasFeatureAsync ifTrue:[
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   112
                cmd runOnBackground: true.      
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   113
            ].
7d2d523173af Workaround: assume native target when issuing `run` or `attach` commands using simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   114
        ]].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   115
    ].
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   116
    consoleView readOnly:true. 
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   117
    ignoreNextLogEvent := true.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   118
    debugger send:cmd andWithResultDo:[:result| 
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   119
        result isError ifTrue:[ 
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   120
            consoleView showCR: 'ERROR: ', (result propertyAt: #msg).
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   121
        ].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   122
        consoleView readOnly:false.
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   123
        ignoreNextLogEvent := false.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   124
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   125
    ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   126
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   127
    "Created: / 25-01-2019 / 12:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   128
    "Modified: / 13-03-2019 / 14:02:22 / jv"
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   129
    "Modified: / 01-12-2019 / 21:52:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   132
!VDBSimpleDebuggerConsoleApplication methodsFor:'aspects'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   134
consoleViewClass
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   135
    ^ VDBSimpleConsoleView
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   137
    "Modified: / 21-01-2019 / 14:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   140
!VDBSimpleDebuggerConsoleApplication methodsFor:'event handling'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
136
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   142
onCmdParamChanged: event
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   143
    event name = 'prompt' ifTrue:[
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   144
        prompt := event value
136
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   145
    ].
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   146
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   147
    "Created: / 19-01-2019 / 22:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   148
!
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   149
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   150
onEventSetProcessingFinished: event
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   151
    consoleView readOnly: running.
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   152
    running ifFalse:[self showPrompt].
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   153
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   154
    "Created: / 01-12-2019 / 20:24:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   155
!
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   156
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   157
onLogOutputEvent: event
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   158
    ignoreNextLogEvent ifTrue:[
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   159
        ignoreNextLogEvent := false.
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   160
    ] ifFalse:[
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   161
        self onStreamOutputEvent: event
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   162
    ].
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   163
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   164
    "Created: / 13-03-2019 / 13:59:39 / jv"
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   165
!
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   166
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   167
onRunningEvent: event
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   168
    running := true.
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   169
    consoleView readOnly: true.
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   170
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   171
    "Created: / 19-01-2019 / 23:46:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   172
!
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   173
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   174
onStoppedEvent: event
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   175
    running := false.
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   176
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   177
    "Created: / 19-01-2019 / 23:46:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   178
    "Modified: / 01-12-2019 / 20:24:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   179
!
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   180
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
onStreamOutputEvent: event
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   182
    promptPrinted ifTrue:[ consoleView cr ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   183
    promptPrinted := false.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   184
    consoleView show: event value
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   186
    "Created: / 11-06-2014 / 12:00:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   187
    "Modified: / 25-01-2019 / 13:36:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   188
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   189
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   190
!VDBSimpleDebuggerConsoleApplication methodsFor:'hooks'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   191
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   192
postBuildConsoleView: aTextCollector
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   193
    consoleView := aTextCollector scrolledView.
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   194
    consoleView readOnly: true;       
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   195
                font: CodeView defaultFont;
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   196
                foregroundColor: Color white
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   197
                backgroundColor: Color black;
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   198
                cursorForegroundColor: Color white
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   199
                      backgroundColor: Color white.
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   200
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   201
    "Modified: / 08-01-2018 / 19:16:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   204
!VDBSimpleDebuggerConsoleApplication methodsFor:'initialization & release'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   206
initialize
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   207
    super initialize.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   208
    prompt := '(gdb) '.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   209
    promptPrinted := false.
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   210
    running := false.
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   211
    ignoreNextLogEvent := false
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   212
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   213
    "Created: / 10-06-2014 / 01:23:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   214
    "Modified: / 25-01-2019 / 22:01:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   215
    "Modified: / 13-03-2019 / 14:01:53 / jv"
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   216
!
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   217
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   218
initializeConsoleView: view
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   219
    super initializeConsoleView: view.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   220
    consoleView acceptAction: [ :command | self doFire: command ].
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   221
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   222
    "Created: / 25-01-2019 / 12:13:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   223
    "Modified: / 25-01-2019 / 22:34:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   224
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   225
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   226
initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   227
    super initializeConsoleView: aTerminalView forDebugger: aGDBDebugger.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   228
    consoleView clear.       
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   229
    consoleView completeAction: nil.  
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   230
    (aGDBDebugger notNil) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   231
        prompt := debugger getParameter: 'prompt'.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   232
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   233
        (aGDBDebugger hasCommand:'-complete') ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   234
            consoleView completeAction: [ :command | self doComplete: command ]
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   235
        ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   236
    ] ifFalse:[ 
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   237
        prompt := '(gdb) '
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   238
    ].
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   239
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   240
    "Created: / 21-01-2019 / 15:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   241
    "Modified: / 25-01-2019 / 22:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   242
!
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   243
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
subscribe   
241
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
   245
    super subscribe.
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    debugger announcer 
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   248
"/        when: GDBCommandEvent           send: #onCommandEvent:          to: self;
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   249
"/        when: GDBCommandResultEvent     send: #onCommandResultEvent:    to: self;
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   251
        when: GDBRunningEvent           send: #onRunningEvent:          to: self;
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   252
        when: GDBStoppedEvent           send: #onStoppedEvent:          to: self;
241
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
   253
        when: GDBEventSequenceProcessingFinished
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   254
                                        send: #onEventSetProcessingFinished:
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   255
                                                                        to: self;
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   256
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   257
        when: GDBConsoleOutputEvent     send: #onStreamOutputEvent:     to: self;
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   258
        when: GDBLogOutputEvent         send: #onLogOutputEvent:        to: self;
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   259
        when: GDBTargetOutputEvent      send: #onStreamOutputEvent:     to: self;
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   260
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   261
        when: GDBCmdParamChangedEvent   send: #onCmdParamChanged:       to: self.
136
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   262
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   263
    running := debugger inferiors anySatisfy:[ :tg | tg isRunning and:[ tg isStopped not ] ].
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   264
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   265
    "Created: / 06-06-2014 / 21:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   266
    "Modified: / 13-03-2019 / 13:59:19 / jv"
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   267
    "Modified: / 01-12-2019 / 20:24:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
241
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
   268
    "Modified: / 17-11-2021 / 16:39:05 / Jan Vrany <jan.vrany@labware.com>"
9996050286c5 Always call `super subscribe` when overriding
Jan Vrany <jan.vrany@labware.com>
parents: 190
diff changeset
   269
    "Modified (comment): / 18-11-2021 / 16:24:47 / Jan Vrany <jan.vrany@labware.com>"
137
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   270
! !
418e6ddd8733 UX: simple console: do not show prompt while inferior is running and console read only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   271
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   272
!VDBSimpleDebuggerConsoleApplication methodsFor:'private'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   273
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   274
showCR: aString
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   275
    consoleView show: aString; cr.
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   276
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   277
    "Created: / 01-12-2019 / 21:52:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   278
!
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   279
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   280
showPrompt
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   281
    (running not and: [promptPrinted not]) ifTrue:[
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   282
        consoleView nextPutAll: prompt.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   283
        promptPrinted := true.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   284
    ].
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   285
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   286
    "Created: / 18-09-2014 / 23:18:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   287
    "Modified: / 04-04-2018 / 23:01:24 / jv"
190
f37694040277 UX: various little improvements in simple debugger console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   288
    "Modified: / 01-12-2019 / 11:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   291
!VDBSimpleDebuggerConsoleApplication class methodsFor:'documentation'!
70
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   292
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   293
version_HG
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   294
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   295
    ^ '$Changeset: <not expanded> $'
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   296
! !
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   297