A complete rewrite of simple console
..that is not using `TerminalView`. The original (previous) implementation
had various problems that were hard to fix, namely loosing some
stream output in some cases.
New (current) implementation uses custom console view (1VDBSimpleDebuggerConsoleView`)
based on `TextCollector` rather than `TerminalView`. The resulting code is
much much simpler, it does not use internal pipes nor REPL / pipe reader processes.
Whole REPL runs completely in UI process.
--- a/Make.proto Wed Jan 23 11:02:06 2019 +0000
+++ b/Make.proto Fri Jan 25 13:33:51 2019 +0000
@@ -142,7 +142,7 @@
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
-$(OUTDIR)VDBSimpleDebuggerConsoleView.$(O) VDBSimpleDebuggerConsoleView.$(C) VDBSimpleDebuggerConsoleView.$(H): VDBSimpleDebuggerConsoleView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(INCLUDE_TOP)/stx/libwidg2/TerminalView.$(H) $(STCHDR)
+$(OUTDIR)VDBSimpleConsoleView.$(O) VDBSimpleConsoleView.$(C) VDBSimpleConsoleView.$(H): VDBSimpleConsoleView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(STCHDR)
$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Wed Jan 23 11:02:06 2019 +0000
+++ b/Make.spec Fri Jan 25 13:33:51 2019 +0000
@@ -59,7 +59,7 @@
VDBIconLibrary \
VDBInstructionBasicBlock \
VDBSettingsApplication \
- VDBSimpleDebuggerConsoleView \
+ VDBSimpleConsoleView \
VDBStartup \
VDBVirtualMemoryMap \
VDBVirtualMemoryRegion \
@@ -109,7 +109,7 @@
$(OUTDIR)VDBIconLibrary.$(O) \
$(OUTDIR)VDBInstructionBasicBlock.$(O) \
$(OUTDIR)VDBSettingsApplication.$(O) \
- $(OUTDIR)VDBSimpleDebuggerConsoleView.$(O) \
+ $(OUTDIR)VDBSimpleConsoleView.$(O) \
$(OUTDIR)VDBStartup.$(O) \
$(OUTDIR)VDBVirtualMemoryMap.$(O) \
$(OUTDIR)VDBVirtualMemoryRegion.$(O) \
--- a/VDBAbstractConsoleApplication.st Wed Jan 23 11:02:06 2019 +0000
+++ b/VDBAbstractConsoleApplication.st Fri Jan 25 13:33:51 2019 +0000
@@ -105,20 +105,6 @@
^ self == VDBAbstractConsoleApplication.
! !
-!VDBAbstractConsoleApplication methodsFor:'accessing'!
-
-consoleInput
- self subclassResponsibility
-
- "Created: / 01-06-2017 / 09:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-consoleOutput
- self subclassResponsibility
-
- "Created: / 01-06-2017 / 09:44:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!VDBAbstractConsoleApplication methodsFor:'aspects'!
consoleView
@@ -153,13 +139,10 @@
!
initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
- aGDBDebugger notNil ifTrue:[
- aTerminalView inStream: self consoleInput.
- aTerminalView outStream: self consoleOutput.
- aTerminalView startReaderProcessWhenVisible.
- ].
+ "/ Nothing to do by default
"Created: / 21-01-2019 / 15:30:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 12:05:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
subscribe
--- a/VDBAbstractUnixConsoleApplication.st Wed Jan 23 11:02:06 2019 +0000
+++ b/VDBAbstractUnixConsoleApplication.st Fri Jan 25 13:33:51 2019 +0000
@@ -69,6 +69,18 @@
"Created: / 21-01-2019 / 14:23:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!VDBAbstractUnixConsoleApplication methodsFor:'initialization & release'!
+
+initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
+ aGDBDebugger notNil ifTrue:[
+ aTerminalView inStream: self consoleInput.
+ aTerminalView outStream: self consoleOutput.
+ aTerminalView startReaderProcessWhenVisible.
+ ].
+
+ "Created: / 25-01-2019 / 12:04:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!VDBAbstractUnixConsoleApplication class methodsFor:'documentation'!
version_HG
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBSimpleConsoleView.st Fri Jan 25 13:33:51 2019 +0000
@@ -0,0 +1,415 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+TextCollector subclass:#VDBSimpleConsoleView
+ instanceVariableNames:'buffer bufferPosition history historyPosition completeAction
+ lastTabTime lastCompletions'
+ classVariableNames:'TabTabInterval'
+ poolDictionaries:''
+ category:'VDB-UI-Console'
+!
+
+!VDBSimpleConsoleView class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBSimpleConsoleView class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ "/ please change as required (and remove this comment)
+
+ TabTabInterval := 500"ms"
+
+ "Modified: / 25-01-2019 / 21:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'accessing'!
+
+completeAction
+ ^ completeAction
+!
+
+completeAction:aBlock
+ completeAction := aBlock.
+! !
+
+!VDBSimpleConsoleView methodsFor:'actions'!
+
+buffer: aString
+ "Set the line buffer, position the cursor at the end of
+ line"
+
+ | line |
+
+ line := list at: cursorLine.
+ line := (line copyTo: cursorCol - bufferPosition) , aString.
+
+ list at: cursorLine put: line.
+ buffer := aString.
+ bufferPosition := aString size + 1.
+ self cursorCol: line size + 1.
+ self invalidateLine: cursorLine.
+
+ "Created: / 26-01-2019 / 22:16:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+completions: anArray"of Strings"
+ "Should be called by application when completions are computed."
+
+ | completion |
+
+ lastCompletions := anArray.
+ lastCompletions isEmptyOrNil ifTrue:[
+ lastCompletions := nil.
+ self flash: (resources string:'Nothing to complete').
+ ^self.
+ ].
+ completion := lastCompletions longestCommonPrefix copyFrom: bufferPosition.
+
+ completion isEmpty ifTrue:[
+ self flash: (resources string:'Ambiguous')
+ ] ifFalse:[
+ buffer := (buffer copyTo: bufferPosition - 1) , completion , (buffer copyFrom: bufferPosition).
+ self insertStringAtCursor: completion.
+ bufferPosition := bufferPosition + completion size.
+ ]
+
+ "Created: / 25-01-2019 / 21:50:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+completionsShow
+ "Shows completion candidates"
+
+ | currentColNr currentLineNr currentLine |
+
+ lastCompletions isEmptyOrNil ifTrue:[ ^ self ].
+ currentColNr := cursorCol.
+ currentLineNr := cursorLine.
+ currentLine := self list at: currentLineNr.
+
+ self cr.
+ lastCompletions do:[:each |
+ self showCR: each.
+ ].
+ self nextPutAll: currentLine.
+ self cursorCol: currentColNr.
+
+ "Created: / 25-01-2019 / 21:56:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+historyDown
+ ((historyPosition + 1) between: 1 and: history size) ifTrue:[
+ historyPosition := historyPosition + 1.
+ self buffer: (history at: historyPosition)
+ ] ifFalse:[
+ historyPosition := history size + 1.
+ self buffer: ''.
+ ].
+
+ "Created: / 26-01-2019 / 22:21:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+historyUp
+ ((historyPosition - 1) between: 1 and: history size) ifTrue:[
+ historyPosition := historyPosition - 1.
+ self buffer: (history at: historyPosition)
+ ] ifFalse:[
+ self beep.
+ ].
+
+ "Created: / 26-01-2019 / 22:21:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'cursor handling'!
+
+cursorMovementAllowed
+ ^ false
+
+ "Created: / 25-01-2019 / 09:40:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'event handling'!
+
+extendSelectionToX:x y:y setPrimarySelection:aBoolean
+ | savCursorLine savCursorCol |
+
+ savCursorLine := cursorLine.
+ savCursorCol := cursorCol.
+ super extendSelectionToX:x y:y setPrimarySelection:aBoolean.
+ self cursorLine:savCursorLine col:savCursorCol.
+
+ "Created: / 26-01-2019 / 23:00:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPress: key x: x y: y
+
+ key == #Tab ifTrue:[
+ self keyPressTab.
+ ^ self
+ ] ifFalse:[
+ lastTabTime := lastCompletions := nil.
+ ].
+
+ key isCharacter ifTrue:[
+ buffer := (buffer copyTo:bufferPosition-1)
+ , key
+ , (buffer copyFrom:bufferPosition).
+ self insertCharAtCursor:key.
+ bufferPosition := bufferPosition + 1.
+ ^ self
+ ].
+ key == #Return ifTrue:[
+ self keyPressReturn.
+ ^ self.
+ ].
+ key == #BackSpace ifTrue:[
+ self keyPressBackSpace.
+ ^ self.
+ ].
+ key == #Delete ifTrue:[
+ self keyPressDelete.
+ ^ self.
+ ].
+ key == #CursorLeft ifTrue:[
+ self keyPressCursorLeft.
+ ^ self.
+ ].
+ key == #CursorRight ifTrue:[
+ self keyPressCursorRight.
+ ^ self.
+ ].
+ key == #CursorUp ifTrue:[
+ self keyPressCursorUp.
+ ^ self.
+ ].
+ key == #CursorDown ifTrue:[
+ self keyPressCursorDown.
+ ^ self.
+ ].
+ ((key == #BeginOfLine) or:[key == #Ctrla]) ifTrue:[
+ self keyPressBeginOfLine.
+ ^ self
+ ].
+ ((key == #EndOfLine) or:[key == #Ctrle]) ifTrue:[
+ self keyPressEndOfLine.
+ ^ self
+ ].
+
+ (#(Shift_L Shift_R
+ Control_L Control_R
+ Alt_L Alt_R
+ Caps_Lock
+ PreviousPage NextPage
+ Copy Paste Insert
+ ) includes: key) ifTrue:[
+ ^ super keyPress: key x:x y:y
+ ].
+
+ "/ Unhandled key
+ self beep; flash
+
+ "Created: / 24-01-2019 / 22:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 26-01-2019 / 22:36:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressBackSpace
+ bufferPosition == 1 ifTrue:[
+ self beep.
+ ^ self.
+ ].
+ buffer := (buffer copyTo: bufferPosition - 2) , (buffer copyFrom: bufferPosition).
+ self deleteCharBeforeCursor.
+ bufferPosition := bufferPosition - 1.
+
+ "Created: / 24-01-2019 / 22:09:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressBeginOfLine
+ self cursorCol: self cursorCol - bufferPosition + 1.
+ bufferPosition := 1.
+
+ "Created: / 25-01-2019 / 10:43:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressCursorDown
+ self historyDown.
+
+ "Created: / 24-01-2019 / 22:18:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 26-01-2019 / 22:19:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressCursorLeft
+ (bufferPosition < 2) ifTrue:[
+ self beep.
+ ^ self.
+ ].
+ bufferPosition := bufferPosition - 1.
+ self cursorLeft.
+
+ "Created: / 24-01-2019 / 22:18:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 10:29:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressCursorRight
+ (bufferPosition > buffer size) ifTrue:[
+ self beep.
+ ^ self.
+ ].
+ bufferPosition := bufferPosition + 1.
+ self cursorRight.
+
+ "Created: / 24-01-2019 / 22:19:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 10:30:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressCursorUp
+ self historyUp.
+
+ "Created: / 24-01-2019 / 22:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 26-01-2019 / 22:19:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressDelete
+ bufferPosition == (buffer size + 1) ifTrue:[
+ self beep.
+ ^ self.
+ ].
+ buffer := (buffer copyTo: bufferPosition - 1) , (buffer copyFrom: bufferPosition + 1).
+ self deleteCharAtCursor.
+
+ "Created: / 25-01-2019 / 10:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressEndOfLine
+ self cursorCol: self cursorCol - bufferPosition + buffer size + 1.
+ bufferPosition := buffer size + 1.
+
+ "Created: / 25-01-2019 / 11:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressReturn
+ acceptAction value: buffer.
+ history add: buffer.
+ historyPosition := history size + 1.
+ self cr.
+ buffer := ''.
+ bufferPosition := 1.
+
+ "Created: / 24-01-2019 / 22:09:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 26-01-2019 / 22:22:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressTab
+ | now |
+
+ "/ No completion installed, do nothing
+ completeAction isNil ifTrue:[
+ self flash: (resources string: 'Command completion not supported').
+ ^ self
+ ].
+ now := OperatingSystem getMillisecondTime.
+ (lastTabTime notNil and:[(now - lastTabTime) < TabTabInterval]) ifTrue:[
+ "/ Tab Tab has been pressed, show completion history.
+ lastTabTime := nil.
+ self completionsShow.
+ ] ifFalse:[
+ "/ A single Tab has been pressed, trigger completion.
+ lastTabTime := now.
+ completeAction value: (buffer copyTo: bufferPosition - 1)
+
+ ].
+
+ "Created: / 25-01-2019 / 21:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 22:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'initialization & release'!
+
+initialize
+ super initialize.
+ buffer := ''.
+ bufferPosition := 1.
+ history := OrderedCollection new.
+ historyPosition := 1.
+
+ "Created: / 24-01-2019 / 22:12:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 26-01-2019 / 22:22:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'menu & menu actions'!
+
+copySelection
+ | savCursorLine savCursorCol |
+
+ savCursorLine := cursorLine.
+ savCursorCol := cursorCol.
+ super copySelection.
+ self cursorLine:savCursorLine col:savCursorCol.
+
+ "Created: / 26-01-2019 / 22:59:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+paste:someText withCR:withCR
+ "/ (For now) disallow pasting text with newlines...
+ (someText includes: Character cr) ifTrue:[
+ self beep.
+ ^ self.
+ ].
+ buffer := (buffer copyTo: bufferPosition - 1) , someText , (buffer copyFrom: bufferPosition).
+ self insertStringAtCursor: someText.
+ bufferPosition := bufferPosition + someText size.
+
+ "Created: / 26-01-2019 / 22:40:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'selections'!
+
+selectWordAtLine:line col:col
+ | savCursorLine savCursorCol |
+
+ savCursorLine := cursorLine.
+ savCursorCol := cursorCol.
+ super selectWordAtLine:line col:col.
+ self cursorLine:savCursorLine col:savCursorCol.
+
+ "Created: / 26-01-2019 / 22:55:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView methodsFor:'stream messages'!
+
+show:anObject
+ super show: anObject.
+ self endEntry.
+
+ "Created: / 25-01-2019 / 09:55:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleView class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
+
+VDBSimpleConsoleView initialize!
--- a/VDBSimpleDebuggerConsoleApplication.st Wed Jan 23 11:02:06 2019 +0000
+++ b/VDBSimpleDebuggerConsoleApplication.st Fri Jan 25 13:33:51 2019 +0000
@@ -11,10 +11,7 @@
"{ NameSpace: Smalltalk }"
VDBAbstractConsoleApplication subclass:#VDBSimpleDebuggerConsoleApplication
- instanceVariableNames:'consoleInput consoleOutput consoleOutputLock consoleProcess
- consolePrompt consolePromptPrinted outstandingCommand
- outstandingCommandToken outstandingCommandBlocker
- ignoreNextLogStreamEvent running'
+ instanceVariableNames:'prompt promptPrinted running'
classVariableNames:''
poolDictionaries:'GDBCommandStatus'
category:'VDB-UI-Console'
@@ -60,20 +57,6 @@
^ self shouldImplement
! !
-!VDBSimpleDebuggerConsoleApplication methodsFor:'accessing'!
-
-consoleInput
- ^ consoleInput
-
- "Created: / 21-01-2019 / 14:18:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-consoleOutput
- ^ consoleOutput
-
- "Created: / 21-01-2019 / 14:18:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!VDBSimpleDebuggerConsoleApplication methodsFor:'actions'!
doComplete: line
@@ -84,29 +67,47 @@
command := GDBMI_complete arguments: (Array with: line).
debugger send: command andWithResultDo: [ :result |
- consoleView sensor pushUserEvent: #doComplete:with: for: self withArguments: (Array with: line with: result)
+ result isDone ifTrue:[
+ consoleView completions: (result propertyAt: #completions)
+ ].
].
"Created: / 30-12-2018 / 22:01:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (comment): / 31-12-2018 / 11:35:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 22:03:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-doComplete: line with: result
- "Called asynchronously from #doComplete: when possible completions
- are computed.
+doFire: aString
+ "Executes entered command"
+
+ | cmd |
+
+ promptPrinted := false.
+
+ aString isEmptyOrNil ifTrue:[
+ self showPrompt.
+ ^ self.
+ ].
- Private, this is for private use by #doComplete:
- "
- self consoleView completeCommandWith: (result propertyAt: #completions).
+ cmd := GDBCommand parse: aString.
+ cmd isCLICommand ifTrue:[
+ cmd runOnBackground: true.
+ ].
+ consoleView readOnly:true.
+ debugger send:cmd andWithResultDo:[:result|
+ result isError ifTrue:[
+ consoleView showCR: (result propertyAt: #msg)
+ ].
+ consoleView readOnly:false.
+ self showPrompt.
+ ].
- "Created: / 30-12-2018 / 22:04:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 14:24:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 25-01-2019 / 12:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBSimpleDebuggerConsoleApplication methodsFor:'aspects'!
consoleViewClass
- ^ VDBSimpleDebuggerConsoleView
+ ^ VDBSimpleConsoleView
"Modified: / 21-01-2019 / 14:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -115,64 +116,12 @@
onCmdParamChanged: event
event name = 'prompt' ifTrue:[
- consolePrompt := event value
+ prompt := event value
].
"Created: / 19-01-2019 / 22:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-onCommandEvent: event
- event command == outstandingCommand ifTrue:[
- outstandingCommandToken := event token.
- ignoreNextLogStreamEvent := true.
- ].
-
- "Created: / 06-06-2014 / 22:43:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 11-06-2014 / 12:35:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-onCommandResultEvent: event
- outstandingCommandToken notNil ifTrue:[
- event token == outstandingCommandToken ifTrue:[
- "/ Check if command ended up with an error. If so,
- "/ print the error message.
- event result status == CommandStatusError ifTrue:[
- self showCR: ('Error: %1 ' bindWith: (event result propertyAt: #msg)).
- ] ifFalse:[
- "/ Check if the command issues is actually a MI command,
- "/ if so, print "Done" to the console since MI command don't
- "/ provide user feedback.
- outstandingCommand isMICommand ifTrue:[
- self showCR: ('Done ( %1 , see even log for result value)' bindWith: outstandingCommand value)
- ].
- ].
- outstandingCommand := outstandingCommandToken := nil.
- outstandingCommandBlocker signalForAll.
- ].
- ].
-
- "Created: / 06-06-2014 / 22:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 27-02-2015 / 13:01:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-onEventSetProcessingFinished: event
- self showPrompt.
-
- "Created: / 18-09-2014 / 23:11:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-onLogOutputEvent: event
- ignoreNextLogStreamEvent ifTrue:[
- ignoreNextLogStreamEvent := false.
- ] ifFalse:[
- self onStreamOutputEvent: event
- ]
-
- "Created: / 11-06-2014 / 12:37:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-04-2018 / 22:50:14 / jv"
- "Modified: / 30-12-2018 / 22:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
onRunningEvent: event
running := true.
consoleView readOnly: true.
@@ -189,34 +138,16 @@
!
onStreamOutputEvent: event
- consolePromptPrinted ifTrue:[ self showCR:'' ].
- consolePromptPrinted := false.
- event value asStringCollection do:[:line |
- line notEmptyOrNil ifTrue:[
- self showCR: line.
- ].
- ].
+ promptPrinted ifTrue:[ consoleView cr ].
+ promptPrinted := false.
+ consoleView show: event value
"Created: / 11-06-2014 / 12:00:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 30-12-2018 / 22:02:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 13:36:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBSimpleDebuggerConsoleApplication methodsFor:'hooks'!
-commonPostOpen
- consoleProcess isNil ifTrue:[
- consoleProcess :=
- [
- [ self consoleProcess1Command ] loop.
- ] newProcess.
- consoleProcess name: 'VDB Debugger Console REPL loop'.
- consoleProcess resume.
- ].
-
- "Created: / 10-06-2014 / 01:25:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 19-01-2019 / 23:48:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
postBuildConsoleView: aTextCollector
consoleView := aTextCollector scrolledView.
consoleView readOnly: true;
@@ -233,50 +164,39 @@
initialize
super initialize.
-
- consoleInput := GDBInternalPipeStream new.
- consoleOutput := GDBInternalPipeStream new.
- consoleOutputLock := RecursionLock new.
- consolePrompt := '(gdb) '.
- consolePromptPrinted := false.
+ prompt := '(gdb) '.
+ promptPrinted := false.
running := false.
- outstandingCommandBlocker := Semaphore new.
- ignoreNextLogStreamEvent := false.
"Created: / 10-06-2014 / 01:23:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 07-04-2018 / 23:13:27 / jv"
- "Modified: / 21-01-2019 / 15:37:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 22:01:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-initializeConsoleView: aTerminalView
- super initializeConsoleView: aTerminalView.
- aTerminalView localEcho:true.
- aTerminalView inputTranslateCRToNL:true.
- aTerminalView lineEditMode:true.
+initializeConsoleView: view
+ super initializeConsoleView: view.
+ consoleView acceptAction: [ :command | self doFire: command ].
- "Created: / 21-01-2019 / 14:13:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 21-01-2019 / 15:33:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 25-01-2019 / 12:13:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 22:34:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
super initializeConsoleView: aTerminalView forDebugger: aGDBDebugger.
- (aGDBDebugger notNil and:[aGDBDebugger hasCommand:'-complete']) ifTrue:[
- consoleView completionBlock: [ :prefix | self doComplete: prefix ].
- consolePrompt := debugger getParameter: 'prompt'.
+ consoleView clear.
+ consoleView completeAction: nil.
+ (aGDBDebugger notNil) ifTrue:[
+ prompt := debugger getParameter: 'prompt'.
+ self showPrompt.
+ (aGDBDebugger hasCommand:'-complete') ifTrue:[
+ consoleView completeAction: [ :command | self doComplete: command ]
+ ].
] ifFalse:[
- consoleView completionBlock: nil.
- consolePrompt := '(gdb) '
+ prompt := '(gdb) '
].
"Created: / 21-01-2019 / 15:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 21-01-2019 / 17:49:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-release
- super release.
- consoleProcess terminate.
-
- "Created: / 10-06-2014 / 01:34:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 22:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
subscribe
@@ -284,88 +204,34 @@
super subscribe.
debugger announcer
- when: GDBCommandEvent send: #onCommandEvent: to: self;
- when: GDBCommandResultEvent send: #onCommandResultEvent: to: self;
+"/ when: GDBCommandEvent send: #onCommandEvent: to: self;
+"/ when: GDBCommandResultEvent send: #onCommandResultEvent: to: self;
when: GDBRunningEvent send: #onRunningEvent: to: self;
when: GDBStoppedEvent send: #onStoppedEvent: to: self;
- when: GDBConsoleOutputEvent send: #onStreamOutputEvent: to: self;
- when: GDBTargetOutputEvent send: #onStreamOutputEvent: to: self;
- when: GDBLogOutputEvent send: #onLogOutputEvent: to: self;
+ when: GDBConsoleOutputEvent send: #onStreamOutputEvent: to: self;
+ when: GDBTargetOutputEvent send: #onStreamOutputEvent: to: self;
- when: GDBEventSetProcessingFinished send: #onEventSetProcessingFinished: to: self;
+ when: GDBCmdParamChangedEvent send: #onCmdParamChanged: to: self.
- when: GDBCmdParamChangedEvent send: #onCmdParamChanged: to: self.
-
- running := debugger inferiors anySatisfy:[ :tg | tg isRunning ].
+ running := debugger inferiors anySatisfy:[ :tg | tg isRunning and:[ tg isStopped not ] ].
"Created: / 06-06-2014 / 21:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 21-01-2019 / 15:37:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 12:33:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!VDBSimpleDebuggerConsoleApplication methodsFor:'private - console process'!
-
-consoleProcess1Command
- | cmdLine cmd |
-
- self showPrompt.
- cmdLine := consoleInput nextLine asString.
- self showCR.
- consolePromptPrinted := false.
- cmdLine notEmptyOrNil ifTrue:[
- cmd := GDBCommand parse: cmdLine.
- cmd isCLICommand ifTrue:[
- cmd runOnBackground: true.
- ].
- outstandingCommand := cmd.
- consoleView readOnly:true.
- debugger send:cmd andWait:false.
- outstandingCommandBlocker wait.
- consoleView readOnly:false.
- ].
-
- "Created: / 19-01-2019 / 23:49:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 21-01-2019 / 12:25:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleApplication methodsFor:'private - writing'!
-
-show: aString
- consoleOutputLock critical:[
- consoleOutput nextPutAll: aString.
- ].
-
- "Created: / 11-06-2014 / 08:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 11-06-2014 / 11:53:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-showCR
- consoleOutputLock critical:[
- consoleOutput crlf.
- ].
-
- "Created: / 21-01-2019 / 12:25:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-showCR: aString
- consoleOutputLock critical:[
- consoleOutput nextPutAll: aString; crlf.
- ].
-
- "Created: / 11-06-2014 / 08:02:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 10:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
+!VDBSimpleDebuggerConsoleApplication methodsFor:'private'!
showPrompt
- (running not and: [consolePromptPrinted not]) ifTrue:[
- self show: consolePrompt.
- consolePromptPrinted := true.
+ (running not and: [promptPrinted not]) ifTrue:[
+ consoleView show: prompt.
+ promptPrinted := true.
].
"Created: / 18-09-2014 / 23:18:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 04-04-2018 / 23:01:24 / jv"
- "Modified: / 19-01-2019 / 23:58:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 12:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBSimpleDebuggerConsoleApplication class methodsFor:'documentation'!
--- a/VDBSimpleDebuggerConsoleView.st Wed Jan 23 11:02:06 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-"{ Package: 'jv:vdb' }"
-
-"{ NameSpace: Smalltalk }"
-
-TerminalView subclass:#VDBSimpleDebuggerConsoleView
- instanceVariableNames:'lastTabPressTime completionBlock completions'
- classVariableNames:''
- poolDictionaries:''
- category:'VDB-UI-Console'
-!
-
-!VDBSimpleDebuggerConsoleView class methodsFor:'documentation'!
-
-copyright
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'accessing'!
-
-completionBlock
- ^ completionBlock
-!
-
-completionBlock:aBlock
- completionBlock := aBlock.
-
- "Modified: / 16-01-2019 / 11:35:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 14:43:18 / jv"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'completion'!
-
-completeCommand
- completionBlock notNil ifTrue:[
- completions := nil.
- completionBlock value: (lineBuffer copyTo: lineBufferCursorPosition - 1)
- ].
-
- "Created: / 16-01-2019 / 11:34:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 11:45:21 / jv"
-!
-
-completeCommandWith: anArray"of Strings"
- | completion |
-
- completions := anArray.
- completions isEmptyOrNil ifTrue:[
- completions := nil.
- self flash: (resources string:'Nothing to complete').
- ^self.
- ].
- completion := completions longestCommonPrefix copyFrom: lineBufferCursorPosition.
-
- completion isEmpty ifTrue:[
- self flash: (resources string:'Ambiguous command, press Tab again')
- ] ifFalse:[
- self doInsertString: completion.
- ]
-
- "Created: / 16-01-2019 / 11:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 14:28:41 / jv"
- "Modified: / 21-01-2019 / 11:49:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-completionShow
- "Shows completion candidates"
-
- | currentLineNr currentLine |
-
- completions isEmptyOrNil ifTrue:[ ^ self ].
- currentLineNr := cursorLine.
- currentLine := self list at: currentLineNr.
- self nextPutCRLF.
- completions do:[:each |
- self nextPutAll: each.
- self nextPutCRLF.
- ].
- self nextPutAll: currentLine.
-
- "Created: / 16-01-2019 / 11:58:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 12:39:48 / jv"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'event handling'!
-
-keyPress:aKey x:x y:y
- <resource: #keyboard (#Tab)>
-
- readOnly ifTrue:[
- self flashReadOnly.
- ^ self.
- ].
- inStream isNil ifTrue:[^ self].
-
- aKey == #Tab ifTrue:[
- DebugKeyboard ifTrue:[
- Transcript showCR:'----'; show:'keyPress:' ; showCR:aKey printString.
- ].
- (lastTabPressTime notNil and: [(OperatingSystem getMillisecondTime - lastTabPressTime) < 1000]) ifTrue:[
- lastTabPressTime := nil.
- ^ self doTabTab.
- ] ifFalse:[
- lastTabPressTime := OperatingSystem getMillisecondTime .
- ^ self doTab
- ].
- ].
- lastTabPressTime := nil.
- ^ super keyPress:aKey x:x y:y
-
-
-
-
- "
- DebugKeyboard := true
- "
-
- "Created: / 15-09-2016 / 23:55:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-04-2018 / 22:57:53 / jv"
- "Modified: / 21-01-2019 / 11:46:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'functions'!
-
-doInsertString: stringToComplete
- "Insert (add) `stringToComplete` at current linebuffer insert point.
- This is meant to implement command completion."
-
- lineBuffer := (lineBuffer copyTo:lineBufferCursorPosition-1)
- , stringToComplete
- , (lineBuffer copyFrom:lineBufferCursorPosition).
- self insertStringAtCursor:stringToComplete.
- lineBufferCursorPosition := lineBufferCursorPosition + stringToComplete size.
-
- "Created: / 31-12-2018 / 09:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-doTab
- self completeCommand
-
- "Created: / 15-09-2016 / 23:56:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-04-2018 / 22:58:55 / jv"
- "Modified: / 16-01-2019 / 11:31:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-doTabTab
- completionBlock notNil ifTrue:[
- self completionShow
- ].
-
- "Created: / 16-09-2016 / 00:56:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-04-2018 / 22:59:02 / jv"
- "Modified: / 16-01-2019 / 12:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'initialization'!
-
-initialize
- "Invoked when a new instance is created."
-
- "/ please change as required (and remove this comment)
- super initialize.
- lastTabPressTime := nil.
- completions := nil.
-
- "Modified: / 16-01-2019 / 11:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleView methodsFor:'processing-input'!
-
-nextPutCRLF
- self pushEvent:#processInput:n: with: Character return , Character linefeed with:2
-
- "Created: / 16-01-2019 / 12:45:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleView class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-! !
-
--- a/abbrev.stc Wed Jan 23 11:02:06 2019 +0000
+++ b/abbrev.stc Fri Jan 25 13:33:51 2019 +0000
@@ -9,7 +9,7 @@
VDBIconLibrary VDBIconLibrary jv:vdb 'VDB-UI-Support' 0
VDBInstructionBasicBlock VDBInstructionBasicBlock jv:vdb 'VDB-UI-Support' 0
VDBSettingsApplication VDBSettingsApplication jv:vdb 'VDB-UI-Others' 2
-VDBSimpleDebuggerConsoleView VDBSimpleDebuggerConsoleView jv:vdb 'VDB-UI-Console' 2
+VDBSimpleConsoleView VDBSimpleConsoleView jv:vdb 'VDB-UI-Console' 2
VDBStartup VDBStartup jv:vdb 'VDB-UI' 1
VDBVirtualMemoryMap VDBVirtualMemoryMap jv:vdb 'VDB-Tools' 0
VDBVirtualMemoryRegion VDBVirtualMemoryRegion jv:vdb 'VDB-Tools' 0
--- a/bc.mak Wed Jan 23 11:02:06 2019 +0000
+++ b/bc.mak Fri Jan 25 13:33:51 2019 +0000
@@ -89,7 +89,7 @@
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
-$(OUTDIR)VDBSimpleDebuggerConsoleView.$(O) VDBSimpleDebuggerConsoleView.$(C) VDBSimpleDebuggerConsoleView.$(H): VDBSimpleDebuggerConsoleView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(INCLUDE_TOP)\stx\libwidg2\TerminalView.$(H) $(STCHDR)
+$(OUTDIR)VDBSimpleConsoleView.$(O) VDBSimpleConsoleView.$(C) VDBSimpleConsoleView.$(H): VDBSimpleConsoleView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(STCHDR)
$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/jv_vdb.st Wed Jan 23 11:02:06 2019 +0000
+++ b/jv_vdb.st Fri Jan 25 13:33:51 2019 +0000
@@ -55,9 +55,9 @@
#'stx:goodies/announcements' "Announcement - superclass of RREvent"
#'stx:libbasic' "Collection - extended"
#'stx:libtool' "AbstractSettingsApplication - superclass of VDBSettingsApplication"
- #'stx:libview' "DisplaySurface - superclass of VDBSimpleDebuggerConsoleView"
+ #'stx:libview' "DisplaySurface - superclass of VDBSimpleConsoleView"
#'stx:libview2' "ApplicationModel - superclass of VDBAbstractApplication"
- #'stx:libwidg' "EditTextView - superclass of VDBSimpleDebuggerConsoleView"
+ #'stx:libwidg' "EditTextView - superclass of VDBSimpleConsoleView"
#'stx:libwidg2' "AbstractHierarchicalItem - superclass of VDBAbstractPresenter"
)
!
@@ -108,7 +108,7 @@
VDBIconLibrary
VDBInstructionBasicBlock
VDBSettingsApplication
- VDBSimpleDebuggerConsoleView
+ VDBSimpleConsoleView
VDBStartup
VDBVirtualMemoryMap
VDBVirtualMemoryRegion
--- a/libInit.cc Wed Jan 23 11:02:06 2019 +0000
+++ b/libInit.cc Fri Jan 25 13:33:51 2019 +0000
@@ -24,7 +24,7 @@
extern void _VDBIconLibrary_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBInstructionBasicBlock_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBSettingsApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _VDBSimpleDebuggerConsoleView_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBSimpleConsoleView_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBStartup_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBVirtualMemoryMap_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBVirtualMemoryRegion_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -83,7 +83,7 @@
_VDBIconLibrary_Init(pass,__pRT__,snd);
_VDBInstructionBasicBlock_Init(pass,__pRT__,snd);
_VDBSettingsApplication_Init(pass,__pRT__,snd);
- _VDBSimpleDebuggerConsoleView_Init(pass,__pRT__,snd);
+ _VDBSimpleConsoleView_Init(pass,__pRT__,snd);
_VDBStartup_Init(pass,__pRT__,snd);
_VDBVirtualMemoryMap_Init(pass,__pRT__,snd);
_VDBVirtualMemoryRegion_Init(pass,__pRT__,snd);
--- a/tests/Make.proto Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/Make.proto Fri Jan 25 13:33:51 2019 +0000
@@ -126,7 +126,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)VDBAbstractApplicationTests.$(O) VDBAbstractApplicationTests.$(C) VDBAbstractApplicationTests.$(H): VDBAbstractApplicationTests.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)VDBSimpleDebuggerConsoleViewTest.$(O) VDBSimpleDebuggerConsoleViewTest.$(C) VDBSimpleDebuggerConsoleViewTest.$(H): VDBSimpleDebuggerConsoleViewTest.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)VDBSimpleConsoleViewTest.$(O) VDBSimpleConsoleViewTest.$(C) VDBSimpleConsoleViewTest.$(H): VDBSimpleConsoleViewTest.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)jv_vdb_tests.$(O) jv_vdb_tests.$(C) jv_vdb_tests.$(H): jv_vdb_tests.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionListApplicationTests.$(O) VDBInstructionListApplicationTests.$(C) VDBInstructionListApplicationTests.$(H): VDBInstructionListApplicationTests.st $(INCLUDE_TOP)/jv/vdb/tests/VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleDebuggerConsoleApplicationTest.$(O) VDBSimpleDebuggerConsoleApplicationTest.$(C) VDBSimpleDebuggerConsoleApplicationTest.$(H): VDBSimpleDebuggerConsoleApplicationTest.st $(INCLUDE_TOP)/jv/vdb/tests/VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/tests/Make.spec Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/Make.spec Fri Jan 25 13:33:51 2019 +0000
@@ -52,7 +52,7 @@
COMMON_CLASSES= \
VDBAbstractApplicationTests \
- VDBSimpleDebuggerConsoleViewTest \
+ VDBSimpleConsoleViewTest \
jv_vdb_tests \
VDBInstructionListApplicationTests \
VDBSimpleDebuggerConsoleApplicationTest \
@@ -62,7 +62,7 @@
COMMON_OBJS= \
$(OUTDIR)VDBAbstractApplicationTests.$(O) \
- $(OUTDIR)VDBSimpleDebuggerConsoleViewTest.$(O) \
+ $(OUTDIR)VDBSimpleConsoleViewTest.$(O) \
$(OUTDIR)jv_vdb_tests.$(O) \
$(OUTDIR)VDBInstructionListApplicationTests.$(O) \
$(OUTDIR)VDBSimpleDebuggerConsoleApplicationTest.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/VDBSimpleConsoleViewTest.st Fri Jan 25 13:33:51 2019 +0000
@@ -0,0 +1,181 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb/tests' }"
+
+"{ NameSpace: Smalltalk }"
+
+TestCase subclass:#VDBSimpleConsoleViewTest
+ instanceVariableNames:'preferences console consoleI'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-UI-Console-Tests'
+!
+
+!VDBSimpleConsoleViewTest class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBSimpleConsoleViewTest methodsFor:'running'!
+
+setUp
+ | window |
+
+ super setUp.
+ Screen current isNil ifTrue:[
+ Smalltalk openDisplay
+ ].
+ self skipIf:Screen current isNil description:'No display connection'.
+ Smalltalk loadPackage:'stx:goodies/sunit/ext/ui'.
+ window := StandardSystemView new.
+ window extent:320 @ 200.
+ window label:self printString.
+ console := VDBSimpleConsoleView
+ origin:0.0 @ 0.0
+ extent:1.0 @ 1.0
+ in:window.
+ window open.
+ window waitUntilVisible.
+ consoleI := console interactor
+
+ "Modified: / 16-01-2019 / 10:24:12 / jv"
+ "Modified: / 25-01-2019 / 09:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tearDown
+ super tearDown.
+ console topView destroy.
+
+ "Created: / 28-09-2018 / 08:29:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 16-01-2019 / 16:23:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleViewTest methodsFor:'tests - basic'!
+
+test_basic_01
+
+ console show: '(gdb) '.
+ self assert: console list first = '(gdb) '.
+ self assert: console cursorCol = 7.
+
+ consoleI type: 'b main'.
+ self assert: console list first = '(gdb) b main'.
+ self assert: console cursorCol = 13.
+
+ consoleI type: #BackSpace.
+ self assert: console list first = '(gdb) b mai'.
+ self assert: console cursorCol = 12.
+
+ consoleI type: #CursorLeft.
+ self assert: console list first = '(gdb) b mai'.
+ self assert: console cursorCol = 11.
+
+ consoleI type: 'x'.
+ self assert: console list first = '(gdb) b maxi'.
+ self assert: console cursorCol = 12.
+
+ consoleI type: #Delete.
+ self assert: console list first = '(gdb) b max'.
+ self assert: console cursorCol = 12.
+
+ consoleI type: #CursorRight.
+ self assert: console list first = '(gdb) b max'.
+ self assert: console cursorCol = 12.
+
+ consoleI type: #BeginOfLine.
+ self assert: console list first = '(gdb) b max'.
+ self assert: console cursorCol = 7.
+
+ consoleI type: #CursorRight.
+ self assert: console list first = '(gdb) b max'.
+ self assert: console cursorCol = 8.
+
+ consoleI type: 'r'.
+ self assert: console list first = '(gdb) br max'.
+ self assert: console cursorCol = 9.
+
+ consoleI type: #EndOfLine.
+ self assert: console list first = '(gdb) br max'.
+ self assert: console cursorCol = 13.
+
+ consoleI type: '('.
+ self assert: console list first = '(gdb) br max('.
+ self assert: console cursorCol = 14.
+
+ "Created: / 25-01-2019 / 09:37:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-01-2019 / 11:42:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleViewTest methodsFor:'tests - obsolete'!
+
+test_completion_01
+ console completeAction:[ :partial |
+ console completions: #('finish')
+ ].
+ consoleI type: 'fi'.
+ consoleI type: #Tab.
+ self assert: console list first asString = 'finish'.
+
+ "Created: / 25-01-2019 / 22:47:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_completion_02
+
+ console completeAction:[ :partial |
+ console completions:
+ (#('file' 'finish') select: [ :each | each startsWith: partial ]).
+ ].
+ consoleI type: 'f'.
+ consoleI type: #Tab.
+ self assert: console list first asString = 'fi'.
+
+ consoleI type: 'l'.
+ consoleI type: #Tab.
+ self assert: console list first asString = 'file'.
+
+ "Created: / 25-01-2019 / 22:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_completion_03
+ console show: '-> '.
+
+ console completeAction:[ :partial |
+ console completions:
+ (#('file' 'finish') select: [ :each | each startsWith: partial ]).
+ ].
+ consoleI type: 'f'.
+ consoleI type: #Tab.
+ consoleI type: #Tab.
+ self assert: (console list at: 1) asString = '-> fi'.
+ self assert: (console list at: 2) asString = 'file'.
+ self assert: (console list at: 3) asString = 'finish'.
+ self assert: (console list at: 4) asString = '-> fi'.
+
+ consoleI type: 'n'.
+ consoleI type: #Tab.
+ self assert: (console list at: 4) asString = '-> finish'.
+
+ "Created: / 25-01-2019 / 22:48:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBSimpleConsoleViewTest class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/tests/VDBSimpleDebuggerConsoleApplicationTest.st Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/VDBSimpleDebuggerConsoleApplicationTest.st Fri Jan 25 13:33:51 2019 +0000
@@ -55,7 +55,6 @@
console := application consoleView.
consoleI := console interactor.
- [ console outStream hasData ] whileTrue:[ Delay waitForMilliseconds: 100 ].
consoleI type: 'fi'.
consoleI type: #Tab.
@@ -69,7 +68,7 @@
"Created: / 16-01-2019 / 13:53:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 21-01-2019 / 09:29:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 21-01-2019 / 09:29:40 / jv"
+ "Modified: / 25-01-2019 / 22:53:40 / jv"
! !
!VDBSimpleDebuggerConsoleApplicationTest class methodsFor:'documentation'!
--- a/tests/VDBSimpleDebuggerConsoleViewTest.st Wed Jan 23 11:02:06 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-"{ Package: 'jv:vdb/tests' }"
-
-"{ NameSpace: Smalltalk }"
-
-TestCase subclass:#VDBSimpleDebuggerConsoleViewTest
- instanceVariableNames:'preferences consoleOutput consoleInput console consoleI'
- classVariableNames:''
- poolDictionaries:''
- category:'VDB-UI-Console-Tests'
-!
-
-!VDBSimpleDebuggerConsoleViewTest class methodsFor:'documentation'!
-
-copyright
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-! !
-
-!VDBSimpleDebuggerConsoleViewTest methodsFor:'running'!
-
-setUp
- | window |
-
- super setUp.
-
- Screen current isNil ifTrue:[ Smalltalk openDisplay ].
- self skipIf: Screen current isNil description: 'No display connection'.
- Smalltalk loadPackage: 'stx:goodies/sunit/ext/ui'.
-
- consoleOutput := GDBInternalPipeStream new.
- consoleInput := GDBInternalPipeStream new.
-
- window := StandardSystemView new.
- window extent: 320 @ 200.
- window label: self printString.
- console := VDBSimpleDebuggerConsoleView origin: 0.0@0.0 extent: 1.0@1.0 in: window.
-
- "/ Following should be kept in sync with
- "/ VDBSimpleDebuggerConsoleApplication >> consoleView
- console localEcho:true.
- console inputTranslateCRToNL:true.
- console lineEditMode:true.
- console inStream:consoleInput.
- console outStream:consoleOutput.
- console startReaderProcessWhenVisible.
-
- window open.
- window waitUntilVisible.
-
- consoleI := console interactor
-
- "Modified: / 16-01-2019 / 10:24:12 / jv"
- "Modified: / 16-01-2019 / 16:23:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-tearDown
- super tearDown.
- console topView destroy.
-
- "Created: / 28-09-2018 / 08:29:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 16:23:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBSimpleDebuggerConsoleViewTest methodsFor:'tests'!
-
-test_completion_01
-
- console completionBlock:[ :partial |
- console completeCommandWith: #('finish')
- ].
- consoleI type: 'fi'.
- consoleI type: #Tab.
- self assert: console list first asString = 'finish'.
-
- "Created: / 16-01-2019 / 11:44:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-test_completion_02
-
- console completionBlock:[ :partial |
- console completeCommandWith:
- (#('file' 'finish') select: [ :each | each startsWith: partial ]).
- ].
- consoleI type: 'f'.
- consoleI type: #Tab.
- self assert: console list first asString = 'fi'.
-
- consoleI type: 'l'.
- consoleI type: #Tab.
- self assert: console list first asString = 'file'.
-
- "Created: / 16-01-2019 / 11:46:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-test_completion_03
- consoleOutput nextPutAll: '-> '.
- [ consoleOutput hasData ] whileTrue:[ Delay waitForMilliseconds: 100 ].
-
- console completionBlock:[ :partial |
- console completeCommandWith:
- (#('file' 'finish') select: [ :each | each startsWith: partial ]).
- ].
- consoleI type: 'f'.
- consoleI type: #Tab.
- consoleI type: #Tab.
- self assert: (console list at: 1) asString = '-> fi'.
- self assert: (console list at: 2) asString = 'file'.
- self assert: (console list at: 3) asString = 'finish'.
- self assert: (console list at: 4) asString = '-> fi'.
-
- consoleI type: 'n'.
- consoleI type: #Tab.
- self assert: (console list at: 4) asString = '-> finish'.
-
- "Created: / 16-01-2019 / 11:56:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 12:51:36 / jv"
-!
-
-test_io_01
-
- consoleOutput nextPutAll: 'Hello World'; crlf; nextPutAll: '> '.
- [ consoleOutput hasData ] whileTrue:[ Delay waitForMilliseconds: 100 ].
-
- self assert: console list first = 'Hello World'.
- self assert: console list second = '> '.
-
- consoleI type: 'command'.
- self assert: console list second = '> command'.
-
- consoleI type: #Return.
- self assert: consoleInput nextLine asString = 'command'.
-
- "Created: / 16-01-2019 / 10:23:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-01-2019 / 10:36:49 / jv"
-! !
-
-!VDBSimpleDebuggerConsoleViewTest class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-! !
-
--- a/tests/abbrev.stc Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/abbrev.stc Fri Jan 25 13:33:51 2019 +0000
@@ -2,7 +2,7 @@
# this file is needed for stc to be able to compile modules independently.
# it provides information about a classes filename, category and especially namespace.
VDBAbstractApplicationTests VDBAbstractApplicationTests jv:vdb/tests 'VDB-UI-Abstract-Tests' 1
-VDBSimpleDebuggerConsoleViewTest VDBSimpleDebuggerConsoleViewTest jv:vdb/tests 'VDB-UI-Console-Tests' 1
+VDBSimpleConsoleViewTest VDBSimpleConsoleViewTest jv:vdb/tests 'VDB-UI-Console-Tests' 1
jv_vdb_tests jv_vdb_tests jv:vdb/tests '* Projects & Packages *' 3
VDBInstructionListApplicationTests VDBInstructionListApplicationTests jv:vdb/tests 'VDB-UI-Others-Tests' 1
VDBSimpleDebuggerConsoleApplicationTest VDBSimpleDebuggerConsoleApplicationTest jv:vdb/tests 'VDB-UI-Console-Tests' 1
--- a/tests/bc.mak Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/bc.mak Fri Jan 25 13:33:51 2019 +0000
@@ -73,7 +73,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)VDBAbstractApplicationTests.$(O) VDBAbstractApplicationTests.$(C) VDBAbstractApplicationTests.$(H): VDBAbstractApplicationTests.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)VDBSimpleDebuggerConsoleViewTest.$(O) VDBSimpleDebuggerConsoleViewTest.$(C) VDBSimpleDebuggerConsoleViewTest.$(H): VDBSimpleDebuggerConsoleViewTest.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)VDBSimpleConsoleViewTest.$(O) VDBSimpleConsoleViewTest.$(C) VDBSimpleConsoleViewTest.$(H): VDBSimpleConsoleViewTest.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)jv_vdb_tests.$(O) jv_vdb_tests.$(C) jv_vdb_tests.$(H): jv_vdb_tests.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionListApplicationTests.$(O) VDBInstructionListApplicationTests.$(C) VDBInstructionListApplicationTests.$(H): VDBInstructionListApplicationTests.st $(INCLUDE_TOP)\jv\vdb\tests\VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleDebuggerConsoleApplicationTest.$(O) VDBSimpleDebuggerConsoleApplicationTest.$(C) VDBSimpleDebuggerConsoleApplicationTest.$(H): VDBSimpleDebuggerConsoleApplicationTest.st $(INCLUDE_TOP)\jv\vdb\tests\VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/tests/jv_vdb_tests.st Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/jv_vdb_tests.st Fri Jan 25 13:33:51 2019 +0000
@@ -72,7 +72,7 @@
#'jv:libgdbs/tests' "GDBDebuggeesResource - referenced by VDBAbstractApplicationTests class>>resources"
#'jv:vdb' "VDBInstructionListApplication - referenced by VDBInstructionListApplicationTests>>test_01a"
#'stx:libbasic3' "MessageTracer - referenced by VDBAbstractApplicationTests>>setUp"
- #'stx:libview' "StandardSystemView - referenced by VDBSimpleDebuggerConsoleViewTest>>setUp"
+ #'stx:libview' "StandardSystemView - referenced by VDBSimpleConsoleViewTest>>setUp"
#'stx:libview2' "ValueHolder - referenced by VDBInstructionListApplicationTests>>test_01a"
)
!
@@ -98,7 +98,7 @@
^ #(
"<className> or (<className> attributes...) in load order"
VDBAbstractApplicationTests
- VDBSimpleDebuggerConsoleViewTest
+ VDBSimpleConsoleViewTest
#'jv_vdb_tests'
VDBInstructionListApplicationTests
VDBSimpleDebuggerConsoleApplicationTest
--- a/tests/libInit.cc Wed Jan 23 11:02:06 2019 +0000
+++ b/tests/libInit.cc Fri Jan 25 13:33:51 2019 +0000
@@ -17,7 +17,7 @@
#endif
extern void _VDBAbstractApplicationTests_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _VDBSimpleDebuggerConsoleViewTest_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBSimpleConsoleViewTest_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _jv_137vdb_137tests_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBInstructionListApplicationTests_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBSimpleDebuggerConsoleApplicationTest_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -36,7 +36,7 @@
{
__BEGIN_PACKAGE2__("libjv_vdb_tests", _libjv_vdb_tests_Init, "jv:vdb/tests");
_VDBAbstractApplicationTests_Init(pass,__pRT__,snd);
- _VDBSimpleDebuggerConsoleViewTest_Init(pass,__pRT__,snd);
+ _VDBSimpleConsoleViewTest_Init(pass,__pRT__,snd);
_jv_137vdb_137tests_Init(pass,__pRT__,snd);
_VDBInstructionListApplicationTests_Init(pass,__pRT__,snd);
_VDBSimpleDebuggerConsoleApplicationTest_Init(pass,__pRT__,snd);