Make 'language term' just a custom mode
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
16
index.html
16
index.html
@@ -53,7 +53,10 @@ input[type="text"] {
|
||||
<body>
|
||||
<div id="elm"></div>
|
||||
<script src="index.js"></script>
|
||||
<script src="language.js"></script>
|
||||
<script>
|
||||
const objectLang = Elm.Bergamot.ObjectLanguage.init({});
|
||||
|
||||
(async () => {
|
||||
var rulesResponse = await fetch("./demorules.bergamot");
|
||||
var rules = await rulesResponse.text();
|
||||
@@ -64,9 +67,8 @@ input[type="text"] {
|
||||
node: document.getElementById('elm'),
|
||||
flags: {
|
||||
inputModes: {
|
||||
"My Mode": { "custom": "mymode" },
|
||||
"Language Term": { "custom": "langterm" },
|
||||
"Query": "query",
|
||||
"Language Term": "syntax",
|
||||
},
|
||||
inputRules: "PromptConverter @ prompt(type(empty, ?term, ?t)) <- input(?term);",
|
||||
input: "type(empty, app(abs(x, number, var(x)), lit(1)), ?tau)",
|
||||
@@ -74,9 +76,15 @@ input[type="text"] {
|
||||
}
|
||||
});
|
||||
|
||||
objectLang.ports.parsedString.subscribe(({ string, term }) => {
|
||||
if (term !== null) {
|
||||
const query = `type(empty, ${term}, ?tau)`;
|
||||
app.ports.receiveConverted.send({ input: string, query });
|
||||
}
|
||||
});
|
||||
|
||||
app.ports.convertInput.subscribe(({ mode, input }) => {
|
||||
console.log(input);
|
||||
app.ports.receiveConverted.send({ input, query: `type(empty, lit(${input}), ?tau )` });
|
||||
objectLang.ports.parseString.send(input);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user