Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
c88c5991
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,发现更多精彩内容 >>
未验证
提交
c88c5991
编写于
11月 09, 2017
作者:
M
Martin Aeschlimann
提交者:
GitHub
11月 09, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #37744 from mjbvz/html-ext-strict-1
Start moving html ext to strict mode compile
上级
f5e43647
62aa6cb9
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
31 addition
and
36 deletion
+31
-36
extensions/html/client/src/htmlMain.ts
extensions/html/client/src/htmlMain.ts
+2
-2
extensions/html/client/src/tagClosing.ts
extensions/html/client/src/tagClosing.ts
+10
-8
extensions/html/client/src/typings/color-convert.d.ts
extensions/html/client/src/typings/color-convert.d.ts
+0
-11
extensions/html/client/tsconfig.json
extensions/html/client/tsconfig.json
+2
-1
extensions/html/server/src/modes/embeddedSupport.ts
extensions/html/server/src/modes/embeddedSupport.ts
+4
-4
extensions/html/server/src/modes/htmlMode.ts
extensions/html/server/src/modes/htmlMode.ts
+0
-1
extensions/html/server/src/modes/javascriptMode.ts
extensions/html/server/src/modes/javascriptMode.ts
+10
-6
extensions/html/server/src/modes/languageModes.ts
extensions/html/server/src/modes/languageModes.ts
+2
-2
extensions/html/server/src/test/javascriptMode.test.ts
extensions/html/server/src/test/javascriptMode.test.ts
+1
-1
未找到文件。
extensions/html/client/src/htmlMain.ts
浏览文件 @
c88c5991
...
...
@@ -32,7 +32,7 @@ export function activate(context: ExtensionContext) {
let
toDispose
=
context
.
subscriptions
;
let
packageInfo
=
getPackageInfo
(
context
);
let
telemetryReporter
:
TelemetryReporter
=
packageInfo
&&
new
TelemetryReporter
(
packageInfo
.
name
,
packageInfo
.
version
,
packageInfo
.
aiKey
);
let
telemetryReporter
:
TelemetryReporter
|
null
=
packageInfo
&&
new
TelemetryReporter
(
packageInfo
.
name
,
packageInfo
.
version
,
packageInfo
.
aiKey
);
if
(
telemetryReporter
)
{
toDispose
.
push
(
telemetryReporter
);
}
...
...
@@ -166,7 +166,7 @@ export function activate(context: ExtensionContext) {
});
}
function
getPackageInfo
(
context
:
ExtensionContext
):
IPackageInfo
{
function
getPackageInfo
(
context
:
ExtensionContext
):
IPackageInfo
|
null
{
let
extensionPackage
=
require
(
context
.
asAbsolutePath
(
'
./package.json
'
));
if
(
extensionPackage
)
{
return
{
...
...
extensions/html/client/src/tagClosing.ts
浏览文件 @
c88c5991
...
...
@@ -15,7 +15,7 @@ export function activateTagClosing(tagProvider: (document: TextDocument, positio
updateEnabledState
();
window
.
onDidChangeActiveTextEditor
(
updateEnabledState
,
null
,
disposables
);
let
timeout
:
NodeJS
.
Timer
=
void
0
;
let
timeout
:
NodeJS
.
Timer
|
undefined
=
void
0
;
function
updateEnabledState
()
{
isEnabled
=
false
;
...
...
@@ -56,13 +56,15 @@ export function activateTagClosing(tagProvider: (document: TextDocument, positio
tagProvider
(
document
,
position
).
then
(
text
=>
{
if
(
text
&&
isEnabled
)
{
let
activeEditor
=
window
.
activeTextEditor
;
let
activeDocument
=
activeEditor
&&
activeEditor
.
document
;
if
(
document
===
activeDocument
&&
activeDocument
.
version
===
version
)
{
let
selections
=
activeEditor
.
selections
;
if
(
selections
.
length
&&
selections
.
some
(
s
=>
s
.
active
.
isEqual
(
position
)))
{
activeEditor
.
insertSnippet
(
new
SnippetString
(
text
),
selections
.
map
(
s
=>
s
.
active
));
}
else
{
activeEditor
.
insertSnippet
(
new
SnippetString
(
text
),
position
);
if
(
activeEditor
)
{
let
activeDocument
=
activeEditor
.
document
;
if
(
document
===
activeDocument
&&
activeDocument
.
version
===
version
)
{
let
selections
=
activeEditor
.
selections
;
if
(
selections
.
length
&&
selections
.
some
(
s
=>
s
.
active
.
isEqual
(
position
)))
{
activeEditor
.
insertSnippet
(
new
SnippetString
(
text
),
selections
.
map
(
s
=>
s
.
active
));
}
else
{
activeEditor
.
insertSnippet
(
new
SnippetString
(
text
),
position
);
}
}
}
}
...
...
extensions/html/client/src/typings/color-convert.d.ts
已删除
100644 → 0
浏览文件 @
f5e43647
declare
module
"
color-convert
"
{
module
convert
{
module
rgb
{
function
hex
(
r
:
number
,
g
:
number
,
b
:
number
);
function
hsl
(
r
:
number
,
g
:
number
,
b
:
number
);
function
hvs
(
r
:
number
,
g
:
number
,
b
:
number
);
}
}
export
=
convert
;
}
\ No newline at end of file
extensions/html/client/tsconfig.json
浏览文件 @
c88c5991
...
...
@@ -6,6 +6,7 @@
"noUnusedLocals"
:
true
,
"lib"
:
[
"es5"
,
"es2015.promise"
]
],
"strict"
:
true
}
}
\ No newline at end of file
extensions/html/server/src/modes/embeddedSupport.ts
浏览文件 @
c88c5991
...
...
@@ -29,9 +29,9 @@ export function getDocumentRegions(languageService: LanguageService, document: T
let
regions
:
EmbeddedRegion
[]
=
[];
let
scanner
=
languageService
.
createScanner
(
document
.
getText
());
let
lastTagName
:
string
;
let
lastAttributeName
:
string
;
let
languageIdFromType
:
string
;
let
importedScripts
=
[];
let
lastAttributeName
:
string
|
null
;
let
languageIdFromType
:
string
|
undefined
=
undefined
;
let
importedScripts
:
string
[]
=
[];
let
token
=
scanner
.
scan
();
while
(
token
!==
TokenType
.
EOS
)
{
...
...
@@ -224,7 +224,7 @@ function append(result: string, str: string, n: number): string {
return
result
;
}
function
getAttributeLanguage
(
attributeName
:
string
):
string
{
function
getAttributeLanguage
(
attributeName
:
string
):
string
|
null
{
let
match
=
attributeName
.
match
(
/^
(
style
)
$|^
(
on
\w
+
)
$/i
);
if
(
!
match
)
{
return
null
;
...
...
extensions/html/server/src/modes/htmlMode.ts
浏览文件 @
c88c5991
...
...
@@ -60,7 +60,6 @@ export function getHTMLMode(htmlLanguageService: HTMLLanguageService): LanguageM
if
(
offset
>
0
&&
text
.
charAt
(
offset
-
1
).
match
(
/
[
>
\/]
/g
))
{
return
htmlLanguageService
.
doTagComplete
(
document
,
position
,
htmlDocuments
.
get
(
document
));
}
return
null
;
},
onDocumentRemoved
(
document
:
TextDocument
)
{
htmlDocuments
.
onDocumentRemoved
(
document
);
...
...
extensions/html/server/src/modes/javascriptMode.ts
浏览文件 @
c88c5991
...
...
@@ -73,7 +73,7 @@ export function getJavascriptMode(documentRegions: LanguageModelCache<HTMLDocume
updateCurrentTextDocument
(
document
);
const
syntaxDiagnostics
=
jsLanguageService
.
getSyntacticDiagnostics
(
FILE_NAME
);
const
semanticDiagnostics
=
jsLanguageService
.
getSemanticDiagnostics
(
FILE_NAME
);
return
syntaxDiagnostics
.
concat
(
semanticDiagnostics
).
map
((
diag
):
Diagnostic
=>
{
return
syntaxDiagnostics
.
concat
(
semanticDiagnostics
).
map
((
diag
:
ts
.
Diagnostic
):
Diagnostic
=>
{
return
{
range
:
convertRange
(
currentTextDocument
,
diag
),
severity
:
DiagnosticSeverity
.
Error
,
...
...
@@ -143,7 +143,7 @@ export function getJavascriptMode(documentRegions: LanguageModelCache<HTMLDocume
let
signature
:
SignatureInformation
=
{
label
:
''
,
documentation
:
null
,
documentation
:
undefined
,
parameters
:
[]
};
...
...
@@ -185,7 +185,7 @@ export function getJavascriptMode(documentRegions: LanguageModelCache<HTMLDocume
let
items
=
jsLanguageService
.
getNavigationBarItems
(
FILE_NAME
);
if
(
items
)
{
let
result
:
SymbolInformation
[]
=
[];
let
existing
=
{}
;
let
existing
=
Object
.
create
(
null
)
;
let
collectSymbols
=
(
item
:
ts
.
NavigationBarItem
,
containerLabel
?:
string
)
=>
{
let
sig
=
item
.
text
+
item
.
kind
+
item
.
spans
[
0
].
start
;
if
(
item
.
kind
!==
'
script
'
&&
!
existing
[
sig
])
{
...
...
@@ -288,9 +288,13 @@ export function getJavascriptMode(documentRegions: LanguageModelCache<HTMLDocume
};
}
function
convertRange
(
document
:
TextDocument
,
span
:
{
start
:
number
,
length
:
number
}):
Range
{
let
startPosition
=
document
.
positionAt
(
span
.
start
);
let
endPosition
=
document
.
positionAt
(
span
.
start
+
span
.
length
);
function
convertRange
(
document
:
TextDocument
,
span
:
{
start
:
number
|
undefined
,
length
:
number
|
undefined
}):
Range
{
if
(
typeof
span
.
start
===
'
undefined
'
)
{
const
pos
=
document
.
positionAt
(
0
);
return
Range
.
create
(
pos
,
pos
);
}
const
startPosition
=
document
.
positionAt
(
span
.
start
);
const
endPosition
=
document
.
positionAt
(
span
.
start
+
(
span
.
length
||
0
));
return
Range
.
create
(
startPosition
,
endPosition
);
}
...
...
extensions/html/server/src/modes/languageModes.ts
浏览文件 @
c88c5991
...
...
@@ -31,7 +31,7 @@ export interface SettingProvider {
}
export
interface
LanguageMode
{
getId
();
getId
()
:
string
;
configure
?:
(
options
:
Settings
)
=>
void
;
doValidation
?:
(
document
:
TextDocument
,
settings
?:
Settings
)
=>
Diagnostic
[];
doComplete
?:
(
document
:
TextDocument
,
position
:
Position
,
settings
?:
Settings
)
=>
CompletionList
;
...
...
@@ -74,7 +74,7 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
let
modelCaches
:
LanguageModelCache
<
any
>
[]
=
[];
modelCaches
.
push
(
documentRegions
);
let
modes
=
{}
;
let
modes
=
Object
.
create
(
null
)
;
modes
[
'
html
'
]
=
getHTMLMode
(
htmlLanguageService
);
if
(
supportedLanguages
[
'
css
'
])
{
modes
[
'
css
'
]
=
getCSSMode
(
documentRegions
);
...
...
extensions/html/server/src/test/javascriptMode.test.ts
浏览文件 @
c88c5991
...
...
@@ -28,7 +28,7 @@ suite('HTML Javascript Support', () => {
var
mode
=
getJavascriptMode
(
documentRegions
);
let
position
=
document
.
positionAt
(
offset
);
let
list
=
mode
.
doComplete
(
document
,
position
);
let
list
=
mode
.
doComplete
!
(
document
,
position
);
assert
.
ok
(
list
);
let
actualLabels
=
list
.
items
.
map
(
c
=>
c
.
label
).
sort
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录