Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
23cafd02
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
23cafd02
编写于
5月 03, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move text area related code to /browser/
上级
5397df98
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
102 addition
and
110 deletion
+102
-110
src/vs/editor/browser/controller/input/textAreaWrapper.ts
src/vs/editor/browser/controller/input/textAreaWrapper.ts
+1
-1
src/vs/editor/browser/controller/keyboardHandler.ts
src/vs/editor/browser/controller/keyboardHandler.ts
+2
-2
src/vs/editor/browser/controller/textAreaHandler.ts
src/vs/editor/browser/controller/textAreaHandler.ts
+2
-2
src/vs/editor/browser/controller/textAreaState.ts
src/vs/editor/browser/controller/textAreaState.ts
+0
-0
src/vs/editor/browser/view/viewImpl.ts
src/vs/editor/browser/view/viewImpl.ts
+3
-3
src/vs/editor/common/viewLayout/viewLayout.ts
src/vs/editor/common/viewLayout/viewLayout.ts
+2
-2
src/vs/editor/common/viewModel/viewModelImpl.ts
src/vs/editor/common/viewModel/viewModelImpl.ts
+1
-1
src/vs/editor/contrib/clipboard/browser/clipboard.ts
src/vs/editor/contrib/clipboard/browser/clipboard.ts
+1
-1
src/vs/editor/test/browser/controller/imeTester.ts
src/vs/editor/test/browser/controller/imeTester.ts
+2
-2
src/vs/editor/test/browser/controller/textAreaState.test.ts
src/vs/editor/test/browser/controller/textAreaState.test.ts
+88
-2
src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
+0
-94
未找到文件。
src/vs/editor/browser/controller/input/textAreaWrapper.ts
浏览文件 @
23cafd02
...
...
@@ -9,7 +9,7 @@ import { Disposable } from 'vs/base/common/lifecycle';
import
*
as
browser
from
'
vs/base/browser/browser
'
;
import
*
as
dom
from
'
vs/base/browser/dom
'
;
import
{
IKeyboardEvent
}
from
'
vs/base/browser/keyboardEvent
'
;
import
{
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ITextAreaWrapper
}
from
'
vs/editor/
common
/controller/textAreaState
'
;
import
{
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ITextAreaWrapper
}
from
'
vs/editor/
browser
/controller/textAreaState
'
;
import
{
FastDomNode
}
from
'
vs/base/browser/fastDomNode
'
;
class
ClipboardEventWrapper
implements
IClipboardEvent
{
...
...
src/vs/editor/browser/controller/keyboardHandler.ts
浏览文件 @
23cafd02
...
...
@@ -8,8 +8,8 @@ import * as browser from 'vs/base/browser/browser';
import
*
as
dom
from
'
vs/base/browser/dom
'
;
import
{
IKeyboardEvent
}
from
'
vs/base/browser/keyboardEvent
'
;
import
{
GlobalScreenReaderNVDA
}
from
'
vs/editor/common/config/commonEditorConfig
'
;
import
{
TextAreaHandler
}
from
'
vs/editor/
common
/controller/textAreaHandler
'
;
import
{
TextAreaStrategy
}
from
'
vs/editor/
common
/controller/textAreaState
'
;
import
{
TextAreaHandler
}
from
'
vs/editor/
browser
/controller/textAreaHandler
'
;
import
{
TextAreaStrategy
}
from
'
vs/editor/
browser
/controller/textAreaState
'
;
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
import
{
ViewEventHandler
}
from
'
vs/editor/common/viewModel/viewEventHandler
'
;
import
{
Configuration
}
from
'
vs/editor/browser/config/configuration
'
;
...
...
src/vs/editor/
common
/controller/textAreaHandler.ts
→
src/vs/editor/
browser
/controller/textAreaHandler.ts
浏览文件 @
23cafd02
...
...
@@ -9,7 +9,7 @@ import * as strings from 'vs/base/common/strings';
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ISimpleModel
,
ITextAreaWrapper
,
ITypeData
,
TextAreaState
,
TextAreaStrategy
,
createTextAreaState
}
from
'
vs/editor/
common
/controller/textAreaState
'
;
import
{
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ISimpleModel
,
ITextAreaWrapper
,
ITypeData
,
TextAreaState
,
TextAreaStrategy
,
createTextAreaState
}
from
'
vs/editor/
browser
/controller/textAreaState
'
;
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
export
const
CopyOptions
=
{
...
...
src/vs/editor/
common
/controller/textAreaState.ts
→
src/vs/editor/
browser
/controller/textAreaState.ts
浏览文件 @
23cafd02
文件已移动
src/vs/editor/browser/view/viewImpl.ts
浏览文件 @
23cafd02
...
...
@@ -20,7 +20,7 @@ import * as editorBrowser from 'vs/editor/browser/editorBrowser';
import
{
ViewController
,
ExecCoreEditorCommandFunc
}
from
'
vs/editor/browser/view/viewController
'
;
import
{
ViewEventDispatcher
}
from
'
vs/editor/common/view/viewEventDispatcher
'
;
import
{
ContentViewOverlays
,
MarginViewOverlays
}
from
'
vs/editor/browser/view/viewOverlays
'
;
import
{
LayoutProvider
}
from
'
vs/editor/common/viewLayout/viewLayout
'
;
import
{
ViewLayout
}
from
'
vs/editor/common/viewLayout/viewLayout
'
;
import
{
ViewContentWidgets
}
from
'
vs/editor/browser/viewParts/contentWidgets/contentWidgets
'
;
import
{
CurrentLineHighlightOverlay
}
from
'
vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight
'
;
import
{
CurrentLineMarginHighlightOverlay
}
from
'
vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight
'
;
...
...
@@ -66,7 +66,7 @@ export class View extends ViewEventHandler {
private
eventDispatcher
:
ViewEventDispatcher
;
private
layoutProvider
:
LayoutProvider
;
private
layoutProvider
:
ViewLayout
;
private
_scrollbar
:
EditorScrollbar
;
public
_context
:
ViewContext
;
...
...
@@ -121,7 +121,7 @@ export class View extends ViewEventHandler {
// - scrolling (i.e. viewport / full size) & co.
// - whitespaces (a.k.a. view zones) management & co.
// - line heights updating & co.
this
.
layoutProvider
=
new
LayoutProvider
(
configuration
,
model
.
getLineCount
(),
this
.
eventDispatcher
);
this
.
layoutProvider
=
new
ViewLayout
(
configuration
,
model
.
getLineCount
(),
this
.
eventDispatcher
);
// The view context is passed on to most classes (basically to reduce param. counts in ctors)
this
.
_context
=
new
ViewContext
(
configuration
,
model
,
this
.
eventDispatcher
);
...
...
src/vs/editor/common/viewLayout/viewLayout.ts
浏览文件 @
23cafd02
...
...
@@ -14,7 +14,7 @@ import { ViewEventDispatcher } from 'vs/editor/common/view/viewEventDispatcher';
import
*
as
viewEvents
from
'
vs/editor/common/view/viewEvents
'
;
import
{
IEditorWhitespace
}
from
'
vs/editor/common/viewLayout/whitespaceComputer
'
;
export
class
LayoutProvider
extends
Disposable
implements
IViewLayout
{
export
class
ViewLayout
extends
Disposable
implements
IViewLayout
{
static
LINES_HORIZONTAL_EXTRA_PX
=
30
;
...
...
@@ -129,7 +129,7 @@ export class LayoutProvider extends Disposable implements IViewLayout {
private
_computeScrollWidth
(
maxLineWidth
:
number
,
viewportWidth
:
number
):
number
{
let
isViewportWrapping
=
this
.
_configuration
.
editor
.
wrappingInfo
.
isViewportWrapping
;
if
(
!
isViewportWrapping
)
{
return
Math
.
max
(
maxLineWidth
+
LayoutProvider
.
LINES_HORIZONTAL_EXTRA_PX
,
viewportWidth
);
return
Math
.
max
(
maxLineWidth
+
ViewLayout
.
LINES_HORIZONTAL_EXTRA_PX
,
viewportWidth
);
}
return
Math
.
max
(
maxLineWidth
,
viewportWidth
);
}
...
...
src/vs/editor/common/viewModel/viewModelImpl.ts
浏览文件 @
23cafd02
...
...
@@ -568,7 +568,7 @@ export class ViewModel extends Disposable implements IViewModel {
if
(
range
.
isEmpty
())
{
if
(
enableEmptySelectionClipboard
)
{
let
modelLineNumber
=
this
.
coordinatesConverter
.
convertViewPositionToModelPosition
(
new
Position
(
range
.
startLineNumber
,
1
)).
lineNumber
;
return
this
.
getModel
LineContent
(
modelLineNumber
)
+
newLineCharacter
;
return
this
.
model
.
get
LineContent
(
modelLineNumber
)
+
newLineCharacter
;
}
else
{
return
''
;
}
...
...
src/vs/editor/contrib/clipboard/browser/clipboard.ts
浏览文件 @
23cafd02
...
...
@@ -13,7 +13,7 @@ import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation
import
{
ICodeEditorService
}
from
'
vs/editor/common/services/codeEditorService
'
;
import
*
as
editorCommon
from
'
vs/editor/common/editorCommon
'
;
import
{
editorAction
,
IActionOptions
,
EditorAction
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
CopyOptions
}
from
'
vs/editor/
common
/controller/textAreaHandler
'
;
import
{
CopyOptions
}
from
'
vs/editor/
browser
/controller/textAreaHandler
'
;
import
{
EditorContextKeys
}
from
'
vs/editor/common/editorContextKeys
'
;
const
CLIPBOARD_CONTEXT_MENU_GROUP
=
'
9_cutcopypaste
'
;
...
...
src/vs/editor/test/browser/controller/imeTester.ts
浏览文件 @
23cafd02
...
...
@@ -4,9 +4,9 @@
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
TextAreaHandler
}
from
'
vs/editor/
common
/controller/textAreaHandler
'
;
import
{
TextAreaHandler
}
from
'
vs/editor/
browser
/controller/textAreaHandler
'
;
import
*
as
browser
from
'
vs/base/browser/browser
'
;
import
{
TextAreaStrategy
,
ISimpleModel
}
from
'
vs/editor/
common
/controller/textAreaState
'
;
import
{
TextAreaStrategy
,
ISimpleModel
}
from
'
vs/editor/
browser
/controller/textAreaState
'
;
import
{
Range
,
IRange
}
from
'
vs/editor/common/core/range
'
;
import
*
as
editorCommon
from
'
vs/editor/common/editorCommon
'
;
import
{
TextAreaWrapper
}
from
'
vs/editor/browser/controller/input/textAreaWrapper
'
;
...
...
src/vs/editor/test/
common
/controller/textAreaState.test.ts
→
src/vs/editor/test/
browser
/controller/textAreaState.test.ts
浏览文件 @
23cafd02
...
...
@@ -5,11 +5,97 @@
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
{
IENarratorTextAreaState
,
ISimpleModel
,
TextAreaState
}
from
'
vs/editor/common
/controller/textAreaState
'
;
import
{
IENarratorTextAreaState
,
ISimpleModel
,
TextAreaState
,
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ITextAreaWrapper
}
from
'
vs/editor/browser
/controller/textAreaState
'
;
import
{
Position
}
from
'
vs/editor/common/core/position
'
;
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
import
{
EndOfLinePreference
}
from
'
vs/editor/common/editorCommon
'
;
import
{
MockTextAreaWrapper
}
from
'
vs/editor/test/common/mocks/mockTextAreaWrapper
'
;
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
export
class
MockTextAreaWrapper
extends
Disposable
implements
ITextAreaWrapper
{
private
_onKeyDown
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyDown
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyDown
.
event
;
private
_onKeyUp
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyUp
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyUp
.
event
;
private
_onKeyPress
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyPress
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyPress
.
event
;
private
_onCompositionStart
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionStart
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionStart
.
event
;
private
_onCompositionUpdate
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionUpdate
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionUpdate
.
event
;
private
_onCompositionEnd
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionEnd
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionEnd
.
event
;
private
_onInput
=
this
.
_register
(
new
Emitter
<
void
>
());
public
onInput
:
Event
<
void
>
=
this
.
_onInput
.
event
;
private
_onCut
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onCut
:
Event
<
IClipboardEvent
>
=
this
.
_onCut
.
event
;
private
_onCopy
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onCopy
:
Event
<
IClipboardEvent
>
=
this
.
_onCopy
.
event
;
private
_onPaste
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onPaste
:
Event
<
IClipboardEvent
>
=
this
.
_onPaste
.
event
;
public
_value
:
string
;
public
_selectionStart
:
number
;
public
_selectionEnd
:
number
;
public
_isInOverwriteMode
:
boolean
;
constructor
()
{
super
();
this
.
_value
=
''
;
this
.
_selectionStart
=
0
;
this
.
_selectionEnd
=
0
;
this
.
_isInOverwriteMode
=
false
;
}
public
getValue
():
string
{
return
this
.
_value
;
}
public
setValue
(
reason
:
string
,
value
:
string
):
void
{
this
.
_value
=
value
;
this
.
_selectionStart
=
this
.
_value
.
length
;
this
.
_selectionEnd
=
this
.
_value
.
length
;
}
public
getSelectionStart
():
number
{
return
this
.
_selectionStart
;
}
public
getSelectionEnd
():
number
{
return
this
.
_selectionEnd
;
}
public
setSelectionRange
(
selectionStart
:
number
,
selectionEnd
:
number
):
void
{
if
(
selectionStart
<
0
)
{
selectionStart
=
0
;
}
if
(
selectionStart
>
this
.
_value
.
length
)
{
selectionStart
=
this
.
_value
.
length
;
}
if
(
selectionEnd
<
0
)
{
selectionEnd
=
0
;
}
if
(
selectionEnd
>
this
.
_value
.
length
)
{
selectionEnd
=
this
.
_value
.
length
;
}
this
.
_selectionStart
=
selectionStart
;
this
.
_selectionEnd
=
selectionEnd
;
}
public
isInOverwriteMode
():
boolean
{
return
this
.
_isInOverwriteMode
;
}
}
suite
(
'
TextAreaState
'
,
()
=>
{
...
...
src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
已删除
100644 → 0
浏览文件 @
5397df98
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IClipboardEvent
,
ICompositionEvent
,
IKeyboardEventWrapper
,
ITextAreaWrapper
}
from
'
vs/editor/common/controller/textAreaState
'
;
export
class
MockTextAreaWrapper
extends
Disposable
implements
ITextAreaWrapper
{
private
_onKeyDown
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyDown
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyDown
.
event
;
private
_onKeyUp
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyUp
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyUp
.
event
;
private
_onKeyPress
=
this
.
_register
(
new
Emitter
<
IKeyboardEventWrapper
>
());
public
onKeyPress
:
Event
<
IKeyboardEventWrapper
>
=
this
.
_onKeyPress
.
event
;
private
_onCompositionStart
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionStart
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionStart
.
event
;
private
_onCompositionUpdate
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionUpdate
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionUpdate
.
event
;
private
_onCompositionEnd
=
this
.
_register
(
new
Emitter
<
ICompositionEvent
>
());
public
onCompositionEnd
:
Event
<
ICompositionEvent
>
=
this
.
_onCompositionEnd
.
event
;
private
_onInput
=
this
.
_register
(
new
Emitter
<
void
>
());
public
onInput
:
Event
<
void
>
=
this
.
_onInput
.
event
;
private
_onCut
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onCut
:
Event
<
IClipboardEvent
>
=
this
.
_onCut
.
event
;
private
_onCopy
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onCopy
:
Event
<
IClipboardEvent
>
=
this
.
_onCopy
.
event
;
private
_onPaste
=
this
.
_register
(
new
Emitter
<
IClipboardEvent
>
());
public
onPaste
:
Event
<
IClipboardEvent
>
=
this
.
_onPaste
.
event
;
public
_value
:
string
;
public
_selectionStart
:
number
;
public
_selectionEnd
:
number
;
public
_isInOverwriteMode
:
boolean
;
constructor
()
{
super
();
this
.
_value
=
''
;
this
.
_selectionStart
=
0
;
this
.
_selectionEnd
=
0
;
this
.
_isInOverwriteMode
=
false
;
}
public
getValue
():
string
{
return
this
.
_value
;
}
public
setValue
(
reason
:
string
,
value
:
string
):
void
{
this
.
_value
=
value
;
this
.
_selectionStart
=
this
.
_value
.
length
;
this
.
_selectionEnd
=
this
.
_value
.
length
;
}
public
getSelectionStart
():
number
{
return
this
.
_selectionStart
;
}
public
getSelectionEnd
():
number
{
return
this
.
_selectionEnd
;
}
public
setSelectionRange
(
selectionStart
:
number
,
selectionEnd
:
number
):
void
{
if
(
selectionStart
<
0
)
{
selectionStart
=
0
;
}
if
(
selectionStart
>
this
.
_value
.
length
)
{
selectionStart
=
this
.
_value
.
length
;
}
if
(
selectionEnd
<
0
)
{
selectionEnd
=
0
;
}
if
(
selectionEnd
>
this
.
_value
.
length
)
{
selectionEnd
=
this
.
_value
.
length
;
}
this
.
_selectionStart
=
selectionStart
;
this
.
_selectionEnd
=
selectionEnd
;
}
public
isInOverwriteMode
():
boolean
{
return
this
.
_isInOverwriteMode
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录