Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
scie
提交
a2c8ae7f
S
scie
项目概览
Phodal
/
scie
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
scie
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
a2c8ae7f
编写于
9月 08, 2020
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test: add simplify code for index
上级
f51ce3f1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
26 deletion
+32
-26
vscode-tests/index.js
vscode-tests/index.js
+32
-26
未找到文件。
vscode-tests/index.js
浏览文件 @
a2c8ae7f
...
...
@@ -8,30 +8,36 @@ function readFile(path) {
})
}
// Create a registry that can create a grammar from a scope name.
const
registry
=
new
vsctm
.
Registry
({
onigLib
:
Promise
.
resolve
({
createOnigScanner
:
(
sources
)
=>
new
oniguruma
.
OnigScanner
(
sources
),
createOnigString
:
(
str
)
=>
new
oniguruma
.
OnigString
(
str
)
}),
loadGrammar
:
(
scopeName
)
=>
{
return
readFile
(
'
./syntaxes/json/c.json
'
).
then
(
data
=>
vsctm
.
parseRawGrammar
(
data
.
toString
(),
"
c.json
"
))
}
});
let
promise
=
readFile
(
'
./syntaxes/json/c.json
'
).
then
(
data
=>
vsctm
.
parseRawGrammar
(
data
.
toString
(),
"
c.json
"
));
promise
.
then
((
grammar
)
=>
{
console
.
log
(
grammar
.
patterns
.
length
);
})
registry
.
loadGrammar
(
'
source.c
'
).
then
(
grammar
=>
{
const
text
=
`#include <stdio.h>`
.
split
(
"
\n
"
);
let
ruleStack
=
vsctm
.
INITIAL
;
for
(
let
i
=
0
;
i
<
text
.
length
;
i
++
)
{
const
line
=
text
[
i
];
const
lineTokens
=
grammar
.
tokenizeLine
(
line
,
ruleStack
);
for
(
let
j
=
0
;
j
<
lineTokens
.
tokens
.
length
;
j
++
)
{
const
token
=
lineTokens
.
tokens
[
j
];
console
.
log
(
` - token from
${
token
.
startIndex
}
to
${
token
.
endIndex
}
`
+
`(
${
line
.
substring
(
token
.
startIndex
,
token
.
endIndex
)}
) `
+
`with scopes
${
token
.
scopes
.
join
(
'
,
'
)}
`
);
}
ruleStack
=
lineTokens
.
ruleStack
;
}
});
//
// // Create a registry that can create a grammar from a scope name.
// const registry = new vsctm.Registry({
// onigLib: Promise.resolve({
// createOnigScanner: (sources) => new oniguruma.OnigScanner(sources),
// createOnigString: (str) => new oniguruma.OnigString(str)
// }),
// loadGrammar: (scopeName) => {
// return readFile('./syntaxes/json/c.json').then(data => vsctm.parseRawGrammar(data.toString(), "c.json"))
// }
// });
//
// registry.loadGrammar('source.c').then(grammar => {
// const text = `#include <stdio.h>`.split("\n");
// let ruleStack = vsctm.INITIAL;
// for (let i = 0; i < text.length; i++) {
// const line = text[i];
// const lineTokens = grammar.tokenizeLine(line, ruleStack);
// for (let j = 0; j < lineTokens.tokens.length; j++) {
// const token = lineTokens.tokens[j];
// console.log(` - token from ${token.startIndex} to ${token.endIndex} ` +
// `(${line.substring(token.startIndex, token.endIndex)}) ` +
// `with scopes ${token.scopes.join(', ')}`
// );
// }
// ruleStack = lineTokens.ruleStack;
// }
// });
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录