VDBSimpleConsoleView.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 25 Jun 2019 15:26:33 +0100
changeset 176 a3a4fe982cf9
parent 170 cd9615ebe6a9
child 178 5d1c3e5fab6b
permissions -rw-r--r--
UX: flash console when there's more to complete
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
jv:vdb - Visual / VM Debugger
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
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/
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    13
TextCollector subclass:#VDBSimpleConsoleView
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    14
	instanceVariableNames:'buffer bufferPosition history historyPosition completeAction
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    15
		lastTabTime lastCompletions'
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    16
	classVariableNames:'TabTabInterval'
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	poolDictionaries:''
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    18
	category:'VDB-UI-Console'
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    21
!VDBSimpleConsoleView class methodsFor:'documentation'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
copyright
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
jv:vdb - Visual / VM Debugger
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
Copyright (C) 2015-now Jan Vrany
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
"
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    34
!VDBSimpleConsoleView class methodsFor:'initialization'!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    35
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    36
initialize
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    37
    "Invoked at system start or when the class is dynamically loaded."
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    38
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    39
    "/ please change as required (and remove this comment)
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    40
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    41
    TabTabInterval := 500"ms"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    42
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    43
    "Modified: / 25-01-2019 / 21:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    44
! !
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    45
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    46
!VDBSimpleConsoleView methodsFor:'accessing'!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    47
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    48
completeAction
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    49
    ^ completeAction
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    50
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    51
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    52
completeAction:aBlock
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    53
    completeAction := aBlock.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    54
! !
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    55
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    56
!VDBSimpleConsoleView methodsFor:'actions'!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    57
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    58
buffer: aString
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    59
    "Set the line buffer, position the cursor at the end of
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    60
     line"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    61
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    62
    | line |
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    63
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    64
    line := list at: cursorLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    65
    line := (line copyTo: cursorCol - bufferPosition) , aString.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    66
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    67
    list at: cursorLine put: line.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    68
    buffer := aString.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    69
    bufferPosition := aString size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    70
    self cursorCol: line size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    71
    self invalidateLine: cursorLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    72
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    73
    "Created: / 26-01-2019 / 22:16:51 / 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: 130
diff changeset
    74
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    75
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    76
completion: completion matches: matches
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    77
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    78
    lastCompletions := matches.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    79
    lastCompletions isEmptyOrNil ifTrue:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    80
        lastCompletions := nil.
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: 132
diff changeset
    81
        self flash: (resources string:'Nothing to complete').
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    82
        ^self.
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    83
    ].
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    84
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    85
    completion isEmptyOrNil ifTrue:[ 
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    86
        self flash: (resources string:'Ambiguous')
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
    87
    ] ifFalse:[
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    88
        (completion startsWith: (buffer copyTo: bufferPosition - 1)) ifTrue:[
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    89
            | insertion |
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    90
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    91
            insertion := completion copyFrom: bufferPosition.
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    92
            buffer := (buffer copyTo: bufferPosition - 1) , insertion , (buffer copyFrom: bufferPosition).
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    93
            self insertStringAtCursor: insertion.
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    94
            bufferPosition := bufferPosition + insertion size.
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    95
        ] ifFalse:[
176
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    96
            self breakPoint: #jv
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    97
        ].
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    98
        matches size > 1 ifTrue:[ 
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    99
            self flash.
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   100
        ].
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   101
    ]
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   102
170
cd9615ebe6a9 Update simple console implementation to use updated -complete command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   103
    "Created: / 12-06-2019 / 18:28:09 / jv"
176
a3a4fe982cf9 UX: flash console when there's more to complete
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   104
    "Modified: / 25-06-2019 / 17:02:28 / jv"
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   105
!
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   106
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   107
completionsShow
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   108
    "Shows completion candidates"
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   109
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   110
    | currentColNr currentLineNr currentLine  |
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   111
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   112
    lastCompletions isEmptyOrNil ifTrue:[ ^ self ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   113
    currentColNr := cursorCol.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   114
    currentLineNr := cursorLine.
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   115
    currentLine := self list at: currentLineNr.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   116
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   117
    self cr.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   118
    lastCompletions do:[:each |
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   119
        self showCR: each.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   120
    ].
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   121
    self nextPutAll: currentLine.
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   122
    self cursorCol: currentColNr.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   123
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   124
    "Created: / 25-01-2019 / 21:56:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   125
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   126
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   127
historyDown
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   128
    ((historyPosition + 1) between: 1 and: history size) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   129
        historyPosition := historyPosition + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   130
        self buffer: (history at: historyPosition)
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   131
    ] ifFalse:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   132
        historyPosition := history size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   133
        self buffer: ''.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   134
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   135
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   136
    "Created: / 26-01-2019 / 22:21:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   137
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   138
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   139
historyUp
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   140
    ((historyPosition - 1) between: 1 and: history size) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   141
        historyPosition := historyPosition - 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   142
        self buffer: (history at: historyPosition)
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   143
    ] ifFalse:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   144
        self beep.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   145
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   146
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   147
    "Created: / 26-01-2019 / 22:21:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   148
