Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
fc0002cb
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,发现更多精彩内容 >>
未验证
提交
fc0002cb
编写于
1月 23, 2019
作者:
P
Pine
提交者:
GitHub
1月 23, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #67014 from Microsoft/octref/html-selection
Html semantic selection. Part of #65925
上级
9526cbac
c47d3d4d
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
1182 addition
and
7 deletion
+1182
-7
extensions/html-language-features/client/src/htmlMain.ts
extensions/html-language-features/client/src/htmlMain.ts
+17
-2
extensions/html-language-features/client/src/vscode.proposed.d.ts
...ns/html-language-features/client/src/vscode.proposed.d.ts
+1142
-0
extensions/html-language-features/package.json
extensions/html-language-features/package.json
+1
-0
extensions/html-language-features/server/package.json
extensions/html-language-features/server/package.json
+1
-1
extensions/html-language-features/server/src/htmlServerMain.ts
...sions/html-language-features/server/src/htmlServerMain.ts
+13
-0
extensions/html-language-features/server/src/modes/htmlMode.ts
...sions/html-language-features/server/src/modes/htmlMode.ts
+3
-0
extensions/html-language-features/server/src/modes/languageModes.ts
.../html-language-features/server/src/modes/languageModes.ts
+1
-0
extensions/html-language-features/server/yarn.lock
extensions/html-language-features/server/yarn.lock
+4
-4
未找到文件。
extensions/html-language-features/client/src/htmlMain.ts
浏览文件 @
fc0002cb
...
...
@@ -8,8 +8,8 @@ import * as fs from 'fs';
import
*
as
nls
from
'
vscode-nls
'
;
const
localize
=
nls
.
loadMessageBundle
();
import
{
languages
,
ExtensionContext
,
IndentAction
,
Position
,
TextDocument
,
Range
,
CompletionItem
,
CompletionItemKind
,
SnippetString
,
workspace
}
from
'
vscode
'
;
import
{
LanguageClient
,
LanguageClientOptions
,
ServerOptions
,
TransportKind
,
RequestType
,
TextDocumentPositionParams
}
from
'
vscode-languageclient
'
;
import
{
languages
,
ExtensionContext
,
IndentAction
,
Position
,
TextDocument
,
Range
,
CompletionItem
,
CompletionItemKind
,
SnippetString
,
workspace
,
SelectionRange
,
SelectionRangeKind
}
from
'
vscode
'
;
import
{
LanguageClient
,
LanguageClientOptions
,
ServerOptions
,
TransportKind
,
RequestType
,
TextDocumentPositionParams
,
TextDocumentIdentifier
}
from
'
vscode-languageclient
'
;
import
{
EMPTY_ELEMENTS
}
from
'
./htmlEmptyTagsShared
'
;
import
{
activateTagClosing
}
from
'
./tagClosing
'
;
import
TelemetryReporter
from
'
vscode-extension-telemetry
'
;
...
...
@@ -86,6 +86,21 @@ export function activate(context: ExtensionContext) {
toDispose
.
push
(
disposable
);
});
languages
.
registerSelectionRangeProvider
(
'
html
'
,
{
async
provideSelectionRanges
(
document
:
TextDocument
,
position
:
Position
):
Promise
<
SelectionRange
[]
>
{
const
textDocument
=
TextDocumentIdentifier
.
create
(
document
.
uri
.
toString
());
const
rawRanges
:
Range
[]
=
await
client
.
sendRequest
(
'
$/textDocument/selectionRange
'
,
{
textDocument
,
position
});
return
rawRanges
.
map
(
r
=>
{
const
actualRange
=
new
Range
(
new
Position
(
r
.
start
.
line
,
r
.
start
.
character
),
new
Position
(
r
.
end
.
line
,
r
.
end
.
character
));
return
{
range
:
actualRange
,
kind
:
SelectionRangeKind
.
Declaration
};
});
}
});
languages
.
setLanguageConfiguration
(
'
html
'
,
{
indentationRules
:
{
increaseIndentPattern
:
/<
(?!\?
|
(?:
area|base|br|col|frame|hr|html|img|input|link|meta|param
)\b
|
[^
>
]
*
\/
>
)([
-_
\.
A-Za-z0-9
]
+
)(?=\s
|>
)\b[^
>
]
*>
(?!
.*<
\/\1
>
)
|<!--
(?!
.*-->
)
|
\{[^
}"'
]
*$/
,
...
...
extensions/html-language-features/client/src/vscode.proposed.d.ts
0 → 100644
浏览文件 @
fc0002cb
此差异已折叠。
点击以展开。
extensions/html-language-features/package.json
浏览文件 @
fc0002cb
{
"enableProposedApi"
:
true
,
"name"
:
"html-language-features"
,
"displayName"
:
"%displayName%"
,
"description"
:
"%description%"
,
...
...
extensions/html-language-features/server/package.json
浏览文件 @
fc0002cb
...
...
@@ -10,7 +10,7 @@
"main"
:
"./out/htmlServerMain"
,
"dependencies"
:
{
"vscode-css-languageservice"
:
"^3.0.13-next.6"
,
"vscode-html-languageservice"
:
"^2.1.11-next.
3
"
,
"vscode-html-languageservice"
:
"^2.1.11-next.
4
"
,
"vscode-languageserver"
:
"^5.1.0"
,
"vscode-languageserver-types"
:
"^3.13.0"
,
"vscode-nls"
:
"^4.0.0"
,
...
...
extensions/html-language-features/server/src/htmlServerMain.ts
浏览文件 @
fc0002cb
...
...
@@ -480,6 +480,19 @@ connection.onFoldingRanges((params, token) => {
},
null
,
`Error while computing folding regions for
${
params
.
textDocument
.
uri
}
`
,
token
);
});
connection
.
onRequest
(
'
$/textDocument/selectionRange
'
,
async
(
params
)
=>
{
const
document
=
documents
.
get
(
params
.
textDocument
.
uri
);
const
position
:
Position
=
params
.
position
;
if
(
document
)
{
const
htmlMode
=
languageModes
.
getMode
(
'
html
'
);
if
(
htmlMode
&&
htmlMode
.
doSelection
)
{
return
htmlMode
.
doSelection
(
document
,
position
);
}
}
return
Promise
.
resolve
(
null
);
});
// Listen on the connection
connection
.
listen
();
\ No newline at end of file
extensions/html-language-features/server/src/modes/htmlMode.ts
浏览文件 @
fc0002cb
...
...
@@ -15,6 +15,9 @@ export function getHTMLMode(htmlLanguageService: HTMLLanguageService, workspace:
getId
()
{
return
'
html
'
;
},
doSelection
(
document
:
TextDocument
,
position
:
Position
):
Range
[]
{
return
htmlLanguageService
.
getSelectionRanges
(
document
,
position
);
},
doComplete
(
document
:
TextDocument
,
position
:
Position
,
settings
=
workspace
.
settings
)
{
let
options
=
settings
&&
settings
.
html
&&
settings
.
html
.
suggest
;
let
doAutoComplete
=
settings
&&
settings
.
html
&&
settings
.
html
.
autoClosingTags
;
...
...
extensions/html-language-features/server/src/modes/languageModes.ts
浏览文件 @
fc0002cb
...
...
@@ -31,6 +31,7 @@ export interface Workspace {
export
interface
LanguageMode
{
getId
():
string
;
doSelection
?:
(
document
:
TextDocument
,
position
:
Position
)
=>
Range
[];
doValidation
?:
(
document
:
TextDocument
,
settings
?:
Settings
)
=>
Diagnostic
[];
doComplete
?:
(
document
:
TextDocument
,
position
:
Position
,
settings
?:
Settings
)
=>
CompletionList
;
doResolve
?:
(
document
:
TextDocument
,
item
:
CompletionItem
)
=>
CompletionItem
;
...
...
extensions/html-language-features/server/yarn.lock
浏览文件 @
fc0002cb
...
...
@@ -237,10 +237,10 @@ vscode-css-languageservice@^3.0.13-next.6:
vscode-languageserver-types "^3.13.0"
vscode-nls "^4.0.0"
vscode-html-languageservice@^2.1.11-next.
3
:
version "2.1.11-next.
3
"
resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-2.1.11-next.
3.tgz#f8eaee042c161f47fb71850c558428d0d91c881f
"
integrity sha512-
621+f1nbRvMgLyvW1Aa9shZ9r9qBIXMi4fF8o0voooHjIggrIbstUpYmaQIFRNill3b9HCNdluTZnAQlQGU6Ew
==
vscode-html-languageservice@^2.1.11-next.
4
:
version "2.1.11-next.
4
"
resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-2.1.11-next.
4.tgz#bcfe68ca17300d7f845889be3cb947af95dab409
"
integrity sha512-
dQOcdqLhMZuAWhSoe/AqqvVo2klkWpCHwp14dWvgrAfUyKM7l0e0kk9lbf8kt1Kn2J9ukDTySIcOkbHaVSwcHA
==
dependencies:
vscode-languageserver-types "^3.13.0"
vscode-nls "^4.0.0"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录