Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
93d755cb
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
93d755cb
编写于
7月 06, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove ModelLine._lineNumber (#30180)
上级
1b982d36
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
32 deletion
+19
-32
src/vs/editor/common/model/editableTextModel.ts
src/vs/editor/common/model/editableTextModel.ts
+1
-6
src/vs/editor/common/model/modelLine.ts
src/vs/editor/common/model/modelLine.ts
+2
-10
src/vs/editor/common/model/textModel.ts
src/vs/editor/common/model/textModel.ts
+1
-1
src/vs/editor/test/common/commands/sideEditing.test.ts
src/vs/editor/test/common/commands/sideEditing.test.ts
+1
-1
src/vs/editor/test/common/model/model.line.test.ts
src/vs/editor/test/common/model/model.line.test.ts
+14
-14
未找到文件。
src/vs/editor/common/model/editableTextModel.ts
浏览文件 @
93d755cb
...
...
@@ -653,8 +653,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
let
newLinesContent
:
string
[]
=
[];
let
newLinesLengths
=
new
Uint32Array
(
insertingLinesCnt
-
editingLinesCnt
);
for
(
let
j
=
editingLinesCnt
+
1
;
j
<=
insertingLinesCnt
;
j
++
)
{
let
newLineNumber
=
startLineNumber
+
j
;
newLines
.
push
(
new
ModelLine
(
newLineNumber
,
op
.
lines
[
j
],
tabSize
));
newLines
.
push
(
new
ModelLine
(
op
.
lines
[
j
],
tabSize
));
newLinesContent
.
push
(
op
.
lines
[
j
]);
newLinesLengths
[
j
-
editingLinesCnt
-
1
]
=
op
.
lines
[
j
].
length
+
this
.
_EOL
.
length
;
}
...
...
@@ -729,10 +728,6 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
let
line
=
this
.
_lines
[
i
];
let
lineNumber
=
i
+
1
;
if
(
line
.
lineNumber
!==
lineNumber
)
{
throw
new
Error
(
'
Invalid lineNumber at line:
'
+
lineNumber
+
'
; text is:
'
+
this
.
getValue
());
}
let
markers
=
line
.
getMarkers
();
if
(
markers
!==
null
)
{
for
(
let
j
=
0
,
lenJ
=
markers
.
length
;
j
<
lenJ
;
j
++
)
{
...
...
src/vs/editor/common/model/modelLine.ts
浏览文件 @
93d755cb
...
...
@@ -159,8 +159,6 @@ function computePlusOneIndentLevel(line: string, tabSize: number): number {
}
export
class
ModelLine
{
private
_lineNumber
:
number
;
public
get
lineNumber
():
number
{
return
this
.
_lineNumber
;
}
private
_text
:
string
;
public
get
text
():
string
{
return
this
.
_text
;
}
...
...
@@ -205,8 +203,7 @@ export class ModelLine {
private
_lineTokens
:
ArrayBuffer
;
private
_markers
:
LineMarker
[];
constructor
(
lineNumber
:
number
,
text
:
string
,
tabSize
:
number
)
{
this
.
_lineNumber
=
lineNumber
|
0
;
constructor
(
text
:
string
,
tabSize
:
number
)
{
this
.
_metadata
=
0
;
this
.
_setText
(
text
,
tabSize
);
this
.
_state
=
null
;
...
...
@@ -607,7 +604,7 @@ export class ModelLine {
// Mark overflowing tokens for deletion & delete marked tokens
this
.
_deleteMarkedTokens
(
this
.
_markOverflowingTokensForDeletion
(
0
,
this
.
_text
.
length
));
var
otherLine
=
new
ModelLine
(
this
.
_lineNumber
+
1
,
otherText
,
tabSize
);
var
otherLine
=
new
ModelLine
(
otherText
,
tabSize
);
if
(
otherMarkers
)
{
otherLine
.
addMarkers
(
otherMarkers
);
}
...
...
@@ -727,9 +724,6 @@ export class ModelLine {
}
public
updateLineNumber
(
markersTracker
:
MarkersTracker
,
newLineNumber
:
number
):
void
{
if
(
this
.
_lineNumber
===
newLineNumber
)
{
return
;
}
if
(
this
.
_markers
)
{
let
markers
=
this
.
_markers
;
for
(
let
i
=
0
,
len
=
markers
.
length
;
i
<
len
;
i
++
)
{
...
...
@@ -737,8 +731,6 @@ export class ModelLine {
marker
.
updateLineNumber
(
markersTracker
,
newLineNumber
);
}
}
this
.
_lineNumber
=
newLineNumber
;
}
private
_indexOfMarkerId
(
markerId
:
string
):
number
{
...
...
src/vs/editor/common/model/textModel.ts
浏览文件 @
93d755cb
...
...
@@ -759,7 +759,7 @@ export class TextModel implements editorCommon.ITextModel {
let
modelLines
:
ModelLine
[]
=
[];
for
(
let
i
=
0
,
len
=
rawLines
.
length
;
i
<
len
;
i
++
)
{
modelLines
[
i
]
=
new
ModelLine
(
i
+
1
,
rawLines
[
i
],
tabSize
);
modelLines
[
i
]
=
new
ModelLine
(
rawLines
[
i
],
tabSize
);
}
this
.
_BOM
=
textSource
.
BOM
;
this
.
_mightContainRTL
=
textSource
.
containsRTL
;
...
...
src/vs/editor/test/common/commands/sideEditing.test.ts
浏览文件 @
93d755cb
...
...
@@ -32,7 +32,7 @@ function testCommand(lines: string[], selections: Selection[], edits: IIdentifie
}
function
testLineEditMarker
(
text
:
string
,
column
:
number
,
stickToPreviousCharacter
:
boolean
,
edit
:
ILineEdit
,
expectedColumn
:
number
):
void
{
var
line
=
new
ModelLine
(
1
,
text
,
NO_TAB_SIZE
);
var
line
=
new
ModelLine
(
text
,
NO_TAB_SIZE
);
line
.
addMarker
(
new
LineMarker
(
'
1
'
,
0
,
new
Position
(
0
,
column
),
stickToPreviousCharacter
));
line
.
applyEdits
(
new
MarkersTracker
(),
[
edit
],
NO_TAB_SIZE
);
...
...
src/vs/editor/test/common/model/model.line.test.ts
浏览文件 @
93d755cb
...
...
@@ -27,7 +27,7 @@ const NO_TAB_SIZE = 0;
suite
(
'
ModelLine - getIndentLevel
'
,
()
=>
{
function
assertIndentLevel
(
text
:
string
,
expected
:
number
,
tabSize
:
number
=
4
):
void
{
let
modelLine
=
new
ModelLine
(
1
,
text
,
tabSize
);
let
modelLine
=
new
ModelLine
(
text
,
tabSize
);
let
actual
=
modelLine
.
getIndentLevel
();
assert
.
equal
(
actual
,
expected
,
text
);
}
...
...
@@ -53,7 +53,7 @@ suite('ModelLine - getIndentLevel', () => {
suite
(
'
Editor Model - modelLine.applyEdits text
'
,
()
=>
{
function
testEdits
(
initial
:
string
,
edits
:
ILineEdit
[],
expected
:
string
):
void
{
var
line
=
new
ModelLine
(
1
,
initial
,
NO_TAB_SIZE
);
var
line
=
new
ModelLine
(
initial
,
NO_TAB_SIZE
);
line
.
applyEdits
(
new
MarkersTracker
(),
edits
,
NO_TAB_SIZE
);
assert
.
equal
(
line
.
text
,
expected
);
}
...
...
@@ -200,7 +200,7 @@ suite('Editor Model - modelLine.applyEdits text', () => {
suite
(
'
Editor Model - modelLine.split text
'
,
()
=>
{
function
testLineSplit
(
initial
:
string
,
splitColumn
:
number
,
expected1
:
string
,
expected2
:
string
):
void
{
var
line
=
new
ModelLine
(
1
,
initial
,
NO_TAB_SIZE
);
var
line
=
new
ModelLine
(
initial
,
NO_TAB_SIZE
);
var
newLine
=
line
.
split
(
new
MarkersTracker
(),
splitColumn
,
false
,
NO_TAB_SIZE
);
assert
.
equal
(
line
.
text
,
expected1
);
assert
.
equal
(
newLine
.
text
,
expected2
);
...
...
@@ -237,8 +237,8 @@ suite('Editor Model - modelLine.split text', () => {
suite
(
'
Editor Model - modelLine.append text
'
,
()
=>
{
function
testLineAppend
(
a
:
string
,
b
:
string
,
expected
:
string
):
void
{
var
line1
=
new
ModelLine
(
1
,
a
,
NO_TAB_SIZE
);
var
line2
=
new
ModelLine
(
2
,
b
,
NO_TAB_SIZE
);
var
line1
=
new
ModelLine
(
a
,
NO_TAB_SIZE
);
var
line2
=
new
ModelLine
(
b
,
NO_TAB_SIZE
);
line1
.
append
(
new
MarkersTracker
(),
1
,
line2
,
NO_TAB_SIZE
);
assert
.
equal
(
line1
.
text
,
expected
);
}
...
...
@@ -298,7 +298,7 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
function
testLineEditTokens
(
initialText
:
string
,
initialTokens
:
TestToken
[],
edits
:
ILineEdit
[],
expectedText
:
string
,
expectedTokens
:
TestToken
[]):
void
{
let
line
=
new
ModelLine
(
1
,
initialText
,
NO_TAB_SIZE
);
let
line
=
new
ModelLine
(
initialText
,
NO_TAB_SIZE
);
line
.
setTokens
(
0
,
TestToken
.
toTokens
(
initialTokens
));
line
.
applyEdits
(
new
MarkersTracker
(),
edits
,
NO_TAB_SIZE
);
...
...
@@ -308,7 +308,7 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
}
test
(
'
insertion on empty line
'
,
()
=>
{
let
line
=
new
ModelLine
(
1
,
'
some text
'
,
NO_TAB_SIZE
);
let
line
=
new
ModelLine
(
'
some text
'
,
NO_TAB_SIZE
);
line
.
setTokens
(
0
,
TestToken
.
toTokens
([
new
TestToken
(
0
,
1
)]));
line
.
applyEdits
(
new
MarkersTracker
(),
[{
startColumn
:
1
,
endColumn
:
10
,
text
:
''
,
forceMoveMarkers
:
false
}],
NO_TAB_SIZE
);
...
...
@@ -870,7 +870,7 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
suite
(
'
Editor Model - modelLine.split text & tokens
'
,
()
=>
{
function
testLineSplitTokens
(
initialText
:
string
,
initialTokens
:
TestToken
[],
splitColumn
:
number
,
expectedText1
:
string
,
expectedText2
:
string
,
expectedTokens
:
TestToken
[]):
void
{
let
line
=
new
ModelLine
(
1
,
initialText
,
NO_TAB_SIZE
);
let
line
=
new
ModelLine
(
initialText
,
NO_TAB_SIZE
);
line
.
setTokens
(
0
,
TestToken
.
toTokens
(
initialTokens
));
let
other
=
line
.
split
(
new
MarkersTracker
(),
splitColumn
,
false
,
NO_TAB_SIZE
);
...
...
@@ -954,10 +954,10 @@ suite('Editor Model - modelLine.split text & tokens', () => {
suite
(
'
Editor Model - modelLine.append text & tokens
'
,
()
=>
{
function
testLineAppendTokens
(
aText
:
string
,
aTokens
:
TestToken
[],
bText
:
string
,
bTokens
:
TestToken
[],
expectedText
:
string
,
expectedTokens
:
TestToken
[]):
void
{
let
a
=
new
ModelLine
(
1
,
aText
,
NO_TAB_SIZE
);
let
a
=
new
ModelLine
(
aText
,
NO_TAB_SIZE
);
a
.
setTokens
(
0
,
TestToken
.
toTokens
(
aTokens
));
let
b
=
new
ModelLine
(
2
,
bText
,
NO_TAB_SIZE
);
let
b
=
new
ModelLine
(
bText
,
NO_TAB_SIZE
);
b
.
setTokens
(
0
,
TestToken
.
toTokens
(
bTokens
));
a
.
append
(
new
MarkersTracker
(),
1
,
b
,
NO_TAB_SIZE
);
...
...
@@ -1094,7 +1094,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
}
function
testLineEditMarkers
(
initialText
:
string
,
initialMarkers
:
LineMarker
[],
edits
:
ILineEdit
[],
expectedText
:
string
,
expectedChangedMarkers
:
number
[],
_expectedMarkers
:
LineMarker
[]):
void
{
let
line
=
new
ModelLine
(
1
,
initialText
,
NO_TAB_SIZE
);
let
line
=
new
ModelLine
(
initialText
,
NO_TAB_SIZE
);
line
.
addMarkers
(
initialMarkers
);
let
changedMarkers
=
new
MarkersTracker
();
...
...
@@ -1911,7 +1911,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
}
function
testLineSplitMarkers
(
initialText
:
string
,
initialMarkers
:
LineMarker
[],
splitColumn
:
number
,
forceMoveMarkers
:
boolean
,
expectedText1
:
string
,
expectedText2
:
string
,
expectedChangedMarkers
:
number
[],
_expectedMarkers1
:
LineMarker
[],
_expectedMarkers2
:
LineMarker
[]):
void
{
let
line
=
new
ModelLine
(
1
,
initialText
,
NO_TAB_SIZE
);
let
line
=
new
ModelLine
(
initialText
,
NO_TAB_SIZE
);
line
.
addMarkers
(
initialMarkers
);
let
changedMarkers
=
new
MarkersTracker
();
...
...
@@ -2184,10 +2184,10 @@ suite('Editor Model - modelLine.append text & markers', () => {
}
function
testLinePrependMarkers
(
aText
:
string
,
aMarkers
:
LineMarker
[],
bText
:
string
,
bMarkers
:
LineMarker
[],
expectedText
:
string
,
expectedChangedMarkers
:
number
[],
_expectedMarkers
:
LineMarker
[]):
void
{
let
a
=
new
ModelLine
(
1
,
aText
,
NO_TAB_SIZE
);
let
a
=
new
ModelLine
(
aText
,
NO_TAB_SIZE
);
a
.
addMarkers
(
aMarkers
);
let
b
=
new
ModelLine
(
2
,
bText
,
NO_TAB_SIZE
);
let
b
=
new
ModelLine
(
bText
,
NO_TAB_SIZE
);
b
.
addMarkers
(
bMarkers
);
let
changedMarkers
=
new
MarkersTracker
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录