! !
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   149
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   150
!VDBSimpleConsoleView methodsFor:'cursor handling'!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   151
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   152
cursorMovementAllowed
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   153
    ^ false
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   154
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   155
    "Created: / 25-01-2019 / 09:40:14 / 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: 130
diff changeset
   156
! !
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   157
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   158
!VDBSimpleConsoleView methodsFor:'event handling'!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   159
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   160
extendSelectionToX:x y:y setPrimarySelection:aBoolean
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   161
    | savCursorLine savCursorCol |
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   162
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   163
    savCursorLine := cursorLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   164
    savCursorCol := cursorCol.        
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   165
    super extendSelectionToX:x y:y setPrimarySelection:aBoolean.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   166
    self cursorLine:savCursorLine col:savCursorCol.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   167
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   168
    "Created: / 26-01-2019 / 23:00:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   169
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   170
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   171
keyPress: key x: x y: y
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   172
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   173
    key == #Tab ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   174
        self keyPressTab.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   175
        ^ self
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   176
    ] ifFalse:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   177
        lastTabTime := lastCompletions := nil.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   178
    ].
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   180
    key isCharacter ifTrue:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   181
        buffer := (buffer copyTo:bufferPosition-1)
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   182
                      , key
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   183
                      , (buffer copyFrom:bufferPosition).
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   184
        self insertCharAtCursor:key.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   185
        bufferPosition := bufferPosition + 1. 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   186
        ^ self
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   187
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   188
    key == #Return ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   189
        self keyPressReturn.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   190
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   191
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   192
    key == #BackSpace ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   193
        self keyPressBackSpace.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   194
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   195
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   196
    key == #Delete ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   197
        self keyPressDelete.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   198
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   199
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   200
    key == #CursorLeft ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   201
        self keyPressCursorLeft.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   202
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   203
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   204
    key == #CursorRight ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   205
        self keyPressCursorRight.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   206
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   207
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   208
    key == #CursorUp ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   209
        self keyPressCursorUp.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   210
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   211
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   212
    key == #CursorDown ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   213
        self keyPressCursorDown.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   214
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   215
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   216
    ((key == #BeginOfLine) or:[key == #Ctrla]) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   217
        self keyPressBeginOfLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   218
        ^ self
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   219
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   220
    ((key == #EndOfLine) or:[key == #Ctrle]) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   221
        self keyPressEndOfLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   222
        ^ self
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   223
    ].
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
150
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   225
    (#(Shift Shift_L Shift_R 
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   226
      Ctrl Control Control_L Control_R 
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   227
      Cmd Alt Alt_L Alt_R 
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   228
      Win_L Menu
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   229
      Caps_Lock Escape
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   230
      PreviousPage NextPage
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   231
      Copy Paste Insert
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   232
    ) includes: key) ifTrue:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   233
         ^ super keyPress: key x:x y:y
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   234
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   235
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   236
    "/ Unhandled key
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   237
    self beep; flash
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   238
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   239
    "Created: / 24-01-2019 / 22:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   240
    "Modified: / 26-01-2019 / 22:36:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
150
2bd269c89e8c Fix annoying flashing in simple console on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   241
    "Modified: / 13-03-2019 / 14:11:13 / jv"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   242
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   243
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   244
keyPressBackSpace
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   245
    bufferPosition == 1 ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   246
        self beep.
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: 132
diff changeset
   247
        ^ 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: 132
diff changeset
   248
    ].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   249
    buffer := (buffer copyTo: bufferPosition - 2) , (buffer copyFrom: bufferPosition).
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   250
    self deleteCharBeforeCursor.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   251
    bufferPosition := bufferPosition - 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   252
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   253
    "Created: / 24-01-2019 / 22:09:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   254
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   255
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   256
keyPressBeginOfLine
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   257
    self cursorCol: self cursorCol - bufferPosition + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   258
    bufferPosition := 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   259
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   260
    "Created: / 25-01-2019 / 10:43:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   261
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   262
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   263
keyPressCursorDown
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   264
    self historyDown.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   266
    "Created: / 24-01-2019 / 22:18:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   267
    "Modified: / 26-01-2019 / 22:19:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   268
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   269
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   270
keyPressCursorLeft
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   271
    (bufferPosition < 2) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   272
        self beep.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   273
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   274
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   275
    bufferPosition := bufferPosition - 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   276
    self cursorLeft.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   277
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   278
    "Created: / 24-01-2019 / 22:18:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   279
    "Modified: / 25-01-2019 / 10:29:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   280
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   281
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   282
keyPressCursorRight
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   283
    (bufferPosition > buffer size) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   284
        self beep.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   285
        ^ self.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   287
    bufferPosition := bufferPosition + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   288
    self cursorRight.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   289
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   290
    "Created: / 24-01-2019 / 22:19:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   291
    "Modified: / 25-01-2019 / 10:30:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   292
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   293
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   294
keyPressCursorUp
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   295
    self historyUp.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   296
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   297
    "Created: / 24-01-2019 / 22:19:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   298
    "Modified: / 26-01-2019 / 22:19:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   299
!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   301
keyPressDelete
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   302
    bufferPosition == (buffer size + 1) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   303
        self beep.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   304
        ^ self.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   305
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   306
    buffer := (buffer copyTo: bufferPosition - 1) , (buffer copyFrom: bufferPosition + 1).
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   307
    self deleteCharAtCursor.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   309
    "Created: / 25-01-2019 / 10:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   310
!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   312
keyPressEndOfLine
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   313
    self cursorCol: self cursorCol - bufferPosition + buffer size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   314
    bufferPosition := buffer size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   315
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   316
    "Created: / 25-01-2019 / 11:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   317
!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   319
keyPressReturn
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   320
    acceptAction value: buffer.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   321
    history add: buffer.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   322
    historyPosition := history size + 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   323
    self cr.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   324
    buffer := ''.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   325
    bufferPosition := 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   326
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   327
    "Created: / 24-01-2019 / 22:09:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   328
    "Modified: / 26-01-2019 / 22:22:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   329
!
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   330
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   331
keyPressTab 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   332
    | now |
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   334
    "/ No completion installed, do nothing
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   335
    completeAction isNil ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   336
        self flash: (resources string: 'Command completion not supported').
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   337
        ^ self 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   338
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   339
    now := OperatingSystem getMillisecondTime.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   340
    (lastTabTime notNil and:[(now - lastTabTime) < TabTabInterval]) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   341
        "/ Tab Tab has been pressed, show completion history.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   342
        lastTabTime := nil.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   343
        self completionsShow.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   344
    ] ifFalse:[
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   345
        "/ A single Tab has been pressed, trigger completion.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   346
        lastTabTime := now.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   347
        completeAction value: (buffer copyTo: bufferPosition - 1)  
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   348
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   349
    ].
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   350
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   351
    "Created: / 25-01-2019 / 21:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   352
    "Modified: / 25-01-2019 / 22:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   355
