Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
f70dd32f
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,发现更多精彩内容 >>
提交
f70dd32f
编写于
12月 18, 2015
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update htmlbeautify (version of jsbeautifiy is unchanged)
上级
ea594b25
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
8 deletion
+43
-8
src/vs/languages/lib/common/beautify-html.js
src/vs/languages/lib/common/beautify-html.js
+43
-8
未找到文件。
src/vs/languages/lib/common/beautify-html.js
浏览文件 @
f70dd32f
...
...
@@ -172,7 +172,7 @@
// Return true if the given text is composed entirely of whitespace.
this
.
is_whitespace
=
function
(
text
)
{
for
(
var
n
=
0
;
n
<
text
.
length
;
text
++
)
{
for
(
var
n
=
0
;
n
<
text
.
length
;
n
++
)
{
if
(
!
this
.
Utils
.
in_array
(
text
.
charAt
(
n
),
this
.
Utils
.
whitespace
))
{
return
false
;
}
...
...
@@ -467,7 +467,7 @@
}
else
if
(
tag_check
===
'
script
'
&&
(
tag_complete
.
search
(
'
type
'
)
===
-
1
||
(
tag_complete
.
search
(
'
type
'
)
>
-
1
&&
tag_complete
.
search
(
/
\b(
text|application
)\/(
x-
)?(
javascript|ecmascript|jscript|livescript
)
/
)
>
-
1
)))
{
tag_complete
.
search
(
/
\b(
text|application
)\/(
x-
)?(
javascript|ecmascript|jscript|livescript
|
(
ld
\+)?
json
)
/
)
>
-
1
)))
{
if
(
!
peek
)
{
this
.
record_tag
(
tag_check
);
this
.
tag_type
=
'
SCRIPT
'
;
...
...
@@ -525,7 +525,7 @@
matched
=
false
;
this
.
pos
=
start_pos
;
input_char
=
this
.
input
.
charAt
(
this
.
pos
);
var
input_char
=
this
.
input
.
charAt
(
this
.
pos
);
this
.
pos
++
;
while
(
this
.
pos
<=
this
.
input
.
length
)
{
...
...
@@ -570,15 +570,34 @@
return
comment
;
};
this
.
get_unformatted
=
function
(
delimiter
,
orig_tag
)
{
//function to return unformatted content in its entirety
function
tokenMatcher
(
delimiter
)
{
var
token
=
''
;
var
add
=
function
(
str
)
{
var
newToken
=
token
+
str
.
toLowerCase
();
token
=
newToken
.
length
<=
delimiter
.
length
?
newToken
:
newToken
.
substr
(
newToken
.
length
-
delimiter
.
length
,
delimiter
.
length
);
};
var
doesNotMatch
=
function
()
{
return
token
.
indexOf
(
delimiter
)
===
-
1
;
};
return
{
add
:
add
,
doesNotMatch
:
doesNotMatch
};
}
this
.
get_unformatted
=
function
(
delimiter
,
orig_tag
)
{
//function to return unformatted content in its entirety
if
(
orig_tag
&&
orig_tag
.
toLowerCase
().
indexOf
(
delimiter
)
!==
-
1
)
{
return
''
;
}
var
input_char
=
''
;
var
content
=
''
;
var
min_index
=
0
;
var
space
=
true
;
var
delimiterMatcher
=
tokenMatcher
(
delimiter
);
do
{
if
(
this
.
pos
>=
this
.
input
.
length
)
{
...
...
@@ -606,16 +625,17 @@
}
}
content
+=
input_char
;
delimiterMatcher
.
add
(
input_char
);
this
.
line_char_count
++
;
space
=
true
;
if
(
indent_handlebars
&&
input_char
===
'
{
'
&&
content
.
length
&&
content
.
charAt
(
content
.
length
-
2
)
===
'
{
'
)
{
// Handlebars expressions in strings should also be unformatted.
content
+=
this
.
get_unformatted
(
'
}}
'
);
// These expressions are opaque. Ignore delimiters found in them.
min_index
=
content
.
length
;
// Don't consider when stopping for delimiters.
}
}
while
(
content
.
toLowerCase
().
indexOf
(
delimiter
,
min_index
)
===
-
1
);
}
while
(
delimiterMatcher
.
doesNotMatch
());
return
content
;
};
...
...
@@ -832,6 +852,21 @@
multi_parser
.
current_mode
=
'
CONTENT
'
;
break
;
case
'
TK_TAG_HANDLEBARS_ELSE
'
:
// Don't add a newline if opening {{#if}} tag is on the current line
var
foundIfOnCurrentLine
=
false
;
for
(
var
lastCheckedOutput
=
multi_parser
.
output
.
length
-
1
;
lastCheckedOutput
>=
0
;
lastCheckedOutput
--
)
{
if
(
multi_parser
.
output
[
lastCheckedOutput
]
===
'
\n
'
)
{
break
;
}
else
{
if
(
multi_parser
.
output
[
lastCheckedOutput
].
match
(
/{{#if/
))
{
foundIfOnCurrentLine
=
true
;
break
;
}
}
}
if
(
!
foundIfOnCurrentLine
)
{
multi_parser
.
print_newline
(
false
,
multi_parser
.
output
);
}
multi_parser
.
print_token
(
multi_parser
.
token_text
);
if
(
multi_parser
.
indent_content
)
{
multi_parser
.
indent
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录