Make enter play nicer with indentation
This commit is contained in:
parent
3ad23f3a91
commit
550f1b44b2
@ -1,7 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"sheet_type": "code",
|
"sheet_type": "code",
|
||||||
"value": "x = code_sheet(1);\nreturn {\n\tinit: () => {y = 0},\n\tupdate: () => {\n\t\ty += speed;\n\t\tif (y > 127) {\n\t\t\ty = -6\n\t\t}\n\t},\n\tdraw: () => {\n\t\tcls();\n\t\ttxt(x, y, 'hello world')\n\t}\n}"
|
"value": "x = code(1);\nreturn {\n\tinit: () => {y = 0},\n\tupdate: () => {\n\t\ty += speed;\n\t\tif (y > 127) {\n\t\t\ty = -6\n\t\t}\n\t},\n\tdraw: () => {\n\t\tcls();\n\t\ttxt(x, y, 'hello world')\n\t}\n}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sheet_type": "code",
|
"sheet_type": "code",
|
||||||
|
14
codetab.ts
14
codetab.ts
@ -163,6 +163,18 @@ const state = {
|
|||||||
this.scrollX = focusX*fw-128+fw;
|
this.scrollX = focusX*fw-128+fw;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
currentIndentation() {
|
||||||
|
const lines = this.code.slice(0, this.focus).split("\n");
|
||||||
|
const line = lines[lines.length-1];
|
||||||
|
const match = line.match(/^\s*/);
|
||||||
|
if (!match) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
console.log(lines);
|
||||||
|
console.log(line);
|
||||||
|
console.log(match);
|
||||||
|
return match[0];
|
||||||
|
},
|
||||||
get code() {
|
get code() {
|
||||||
return getCodeSheet(0);
|
return getCodeSheet(0);
|
||||||
},
|
},
|
||||||
@ -401,7 +413,7 @@ const update = async () => {
|
|||||||
|
|
||||||
if (keyPressed(K.ENTER)) {
|
if (keyPressed(K.ENTER)) {
|
||||||
// TODO: Make this play nicely with indentation
|
// TODO: Make this play nicely with indentation
|
||||||
state.insertText("\n");
|
state.insertText("\n"+state.currentIndentation());
|
||||||
state.scrollToCursor();
|
state.scrollToCursor();
|
||||||
}
|
}
|
||||||
if (keyPressed(K.TAB)) {
|
if (keyPressed(K.TAB)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user