!VDBSimpleConsoleView methodsFor:'initialization & release'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   357
initialize
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   358
    super initialize.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   359
    buffer := ''.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   360
    bufferPosition := 1.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   361
    history := OrderedCollection new.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   362
    historyPosition := 1.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   363
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   364
    "Created: / 24-01-2019 / 22:12:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   365
    "Modified: / 26-01-2019 / 22:22:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   366
! !
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   367
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   368
!VDBSimpleConsoleView methodsFor:'menu & menu actions'!
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   369
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   370
copySelection
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   371
    | savCursorLine savCursorCol |
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   372
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   373
    savCursorLine := cursorLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   374
    savCursorCol := cursorCol.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   375
    super copySelection.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   376
    self cursorLine:savCursorLine col:savCursorCol.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   378
    "Created: / 26-01-2019 / 22:59:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
!
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   381
paste:someText withCR:withCR
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   382
    "/ (For now) disallow pasting text with newlines...
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   383
    (someText includes: Character cr) ifTrue:[ 
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   384
        self beep.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   385
        ^ self.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   386
    ].
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   387
    buffer := (buffer copyTo: bufferPosition - 1) , someText , (buffer copyFrom: bufferPosition).
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   388
    self insertStringAtCursor: someText.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   389
    bufferPosition := bufferPosition + someText size.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   391
    "Created: / 26-01-2019 / 22:40:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   394
!VDBSimpleConsoleView methodsFor:'selections'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   396
selectWordAtLine:line col:col
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   397
    | savCursorLine savCursorCol |
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   399
    savCursorLine := cursorLine.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   400
    savCursorCol := cursorCol.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   401
    super selectWordAtLine:line col:col.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   402
    self cursorLine:savCursorLine col:savCursorCol.
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   404
    "Created: / 26-01-2019 / 22:55:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   407
!VDBSimpleConsoleView methodsFor:'stream messages'!
130
15335a3523c4 Fix: bug in simple console causing output being lost
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   408
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   409
show:anObject
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   410
    super show: anObject.
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   411
    self endEntry.
132
a1dededebc0b UX: add initial support for command completion in simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 130
diff changeset
   412
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   413
    "Created: / 25-01-2019 / 09:55:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
130
15335a3523c4 Fix: bug in simple console causing output being lost
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   414
! !
15335a3523c4 Fix: bug in simple console causing output being lost
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   415
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   416
!VDBSimpleConsoleView class methodsFor:'documentation'!
71
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
version_HG
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
    ^ '$Changeset: <not expanded> $'
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
! !
7329192efb9d Win32: ressurected console implementation from 0db4a162853f
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   423
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   424
VDBSimpleConsoleView initialize!