Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
04d155f9
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,发现更多精彩内容 >>
未验证
提交
04d155f9
编写于
3月 20, 2018
作者:
J
Johannes Rieken
提交者:
GitHub
3月 20, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #46049 from usernamehw/additional_time_variables
Add more time-based variables for snippets
上级
3a1b5400
fb75164f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
1 deletion
+23
-1
src/vs/editor/contrib/snippet/snippetVariables.ts
src/vs/editor/contrib/snippet/snippetVariables.ts
+18
-0
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
+5
-1
未找到文件。
src/vs/editor/contrib/snippet/snippetVariables.ts
浏览文件 @
04d155f9
...
...
@@ -5,6 +5,7 @@
'
use strict
'
;
import
*
as
nls
from
'
vs/nls
'
;
import
{
basename
,
dirname
}
from
'
vs/base/common/paths
'
;
import
{
ITextModel
}
from
'
vs/editor/common/model
'
;
import
{
Selection
}
from
'
vs/editor/common/core/selection
'
;
...
...
@@ -20,6 +21,10 @@ export const KnownSnippetVariableNames = Object.freeze({
'
CURRENT_HOUR
'
:
true
,
'
CURRENT_MINUTE
'
:
true
,
'
CURRENT_SECOND
'
:
true
,
'
CURRENT_DAY_NAME
'
:
true
,
'
CURRENT_DAY_NAME_SHORT
'
:
true
,
'
CURRENT_MONTH_NAME
'
:
true
,
'
CURRENT_MONTH_NAME_SHORT
'
:
true
,
'
SELECTION
'
:
true
,
'
CLIPBOARD
'
:
true
,
'
TM_SELECTED_TEXT
'
:
true
,
...
...
@@ -180,6 +185,11 @@ export class ClipboardBasedVariableResolver implements VariableResolver {
export
class
TimeBasedVariableResolver
implements
VariableResolver
{
private
static
readonly
dayNames
=
[
nls
.
localize
(
'
Sunday
'
,
"
Sunday
"
),
nls
.
localize
(
'
Monday
'
,
"
Monday
"
),
nls
.
localize
(
'
Tuesday
'
,
"
Tuesday
"
),
nls
.
localize
(
'
Wednesday
'
,
"
Wednesday
"
),
nls
.
localize
(
'
Thursday
'
,
"
Thursday
"
),
nls
.
localize
(
'
Friday
'
,
"
Friday
"
),
nls
.
localize
(
'
Saturday
'
,
"
Saturday
"
)];
private
static
readonly
dayNamesShort
=
[
nls
.
localize
(
'
SundayShort
'
,
"
Sun
"
),
nls
.
localize
(
'
MondayShort
'
,
"
Mon
"
),
nls
.
localize
(
'
TuesdayShort
'
,
"
Tue
"
),
nls
.
localize
(
'
WednesdayShort
'
,
"
Wed
"
),
nls
.
localize
(
'
ThursdayShort
'
,
"
Thu
"
),
nls
.
localize
(
'
FridayShort
'
,
"
Fri
"
),
nls
.
localize
(
'
SaturdayShort
'
,
"
Sat
"
)];
private
static
readonly
monthNames
=
[
nls
.
localize
(
'
January
'
,
"
January
"
),
nls
.
localize
(
'
February
'
,
"
February
"
),
nls
.
localize
(
'
March
'
,
"
March
"
),
nls
.
localize
(
'
April
'
,
"
April
"
),
nls
.
localize
(
'
May
'
,
"
May
"
),
nls
.
localize
(
'
June
'
,
"
June
"
),
nls
.
localize
(
'
July
'
,
"
July
"
),
nls
.
localize
(
'
August
'
,
"
August
"
),
nls
.
localize
(
'
September
'
,
"
September
"
),
nls
.
localize
(
'
October
'
,
"
October
"
),
nls
.
localize
(
'
November
'
,
"
November
"
),
nls
.
localize
(
'
December
'
,
"
December
"
)];
private
static
readonly
monthNamesShort
=
[
nls
.
localize
(
'
JanuaryShort
'
,
"
Jan
"
),
nls
.
localize
(
'
FebruaryShort
'
,
"
Feb
"
),
nls
.
localize
(
'
MarchShort
'
,
"
Mar
"
),
nls
.
localize
(
'
AprilShort
'
,
"
Apr
"
),
nls
.
localize
(
'
MayShort
'
,
"
May
"
),
nls
.
localize
(
'
JuneShort
'
,
"
Jun
"
),
nls
.
localize
(
'
JulyShort
'
,
"
Jul
"
),
nls
.
localize
(
'
AugustShort
'
,
"
Aug
"
),
nls
.
localize
(
'
SeptemberShort
'
,
"
Sep
"
),
nls
.
localize
(
'
OctoberShort
'
,
"
Oct
"
),
nls
.
localize
(
'
NovemberShort
'
,
"
Nov
"
),
nls
.
localize
(
'
DecemberShort
'
,
"
Dec
"
)];
resolve
(
variable
:
Variable
):
string
{
const
{
name
}
=
variable
;
...
...
@@ -197,6 +207,14 @@ export class TimeBasedVariableResolver implements VariableResolver {
return
pad
(
new
Date
().
getMinutes
().
valueOf
(),
2
);
}
else
if
(
name
===
'
CURRENT_SECOND
'
)
{
return
pad
(
new
Date
().
getSeconds
().
valueOf
(),
2
);
}
else
if
(
name
===
'
CURRENT_DAY_NAME
'
)
{
return
TimeBasedVariableResolver
.
dayNames
[
new
Date
().
getDay
()];
}
else
if
(
name
===
'
CURRENT_DAY_NAME_SHORT
'
)
{
return
TimeBasedVariableResolver
.
dayNamesShort
[
new
Date
().
getDay
()];
}
else
if
(
name
===
'
CURRENT_MONTH_NAME
'
)
{
return
TimeBasedVariableResolver
.
monthNames
[
new
Date
().
getMonth
()];
}
else
if
(
name
===
'
CURRENT_MONTH_NAME_SHORT
'
)
{
return
TimeBasedVariableResolver
.
monthNamesShort
[
new
Date
().
getMonth
()];
}
return
undefined
;
...
...
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
浏览文件 @
04d155f9
...
...
@@ -276,7 +276,7 @@ suite('Snippet Variables Resolver', function () {
assert
.
equal
(
variable
.
resolve
(
resolver
),
true
,
`
${
varName
}
failed to resolve`
);
}
test
(
'
Add time variables for snippets #41631
'
,
function
()
{
test
(
'
Add time variables for snippets #41631
, #43140
'
,
function
()
{
const
resolver
=
new
TimeBasedVariableResolver
;
...
...
@@ -287,5 +287,9 @@ suite('Snippet Variables Resolver', function () {
assertVariableResolve3
(
resolver
,
'
CURRENT_HOUR
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_MINUTE
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_SECOND
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_DAY_NAME
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_DAY_NAME_SHORT
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_MONTH_NAME
'
);
assertVariableResolve3
(
resolver
,
'
CURRENT_MONTH_NAME_SHORT
'
);
});
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录