Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
38645311
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,发现更多精彩内容 >>
提交
38645311
编写于
12月 03, 2015
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #804 from Tyriar/remove_dead_html_code
[html] Remove dead code in html.ts
上级
e0e2ce13
6a6fb7c6
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
20 addition
and
19 deletion
+20
-19
src/vs/languages/html/common/html.ts
src/vs/languages/html/common/html.ts
+4
-10
src/vs/languages/html/common/htmlEmptyTagsShared.ts
src/vs/languages/html/common/htmlEmptyTagsShared.ts
+12
-0
src/vs/languages/html/common/htmlTags.ts
src/vs/languages/html/common/htmlTags.ts
+1
-6
src/vs/languages/html/common/htmlWorker.ts
src/vs/languages/html/common/htmlWorker.ts
+3
-3
未找到文件。
src/vs/languages/html/common/html.ts
浏览文件 @
38645311
...
...
@@ -24,6 +24,7 @@ import {OnEnterSupport} from 'vs/editor/common/modes/supports/onEnter';
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IThreadService
}
from
'
vs/platform/thread/common/thread
'
;
import
*
as
htmlTokenTypes
from
'
vs/languages/html/common/htmlTokenTypes
'
;
import
{
EMPTY_ELEMENTS
}
from
'
vs/languages/html/common/htmlEmptyTagsShared
'
;
export
{
htmlTokenTypes
};
// export to be used by Razor. We are the main module, so Razor should get ot from use.
...
...
@@ -39,15 +40,8 @@ export enum States {
AttributeValue
}
// list of empty elements - for performance reasons we won't open a bracket for them
var
emptyElements
:
string
[]
=
[
'
area
'
,
'
base
'
,
'
basefont
'
,
'
br
'
,
'
col
'
,
'
command
'
,
'
embed
'
,
'
frame
'
,
'
hr
'
,
'
img
'
,
'
input
'
,
'
isindex
'
,
'
keygen
'
,
'
link
'
,
'
meta
'
,
'
param
'
,
'
source
'
,
'
track
'
,
'
wbr
'
];
function
isEmptyElement
(
e
:
string
)
:
boolean
{
return
arrays
.
binarySearch
(
emptyElements
,
e
,(
s1
:
string
,
s2
:
string
)
=>
s1
.
localeCompare
(
s2
))
>=
0
;
}
// list of element that embedd other content
var
tagsEmbeddingContent
:
any
=
[
'
script
'
,
'
style
'
];
// list of elements that embed other content
var
tagsEmbeddingContent
:
string
[]
=
[
'
script
'
,
'
style
'
];
...
...
@@ -308,7 +302,7 @@ export class HTMLMode<W extends htmlWorker.HTMLWorker> extends AbstractMode<W> i
brackets
:
[],
regexBrackets
:[
{
tokenType
:
htmlTokenTypes
.
getTag
(
'
$1
'
),
open
:
/<
(?!(?:
area|base|basefont|br|col|command|embed|frame|hr|img|input|link|meta|param|source|track|wbr
))(\w[\w\d]
*
)([^\/
>
]
*
(?!\/)
>
)[^
<
]
*$/i
,
open
:
new
RegExp
(
`<(?!(?:
${
EMPTY_ELEMENTS
.
join
(
"
|
"
)}
))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`
,
'
i
'
)
,
closeComplete
:
'
</$1>
'
,
close
:
/<
\/(\w[\w\d]
*
)\s
*>$/i
}],
caseInsensitive
:
true
,
...
...
src/vs/languages/html/common/htmlEmptyTagsShared.ts
0 → 100644
浏览文件 @
38645311
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
arrays
=
require
(
'
vs/base/common/arrays
'
);
export
const
EMPTY_ELEMENTS
:
string
[]
=
[
'
area
'
,
'
base
'
,
'
br
'
,
'
col
'
,
'
embed
'
,
'
hr
'
,
'
img
'
,
'
input
'
,
'
keygen
'
,
'
link
'
,
'
menuitem
'
,
'
meta
'
,
'
param
'
,
'
source
'
,
'
track
'
,
'
wbr
'
];
export
function
isEmptyElement
(
e
:
string
)
:
boolean
{
return
arrays
.
binarySearch
(
EMPTY_ELEMENTS
,
e
,(
s1
:
string
,
s2
:
string
)
=>
s1
.
localeCompare
(
s2
))
>=
0
;
}
src/vs/languages/html/common/htmlTags.ts
浏览文件 @
38645311
...
...
@@ -10,12 +10,7 @@
import
strings
=
require
(
'
vs/base/common/strings
'
);
import
arrays
=
require
(
'
vs/base/common/arrays
'
);
import
nls
=
require
(
'
vs/nls
'
);
var
emptyElements
:
string
[]
=
[
'
area
'
,
'
base
'
,
'
br
'
,
'
col
'
,
'
embed
'
,
'
hr
'
,
'
img
'
,
'
input
'
,
'
keygen
'
,
'
link
'
,
'
menuitem
'
,
'
meta
'
,
'
param
'
,
'
source
'
,
'
track
'
,
'
wbr
'
];
export
function
isEmptyElement
(
e
:
string
)
:
boolean
{
return
arrays
.
binarySearch
(
emptyElements
,
e
,(
s1
:
string
,
s2
:
string
)
=>
s1
.
localeCompare
(
s2
))
>=
0
;
}
import
{
isEmptyElement
}
from
'
vs/languages/html/common/htmlEmptyTagsShared
'
;
export
interface
IHTMLTagProvider
{
collectTags
(
collector
:
(
tag
:
string
,
label
:
string
)
=>
void
):
void
;
...
...
src/vs/languages/html/common/htmlWorker.ts
浏览文件 @
38645311
...
...
@@ -21,6 +21,7 @@ import {IMarkerService} from 'vs/platform/markers/common/markers';
import
{
IResourceService
}
from
'
vs/editor/common/services/resourceService
'
;
import
{
getScanner
,
IHTMLScanner
}
from
'
vs/languages/html/common/htmlScanner
'
;
import
{
isTag
,
DELIM_END
,
DELIM_START
,
DELIM_ASSIGN
,
ATTRIB_NAME
,
ATTRIB_VALUE
}
from
'
vs/languages/html/common/htmlTokenTypes
'
;
import
{
isEmptyElement
}
from
'
vs/languages/html/common/htmlEmptyTagsShared
'
;
enum
LinkDetectionState
{
LOOKING_FOR_HREF_OR_SRC
=
1
,
...
...
@@ -175,7 +176,7 @@ export class HTMLWorker extends AbstractModeWorker {
scanner
.
scanBack
();
if
(
scanner
.
getTokenType
()
===
DELIM_END
)
{
closedTags
[
tag
]
=
(
closedTags
[
tag
]
||
0
)
+
1
;
}
else
if
(
!
htmlTags
.
isEmptyElement
(
tag
))
{
}
else
if
(
!
isEmptyElement
(
tag
))
{
if
(
closedTags
[
tag
])
{
closedTags
[
tag
]
--
;
}
else
{
...
...
@@ -404,7 +405,7 @@ export class HTMLWorker extends AbstractModeWorker {
}
private
findMatchingBracket
(
tagname
:
string
,
scanner
:
IHTMLScanner
)
:
EditorCommon
.
IRange
{
if
(
htmlTags
.
isEmptyElement
(
tagname
))
{
if
(
isEmptyElement
(
tagname
))
{
return
null
;
}
var
tagCount
=
0
;
...
...
@@ -707,4 +708,3 @@ export class HTMLWorker extends AbstractModeWorker {
function
isWhiteSpace
(
s
:
string
)
:
boolean
{
return
/^
\s
*$/
.
test
(
s
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录