VDBSimpleDebuggerConsoleApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 10 Jun 2019 15:22:49 +0100
changeset 166 d55f55ac977b
parent 149 adaffe052a41
child 170 cd9615ebe6a9
permissions -rw-r--r--
plugins/bee: add symbol filter to quickly search through (possibly long) list of symbols.
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
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
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
     6
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
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
     8
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    13
VDBAbstractConsoleApplication subclass:#VDBSimpleDebuggerConsoleApplication
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
    14
	instanceVariableNames:'prompt promptPrinted running ignoreNextLogEvent'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
    16
	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
    17
	category:'VDB-UI-Console'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    20
!VDBSimpleDebuggerConsoleApplication class methodsFor:'documentation'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
copyright
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
jv:vdb - Visual / VM Debugger
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
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
    28
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
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
    30
"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!
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
documentation
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
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    37
!VDBSimpleDebuggerConsoleApplication class methodsFor:'accessing'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 94
diff changeset
    39
defaultWindowTitle
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 94
diff changeset
    40
    ^ self resources string: 'Debugger Console'
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    "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
    43
    "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
    44
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    46
!VDBSimpleDebuggerConsoleApplication class methodsFor:'startup-web applications'!
52
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
initialPageSpec
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    49
    "this is only required for web-applications"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    51
    ^ self shouldImplement
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    52
!
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    53
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    54
pageSpecs
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    55
    "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
    56
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    57
    ^ self shouldImplement
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    60
!VDBSimpleDebuggerConsoleApplication methodsFor:'actions'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    62
doComplete: line
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    63
    "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
    64
     tab)"
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    65
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    66
    | command |
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 := 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
    69
    debugger send: command andWithResultDo: [ :result |
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    70
        result isDone ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    71
            consoleView completions: (result propertyAt: #completions)
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    72
        ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    73
    ].
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
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
    "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
    76
    "Modified: / 25-01-2019 / 22:03:06 / 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
    77
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    78
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    79
doFire: aString
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    80
    "Executes entered command"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    81
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    82
    | cmd |
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    83
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    84
    promptPrinted := false.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    85
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    86
    aString isEmptyOrNil ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    87
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    88
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    89
    ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
    90
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    91
    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
    92
    cmd isCLICommand ifTrue:[ 
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    93
        "/ 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
    94
        "/ 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
    95
        "/ it, among other things.
144
315d72d8dc4e Execute CLI execution commands in background mode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
    96
        "/
315d72d8dc4e Execute CLI execution commands in background mode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
    97
        "/ 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
    98
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
    99
        (#('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
   100
            "/ 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
   101
            "/ 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
   102
            "/ 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
   103
            "/ 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
   104
            "/ 
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
            "/ 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
   106
            "/ 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
   107
            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
   108
        ] 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
   109
            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
   110
                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
   111
            ].
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
        ]].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   113
    ].
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   114
    consoleView readOnly:true. 
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   115
    ignoreNextLogEvent := true.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   116
    debugger send:cmd andWithResultDo:[:result| 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   117
        consoleView readOnly:false.
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   118
        ignoreNextLogEvent := false.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   119
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   120
    ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   121
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   122
    "Created: / 25-01-2019 / 12:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
145
3b9ab4badbff Oops, fixed bug introduced by previous commit (44f5e1c314b3)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   123
    "Modified (format): / 29-01-2019 / 09:37:54 / 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
   124
    "Modified: / 13-03-2019 / 14:02:22 / jv"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   127
!VDBSimpleDebuggerConsoleApplication methodsFor:'aspects'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   129
consoleViewClass
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   130
    ^ VDBSimpleConsoleView
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   132
    "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
   133
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   135
!VDBSimpleDebuggerConsoleApplication methodsFor:'event handling'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
136
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   137
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
   138
    event name = 'prompt' ifTrue:[
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   139
        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
   140
    ].
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   141
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   142
    "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
   143
!
285c33a15fd2 UI: in simple console use prompt defined by GDB parameter 'prompt'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 132
diff changeset
   144
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   145
onLogOutputEvent: event
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   146
    ignoreNextLogEvent ifTrue:[
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   147
        ignoreNextLogEvent := false.
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   148
    ] ifFalse:[
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   149
        self onStreamOutputEvent: event
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   150
    ].
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   151
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   152
    "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
   153
!
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   154
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
   155
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
   156
    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
   157
    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
   158
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
   159
    "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
   160
!
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
   161
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
   162
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
   163
    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
   164
    consoleView readOnly: 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
   165
    self showPrompt.
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
   166
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
    "Created: / 19-01-2019 / 23:46:14 / 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
   168
!
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
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
onStreamOutputEvent: event
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   171
    promptPrinted ifTrue:[ consoleView cr ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   172
    promptPrinted := false.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   173
    consoleView show: event value
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   175
    "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
   176
    "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
   177
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   178
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   179
!VDBSimpleDebuggerConsoleApplication methodsFor:'hooks'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   180
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   181
postBuildConsoleView: aTextCollector
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   182
    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
   183
    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
   184
                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
   185
                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
   186
                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
   187
                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
   188
                      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
   189
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   190
    "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
   191
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   193
!VDBSimpleDebuggerConsoleApplication methodsFor:'initialization & release'!
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   195
initialize
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   196
    super initialize.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   197
    prompt := '(gdb) '.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   198
    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
   199
    running := false.
149
adaffe052a41 Show log output in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 148
diff changeset
   200
    ignoreNextLogEvent := false
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   201
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   202
    "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
   203
    "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
   204
    "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
   205
!
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   206
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   207
initializeConsoleView: view
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   208
    super initializeConsoleView: view.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   209
    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
   210
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   211
    "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
   212
    "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
   213
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   214
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   215
initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   216
    super initializeConsoleView: aTerminalView forDebugger: aGDBDebugger.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   217
    consoleView clear.       
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   218
    consoleView completeAction: nil.  
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   219
    (aGDBDebugger notNil) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   220
        prompt := debugger getParameter: 'prompt'.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   221
        self showPrompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   222
        (aGDBDebugger hasCommand:'-complete') ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   223
            consoleView completeAction: [ :command | self doComplete: command ]
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   224
        ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   225
    ] ifFalse:[ 
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   226
        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
   227
    ].
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   228
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   229
    "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
   230
    "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
   231
!
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   232
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
subscribe   
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "Register for debugger events. To be overrided by subclasses"
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   236
    super subscribe.
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    debugger announcer 
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   238
"/        when: GDBCommandEvent           send: #onCommandEvent:          to: self;
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   239
"/        when: GDBCommandResultEvent     send: #onCommandResultEvent:    to: self;
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
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
   241
        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
   242
        when: GDBStoppedEvent           send: #onStoppedEvent:          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
   243
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   244
        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
   245
        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
   246
        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
   247
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   248
        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
   249
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   250
    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
   251
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 128
diff changeset
   252
    "Created: / 06-06-2014 / 21:26:48 / 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
   253
    "Modified: / 25-01-2019 / 12:33:05 / 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
   254
    "Modified: / 13-03-2019 / 13:59:19 / jv"
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
   255
! !
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
!VDBSimpleDebuggerConsoleApplication methodsFor:'private'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   258
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   259
showPrompt
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   260
    (running not and: [promptPrinted not]) ifTrue:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   261
        consoleView show: prompt.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   262
        promptPrinted := true.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   263
    ].
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   264
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   265
    "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
   266
    "Modified: / 04-04-2018 / 23:01:24 / jv"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   267
    "Modified: / 25-01-2019 / 12:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
52
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
! !
956f5bcac948 Win32: initial support for Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
127
37d9f13932c2 Renamed `VDBWindowsDebuggerConole*` to `VDBSimpleDebuggerConsole*`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   270
!VDBSimpleDebuggerConsoleApplication class methodsFor:'documentation'!
70
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   271
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   272
version_HG
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   273
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   274
    ^ '$Changeset: <not expanded> $'
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   275
! !
66ae724f4269 Win32: minor fix in debugger console application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   276