Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
77df637a
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,发现更多精彩内容 >>
提交
77df637a
编写于
7月 23, 2019
作者:
P
pi1024e
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Removed style chacnges
上级
3bbef237
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
27 deletion
+30
-27
extensions/css-language-features/server/src/pathCompletion.ts
...nsions/css-language-features/server/src/pathCompletion.ts
+23
-21
extensions/html-language-features/server/src/modes/pathCompletion.ts
...html-language-features/server/src/modes/pathCompletion.ts
+6
-5
src/vs/editor/common/config/commonEditorConfig.ts
src/vs/editor/common/config/commonEditorConfig.ts
+1
-1
未找到文件。
extensions/css-language-features/server/src/pathCompletion.ts
浏览文件 @
77df637a
...
...
@@ -144,24 +144,27 @@ const isDir = (p: string) => {
};
function
pathToReplaceRange
(
valueBeforeCursor
:
string
,
fullValue
:
string
,
fullValueRange
:
Range
)
{
let
replaceRange
:
Range
;
const
lastIndexOfSlash
=
valueBeforeCursor
.
lastIndexOf
(
'
/
'
);
if
(
lastIndexOfSlash
===
-
1
)
{
return
fullValueRange
;
}
// For cases where cursor is in the middle of attribute value, like <script src="./s|rc/test.js">
// Find the last slash before cursor, and calculate the start of replace range from there
const
valueAfterLastSlash
=
fullValue
.
slice
(
lastIndexOfSlash
+
1
);
const
startPos
=
shiftPosition
(
fullValueRange
.
end
,
-
valueAfterLastSlash
.
length
);
// If whitespace exists, replace until there is no more remaining.
const
whitespaceIndex
=
valueAfterLastSlash
.
indexOf
(
'
'
);
if
(
whitespaceIndex
===
-
1
)
{
return
Range
.
create
(
startPos
,
fullValueRange
.
end
);
replaceRange
=
fullValueRange
;
}
else
{
// For cases where cursor is in the middle of attribute value, like <script src="./s|rc/test.js">
// Find the last slash before cursor, and calculate the start of replace range from there
const
valueAfterLastSlash
=
fullValue
.
slice
(
lastIndexOfSlash
+
1
);
const
startPos
=
shiftPosition
(
fullValueRange
.
end
,
-
valueAfterLastSlash
.
length
);
// If whitespace exists, replace until it
const
whitespaceIndex
=
valueAfterLastSlash
.
indexOf
(
'
'
);
let
endPos
;
if
(
whitespaceIndex
!==
-
1
)
{
endPos
=
shiftPosition
(
startPos
,
whitespaceIndex
);
}
else
{
endPos
=
fullValueRange
.
end
;
}
replaceRange
=
Range
.
create
(
startPos
,
endPos
);
}
return
Range
.
create
(
startPos
,
shiftPosition
(
startPos
,
whitespaceIndex
))
;
return
replaceRange
;
}
function
pathToSuggestion
(
p
:
string
,
replaceRange
:
Range
):
CompletionItem
{
...
...
@@ -177,14 +180,13 @@ function pathToSuggestion(p: string, replaceRange: Range): CompletionItem {
command
:
'
editor.action.triggerSuggest
'
}
};
}
else
{
return
{
label
:
escapePath
(
p
),
kind
:
CompletionItemKind
.
File
,
textEdit
:
TextEdit
.
replace
(
replaceRange
,
escapePath
(
p
))
};
}
return
{
label
:
escapePath
(
p
),
kind
:
CompletionItemKind
.
File
,
textEdit
:
TextEdit
.
replace
(
replaceRange
,
escapePath
(
p
))
};
}
// Escape https://www.w3.org/TR/CSS1/#url
...
...
extensions/html-language-features/server/src/modes/pathCompletion.ts
浏览文件 @
77df637a
...
...
@@ -109,14 +109,15 @@ function pathToSuggestion(p: string, valueBeforeCursor: string, fullValue: strin
const
valueAfterLastSlash
=
fullValue
.
slice
(
lastIndexOfSlash
+
1
);
const
startPos
=
shiftPosition
(
range
.
end
,
-
1
-
valueAfterLastSlash
.
length
);
// If whitespace exists, replace until there is no more
remaining.
// If whitespace exists, replace until there is no more
const
whitespaceIndex
=
valueAfterLastSlash
.
indexOf
(
'
'
);
if
(
whitespaceIndex
===
-
1
)
{
replaceRange
=
Range
.
create
(
startPos
,
shiftPosition
(
range
.
end
,
-
1
));
let
endPos
;
if
(
whitespaceIndex
!==
-
1
)
{
endPos
=
shiftPosition
(
startPos
,
whitespaceIndex
);
}
else
{
replaceRange
=
Range
.
create
(
startPos
,
shiftPosition
(
startPos
,
whitespaceIndex
)
);
endPos
=
shiftPosition
(
range
.
end
,
-
1
);
}
replaceRange
=
Range
.
create
(
startPos
,
endPos
);
}
if
(
isDir
)
{
...
...
src/vs/editor/common/config/commonEditorConfig.ts
浏览文件 @
77df637a
...
...
@@ -904,7 +904,7 @@ const editorConfiguration: IConfigurationNode = {
'
enum
'
:
[
'
none
'
,
'
boundary
'
,
'
selection
'
,
'
all
'
],
'
enumDescriptions
'
:
[
''
,
nls
.
localize
(
'
renderWhite
s
pace.boundary
'
,
"
Render whitespace characters except for single spaces between words.
"
),
nls
.
localize
(
'
renderWhite
S
pace.boundary
'
,
"
Render whitespace characters except for single spaces between words.
"
),
nls
.
localize
(
'
renderWhitespace.selection
'
,
"
Render whitespace characters only on selected text.
"
),
''
],
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录