- InputAction actions[NK_COUNT][IN_COUNT];
-
- actions[NK_Arr][IN_A] = IA_AppendArray;
- actions[NK_Arr][IN_S] = IA_AppendString;
- actions[NK_Arr][IN_D] = IA_Delete;
- actions[NK_Arr][IN_H] = IA_MoveLeft;
- actions[NK_Arr][IN_J] = IA_MoveDown;
- actions[NK_Arr][IN_K] = IA_MoveUp;
- actions[NK_Arr][IN_L] = IA_MoveRight;
-
- actions[NK_Str][IN_SPACE] = IA_StartEditing;
- actions[NK_Str][IN_D] = IA_Delete;
- actions[NK_Str][IN_H] = IA_MoveLeft;
- actions[NK_Str][IN_J] = IA_MoveDown;
- actions[NK_Str][IN_K] = IA_MoveUp;
- actions[NK_Str][IN_L] = IA_MoveRight;
+ static InputAction actions[NK_COUNT][IN_COUNT];
+
+ for (int i = 0; i < NK_COUNT; i++) {
+ actions[i][IN_H] = IA_MoveLeft;
+ actions[i][IN_J] = IA_MoveUp;
+ actions[i][IN_K] = IA_MoveDown;
+ actions[i][IN_L] = IA_MoveRight;
+ }
+
+ actions[NK_Func][IN_D] = IA_Delete;
+ actions[NK_Func][IN_SPACE] = IA_StartEditing;
+
+ actions[NK_ArgList][IN_V] = IA_AddVar;
+
+ actions[NK_ExprList][IN_V] = IA_AddVar;
+ actions[NK_ExprList][IN_I] = IA_AddIf;
+ actions[NK_ExprList][IN_N] = IA_AddNum;
+ actions[NK_ExprList][IN_S] = IA_AddStr;
+ actions[NK_ExprList][IN_C] = IA_AddCall;
+ actions[NK_ExprList][IN_O] = IA_AddOp;
+
+ actions[NK_Var][IN_D] = IA_Delete;
+ actions[NK_Var][IN_SPACE] = IA_StartEditing;
+
+ actions[NK_Body][IN_F] = IA_AddFunc;
+ actions[NK_Body][IN_V] = IA_AddVar;
+ actions[NK_Body][IN_I] = IA_AddIf;
+ actions[NK_Body][IN_N] = IA_AddNum;
+ actions[NK_Body][IN_S] = IA_AddStr;
+ actions[NK_Body][IN_C] = IA_AddCall;
+ actions[NK_Body][IN_O] = IA_AddOp;
+
+ actions[NK_If][IN_D] = IA_Delete;
+
+ actions[NK_Num][IN_D] = IA_Delete;
+ actions[NK_Num][IN_SPACE] = IA_StartEditing;
+
+ actions[NK_Call][IN_D] = IA_Delete;
+ actions[NK_Call][IN_SPACE] = IA_StartEditing;
+
+ actions[NK_Op][IN_D] = IA_Delete;
+ actions[NK_Op][IN_SPACE] = IA_StartEditing;
+ actions[NK_Op][IN_V] = IA_AddVar;
+ actions[NK_Op][IN_I] = IA_AddIf;
+ actions[NK_Op][IN_N] = IA_AddNum;
+ actions[NK_Op][IN_S] = IA_AddStr;
+ actions[NK_Op][IN_C] = IA_AddCall;
+ actions[NK_Op][IN_O] = IA_AddOp;