diff --git a/db/blockly_unix_database.db b/db/blockly_unix_database.db
index be29e34..8ffd39b 100644
Binary files a/db/blockly_unix_database.db and b/db/blockly_unix_database.db differ
diff --git a/index.html b/index.html
index 152ce6b..3ddb65d 100644
--- a/index.html
+++ b/index.html
@@ -19,6 +19,9 @@
+
+
+
@@ -58,9 +61,7 @@
-
-
@@ -77,7 +78,6 @@
-
@@ -239,7 +239,7 @@
colourSecondary: '#FFCDD2',
colourTertiary: '#CDB6E9'
},
- 'File inputs': {
+ 'Function inputs': {
colourPrimary: '#5C81A6',
colourSecondary: '#ff0000',
colourTertiary: '#C5EAFF'
@@ -352,12 +352,14 @@
},
{
kind: 'category',
- name: [MSG.FILE_INPUTS],
+ name: [MSG.FUCTION_INPUTS],
colour: '#5C81A6',
contents: [
{ kind: 'block', type: 'filename' },
{ kind: 'block', type: 'filenamesCreate' },
- { kind: 'block', type: 'fileEndStart' }
+ { kind: 'block', type: 'fileEndStart' },
+ { kind: 'block', type: 'argument' },
+ { kind: 'block', type: 'argumentsCreate' }
]
},
{
@@ -373,6 +375,7 @@
{ kind: 'block', type: 'mv' },
{ kind: 'block', type: 'rm' },
{ kind: 'block', type: 'ls' },
+ { kind: 'block', type: 'cd' },
{ kind: 'block', type: 'find' },
{ kind: 'block', type: 'mkdir' }
]
@@ -399,13 +402,14 @@
colour: '#FF5733',
contents: [
{ kind: 'block', type: 'regPattern' },
- { kind: 'block', type: 'regOr' },
- { kind: 'block', type: 'regCapturingGroup' },
- { kind: 'block', type: 'regStart' },
- { kind: 'block', type: 'regEnd' },
{ kind: 'block', type: 'regFor' },
{ kind: 'block', type: 'regRange' },
+ { kind: 'block', type: 'regStart' },
+ { kind: 'block', type: 'regEnd' },
{ kind: 'block', type: 'regAnyOne' },
+ { kind: 'block', type: 'regCapturingGroup' },
+ { kind: 'block', type: 'regAlternation' },
+ { kind: 'block', type: 'regBackreference' },
{ kind: 'block', type: 'regCommon' }
]
},
diff --git a/public/blocks/argumentBlock.js b/public/blocks/argumentBlock.js
new file mode 100644
index 0000000..2e926e1
--- /dev/null
+++ b/public/blocks/argumentBlock.js
@@ -0,0 +1,19 @@
+var argumentBlock = {
+ type: 'argument',
+ category: 'Function inputs',
+ message0: '%{BKY_ARGUMENT} %1',
+ args0: [
+ {
+ type: 'field_input',
+ name: 'argument',
+ text: 'argument' // default text for the input
+ }
+ ],
+
+ output: 'String',
+ style: 'Function inputs',
+ tooltip: '%{BKY_ARGUMENT_TOOLTIP}',
+ helpUrl: '%{BKY_ARGUMENT_HELPURL}' // URL για περαιτέρω πληροφορίες ή τεκμηρίωση.
+};
+
+Blockly.defineBlocksWithJsonArray([argumentBlock]);
diff --git a/public/blocks/regOrBlock.js b/public/blocks/argumentsCreateBlock.js
similarity index 79%
rename from public/blocks/regOrBlock.js
rename to public/blocks/argumentsCreateBlock.js
index 8efca2a..f29d4b5 100644
--- a/public/blocks/regOrBlock.js
+++ b/public/blocks/argumentsCreateBlock.js
@@ -1,7 +1,7 @@
-var regOrBlock = {
- type: 'regOr',
- category: 'Regular Expressions',
- message0: '%{BKY_REGOR_CREATE_WITH} %1',
+var argumentsCreateBlock = {
+ type: 'argumentsCreate',
+ category: 'Function inputs',
+ message0: '%{BKY_ARGUMENTS_CREATE_WITH} %1',
args0: [
{
type: 'input_dummy',
@@ -9,15 +9,15 @@ var regOrBlock = {
}
],
output: 'String',
- style: 'Regular Expressions',
- helpUrl: '%{BKY_REGOR_CREATE_WITH_HELPURL}',
- tooltip: '%{BKY_REGOR_CREATE_WITH_TOOLTIP}',
- mutator: 'new_list_create_with_mutator_OrRegex'
+ style: 'Function inputs',
+ helpUrl: '%{BKY_ARGUMENTS_CREATE_WITH_HELPURL}',
+ tooltip: '%{BKY_ARGUMENTS_CREATE_WITH_TOOLTIP}',
+ mutator: 'new_list_create_with_mutator_Arguments'
};
-Blockly.defineBlocksWithJsonArray([regOrBlock]);
+Blockly.defineBlocksWithJsonArray([argumentsCreateBlock]);
-const listCreateMutator_OrRegex = {
+const listCreateMutator_Arguments = {
/**
* Number of item inputs the block has.
* @type {number}
@@ -25,7 +25,7 @@ const listCreateMutator_OrRegex = {
itemCount_: 0,
/**
- * Creates XML to represent number of text inputs.
+ * Creates XML to represent number of argument inputs.
* @returns {!Element} XML storage element.
* @this {Blockly.Block}
*/
@@ -35,7 +35,7 @@ const listCreateMutator_OrRegex = {
return container;
},
/**
- * Parses XML to restore the text inputs.
+ * Parses XML to restore the argument inputs.
* @param {!Element} xmlElement XML storage element.
* @this {Blockly.Block}
*/
@@ -99,10 +99,6 @@ const listCreateMutator_OrRegex = {
this.updateMinus_();
},
- // To properly keep track of indices we have to increment before/after adding
- // the inputs, and decrement the opposite.
- // Because we want our first input to be ADD0 (not ADD1) we increment after.
-
/**
* Adds an input to the end of the block. If the block currently has no
* inputs it updates the top 'EMPTY' input to receive a block.
@@ -114,7 +110,7 @@ const listCreateMutator_OrRegex = {
this.removeInput('EMPTY');
this.topInput_ = this.appendValueInput('ADD' + this.itemCount_)
.appendField(createPlusField(), 'PLUS')
- .appendField(Blockly.Msg['REGOR_CREATE_WITH']);
+ .appendField(Blockly.Msg['ARGUMENTS_CREATE_WITH']);
} else {
this.appendValueInput('ADD' + this.itemCount_);
}
@@ -133,7 +129,7 @@ const listCreateMutator_OrRegex = {
if (this.itemCount_ == 0) {
this.topInput_ = this.appendDummyInput('EMPTY')
.appendField(createPlusField(), 'PLUS')
- .appendField(Blockly.Msg['REGOR_CREATE_EMPTY_TITLE']);
+ .appendField(Blockly.Msg['ARGUMENTS_CREATE_EMPTY_TITLE']);
}
},
@@ -155,13 +151,13 @@ const listCreateMutator_OrRegex = {
* Updates the shape of the block to have 3 inputs if no mutation is provided.
* @this {Blockly.Block}
*/
-const listCreateHelper_OrRegex = function () {
+const listCreateHelper_Arguments = function () {
this.getInput('EMPTY').insertFieldAt(0, createPlusField(), 'PLUS');
this.updateShape_(2);
};
Blockly.Extensions.registerMutator(
- 'new_list_create_with_mutator_OrRegex',
- listCreateMutator_OrRegex,
- listCreateHelper_OrRegex
+ 'new_list_create_with_mutator_Arguments',
+ listCreateMutator_Arguments,
+ listCreateHelper_Arguments
);
diff --git a/public/blocks/cdBlock.js b/public/blocks/cdBlock.js
index 8089450..6fff870 100644
--- a/public/blocks/cdBlock.js
+++ b/public/blocks/cdBlock.js
@@ -1,23 +1,18 @@
var cdBlock = {
type: 'cd',
category: 'Filesystem Operations',
- unix_description: [
- {
- directory: './str'
- }
- ],
+ unix_description: [{}],
message0: '%{BKY_CD} %1',
args0: [
{
type: 'field_input',
name: 'directory',
- text: '' // αρχικό κενό text για να ορίσει ο χρήστης το path
+ text: '............' // empty text for user to define path
}
],
- style: 'File and Directory Operations',
+ style: 'Filesystem Operations',
tooltip: '%{BKY_CD_TOOLTIP}',
- helpUrl: '%{BKY_CD_HELPURL}' // Σύνδεσμος για περισσότερες πληροφορίες ή τεκμηρίωση.
+ helpUrl: '%{BKY_CD_HELPURL}' // URL to further information or documentation.
};
-// Εισάγουμε το block στο Blockly
Blockly.defineBlocksWithJsonArray([cdBlock]);
diff --git a/public/blocks/fileEndStartBlock.js b/public/blocks/fileEndStartBlock.js
index 0813377..8af4d3f 100644
--- a/public/blocks/fileEndStartBlock.js
+++ b/public/blocks/fileEndStartBlock.js
@@ -1,6 +1,6 @@
var fileEndStartBlock = {
type: 'fileEndStart',
- category: 'File inputs',
+ category: 'Function inputs',
unix_description: [
{
starts: 'str*',
@@ -26,7 +26,7 @@ var fileEndStartBlock = {
],
output: 'fileWildcard',
- style: 'File inputs',
+ style: 'Function inputs',
tooltip: '%{BKY_FILE_END_START_WILDCHARS_TOOLTIP}',
helpUrl: '%{BKY_FILE_END_START_WILDCHARS_HELPURL} ' // URL to further information or documentation.
};
diff --git a/public/blocks/filenameBlock.js b/public/blocks/filenameBlock.js
index 05fcc4a..4e0ff64 100644
--- a/public/blocks/filenameBlock.js
+++ b/public/blocks/filenameBlock.js
@@ -1,6 +1,6 @@
var filenameBlock = {
type: 'filename',
- category: 'File inputs',
+ category: 'Function inputs',
message0: '%{BKY_FILENAME} %1',
args0: [
{
@@ -10,7 +10,7 @@ var filenameBlock = {
}
],
output: 'filename',
- style: 'File inputs',
+ style: 'Function inputs',
tooltip: '%{BKY_FILENAME_TOOLTIP}',
helpUrl: '%{BKY_FILENAME_HELPURL}' // URL to further information or documentation.
};
diff --git a/public/blocks/filenamesCreateBlock.js b/public/blocks/filenamesCreateBlock.js
index 896465c..6674b97 100644
--- a/public/blocks/filenamesCreateBlock.js
+++ b/public/blocks/filenamesCreateBlock.js
@@ -1,6 +1,6 @@
var filenamesCreateBlock = {
type: 'filenamesCreate',
- category: 'File inputs',
+ category: 'Function inputs',
message0: '%{BKY_FILES_CREATE_WITH} %1',
args0: [
{
@@ -8,7 +8,7 @@ var filenamesCreateBlock = {
name: 'EMPTY'
}
],
- style: 'File inputs',
+ style: 'Function inputs',
nextStatement: 'Action',
helpUrl: '%{BKY_FILES_CREATE_WITH_HELPURL}',
tooltip: '%{BKY_FILES_CREATE_WITH_TOOLTIP}',
diff --git a/public/blocks/lnBlock.js b/public/blocks/lnBlock.js
index 86e1d9a..b8b6a2a 100644
--- a/public/blocks/lnBlock.js
+++ b/public/blocks/lnBlock.js
@@ -9,7 +9,8 @@ var lnBlock = {
force: '-f',
interactive: '-i',
follow_symlink: '-L',
- no_symlink_follow: '-P'
+ no_symlink_follow: '-P',
+ SOURCE: 'str'
}
],
message1: '%{BKY_LN_SYMBOLIC_LINK}',
@@ -39,14 +40,16 @@ var lnBlock = {
message4: '%{BKY_LN_SOURCE}: %1 %{BKY_LN_TARGET}: %2',
args4: [
{
- type: 'field_input',
+ type: 'input_value',
name: 'SOURCE',
- text: 'source' // default source
+ text: 'source', // default source
+ check: 'String'
},
{
- type: 'field_input',
+ type: 'input_value',
name: 'TARGET',
- text: 'target' // default target
+ text: 'target', // default target
+ check: 'String'
}
],
style: 'Filesystem Operations',
diff --git a/public/blocks/regAlternationBlock.js b/public/blocks/regAlternationBlock.js
index 699af73..d977425 100644
--- a/public/blocks/regAlternationBlock.js
+++ b/public/blocks/regAlternationBlock.js
@@ -28,6 +28,7 @@ var regAlternationBlock = {
}
],
style: 'Regular Expressions',
+ output: 'String',
previousStatement: null,
nextStatement: null,
tooltip:
diff --git a/public/blocks/regAnyOneBlock.js b/public/blocks/regAnyOneBlock.js
index f8b0113..87ba949 100644
--- a/public/blocks/regAnyOneBlock.js
+++ b/public/blocks/regAnyOneBlock.js
@@ -1,31 +1,32 @@
var regAnyOneBlock = {
type: 'regAnyOne',
+ category: 'Regular Expressions',
unix_description: [
{
regPattern: '[patt]',
- notMatch: 'patt^'
+ notMatch: '[^patt^]'
}
],
- category: 'Regular Expressions',
- message0: '%{BKY_REGANYONE}',
+
+ message0: '%{BKY_REGANYONE} \n Not %2',
args0: [
{
- type: 'input_value',
+ type: 'input_statement',
name: 'regPattern',
check: 'String'
- }
- ],
- message1: '%{BKY_REGANYONE_NOT}',
- args1: [
+ },
+
{
type: 'field_checkbox',
name: 'notMatch',
checked: false
}
],
+
tooltip: '%{BKY_REGANYONE_TOOLTIP}',
- previousStatement: 'Action',
- nextStatement: 'Action',
+ output: 'String',
+ previousStatement: null,
+ nextStatement: null,
style: 'Regular Expressions',
helpUrl: '%{BKY_REGANYONE_HELPURL}' // URL to further information or documentation.
};
diff --git a/public/blocks/regBackreferenceBlock.js b/public/blocks/regBackreferenceBlock.js
new file mode 100644
index 0000000..f6ee591
--- /dev/null
+++ b/public/blocks/regBackreferenceBlock.js
@@ -0,0 +1,43 @@
+var regBackreferenceBlock = {
+ type: 'regBackreference',
+ category: 'Regular Expressions',
+ unix_description: [
+ {
+ 1: '\\1',
+ 2: '\\2',
+ 3: '\\3',
+ 4: '\\4',
+ 5: '\\5',
+ 6: '\\6',
+ 7: '\\7',
+ 8: '\\8',
+ 9: '\\9'
+ }
+ ],
+ message0: 'Backreference to group %1',
+ args0: [
+ {
+ type: 'field_dropdown', // Dropdown για επιλογή του αριθμού αναφοράς
+ name: 'BACKREF_NUMBER',
+ options: [
+ ['1', '1'],
+ ['2', '2'],
+ ['3', '3'],
+ ['4', '4'],
+ ['5', '5'],
+ ['6', '6'],
+ ['7', '7'],
+ ['8', '8'],
+ ['9', '9']
+ ]
+ }
+ ],
+ style: 'Regular Expressions',
+ previousStatement: 'Action',
+ nextStatement: 'Action',
+ tooltip: 'References a previously matched group using \\1, \\2, etc.',
+ helpUrl:
+ 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#backreferences'
+};
+
+Blockly.defineBlocksWithJsonArray([regBackreferenceBlock]);
diff --git a/public/blocks/regCapturingGroupBlock.js b/public/blocks/regCapturingGroupBlock.js
index 6578e05..dedc7d7 100644
--- a/public/blocks/regCapturingGroupBlock.js
+++ b/public/blocks/regCapturingGroupBlock.js
@@ -2,7 +2,7 @@ var regCapturingGroupBlock = {
type: 'regCapturingGroup',
unix_description: [
{
- Group: '(patt)'
+ regPattern: '(patt)'
}
],
category: 'Regular Expressions',
@@ -10,11 +10,12 @@ var regCapturingGroupBlock = {
args0: [
{
type: 'input_statement',
- name: 'Group',
+ name: 'regPattern',
check: 'String'
}
],
tooltip: '%{BKY_REGCAPTURINGGROUP_TOOLTIP}',
+ output: 'String',
previousStatement: null,
nextStatement: null,
style: 'Regular Expressions',
diff --git a/public/blocks/regEndBlock.js b/public/blocks/regEndBlock.js
index d6960ea..3adffab 100644
--- a/public/blocks/regEndBlock.js
+++ b/public/blocks/regEndBlock.js
@@ -3,20 +3,12 @@ var regEndBlock = {
category: 'Regular Expressions',
unix_description: [
{
- regEnd: 'patt$'
+ regPattern: 'patt$'
}
],
message0: '%{BKY_REGEND}',
- args0: [
- {
- type: 'input_value',
- name: 'regPattern',
- check: 'String'
- }
- ],
style: 'Regular Expressions',
previousStatement: 'Action',
- nextStatement: 'Action',
tooltip: '%{BKY_REGEND_TOOLTIP}',
helpUrl: '%{BKY_REGEND_HELPURL}' // URL to further information or documentation.
};
diff --git a/public/blocks/regForBlock.js b/public/blocks/regForBlock.js
index 390e8f0..499c4bd 100644
--- a/public/blocks/regForBlock.js
+++ b/public/blocks/regForBlock.js
@@ -24,13 +24,7 @@ var regForBlock = {
checked: false
}
],
- message1: '%{BKY_REGFOR_1}',
- args1: [
- {
- type: 'input_statement',
- name: 'DO'
- }
- ],
+
previousStatement: null,
nextStatement: null,
style: 'Regular Expressions',
diff --git a/public/blocks/regLookaheadBlock.js b/public/blocks/regLookaheadBlock.js
deleted file mode 100644
index 22ee017..0000000
--- a/public/blocks/regLookaheadBlock.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var regLookaheadBlock = {
- type: 'regLookahead',
- category: 'Regular Expressions',
- unix_description: [
- {
- positive: '(?= patt)',
- negative: '(?! patt)'
- }
- ],
- message0: '%{BKY_REGLOOKAHEAD}',
- args0: [
- {
- type: 'field_dropdown',
- name: 'reg_lookahead',
- options: [
- ['is', 'positive'],
- ['is not', 'negative']
- ]
- },
- {
- type: 'input_value',
- name: 'regPattern',
- check: 'String'
- }
- ],
- style: 'Regular Expressions',
- previousStatement: 'Action',
- nextStatement: 'Action',
- tooltip: '%{BKY_REGLOOKAHEAD_TOOLTIP}',
- helpUrl: '%{BKY_REGLOOKAHEAD_HELPURL}' // URL to further information or documentation.
-};
-
-Blockly.defineBlocksWithJsonArray([regLookaheadBlock]);
diff --git a/public/blocks/regOutputBlock.js b/public/blocks/regOutputBlock.js
deleted file mode 100644
index 79b18f8..0000000
--- a/public/blocks/regOutputBlock.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var regOutputBlock = {
- type: 'regOutput',
- category: 'Regular Expressions',
- message0: '%{BKY_REGOUTPUT}',
- message1: '%{BKY_REGOUTPUT_1}',
- args1: [
- {
- type: 'input_statement',
- name: 'DO'
- }
- ],
- output: 'String',
- nextStatement: null,
- style: 'Regular Expressions',
- tooltip: '%{BKY_REGOUTPUT_TOOLTIP}',
- helpUrl: '%{BKY_REGOUTPUT_HELPURL}' // URL to further information or documentation.
-};
-
-Blockly.defineBlocksWithJsonArray([regOutputBlock]);
diff --git a/public/blocks/regPatternBlock.js b/public/blocks/regPatternBlock.js
index c99b822..adb81af 100644
--- a/public/blocks/regPatternBlock.js
+++ b/public/blocks/regPatternBlock.js
@@ -1,25 +1,37 @@
+// Ορισμός του generator για τη γλώσσα JavaScript
+Blockly.JavaScript = new Blockly.Generator('JavaScript');
+var generator = Blockly.JavaScript;
+
+// Ορισμός του block regPattern
var regPatternBlock = {
type: 'regPattern',
category: 'Regular Expressions',
+ message0: '%{BKY_REGPATTERN}',
unix_description: [
{
- //?????????
+ regPattern: 'patt'
}
],
- message0: '%{BKY_REGPATTERN}',
args0: [
{
type: 'field_input',
name: 'regPattern',
- text: 'type your pattern here...' // default text for the input
+ text: 'string' // default text for the input
}
],
- output: 'String',
- style: 'Regular Expressions',
- output: 'String',
+ previousStatement: 'Action',
nextStatement: 'Action',
+ style: 'Regular Expressions',
tooltip: '%{BKY_REGPATTERN_TOOLTIP}',
helpUrl: '%{BKY_REGPATTERN_HELPURL}' // URL to further information or documentation.
};
+// Ορισμός του block στο Blockly
Blockly.defineBlocksWithJsonArray([regPatternBlock]);
+
+// Ορισμός του generator για το block regPattern
+generator.forBlock['regPattern'] = function (block) {
+ var text = block.getFieldValue('regPattern');
+ var code = `'${text}'`;
+ return [code, generator.ORDER_ATOMIC];
+};
diff --git a/public/blocks/regQuantBlock.js b/public/blocks/regQuantBlock.js
deleted file mode 100644
index acff71f..0000000
--- a/public/blocks/regQuantBlock.js
+++ /dev/null
@@ -1,41 +0,0 @@
-var regQuantBlock = {
- type: 'regQuant',
- category: 'Regular Expressions',
- unix_description: [
- {
- zeroOne: 'patt?',
- oneMore: 'patt+',
- zeroMore: 'patt*',
- anyCharExceptNewLine: '.'
- }
- ],
- message0: '%{BKY_REGQUANT}',
- message1: '%{BKY_REGQUANT_1}',
- args1: [
- {
- type: 'field_dropdown',
- name: 'reg_quant',
- options: [
- ['zero or one', 'zeroOne'],
- ['one or more', 'oneMore'],
- ['zero or more', 'zeroMore'],
- ['any char except new line', 'anyCharExceptNewLine']
- ]
- }
- ],
- message2: '%{BKY_REGQUANT_PATTERN}',
- args2: [
- {
- type: 'input_value',
- name: 'regPattern',
- check: 'String'
- }
- ],
- style: 'Regular Expressions',
- previousStatement: 'Action',
- nextStatement: 'Action',
- tooltip: '%{BKY_REGQUANT_TOOLTIP}',
- extensions: ['integer_validation'],
- helpUrl: '%{BKY_REGQUANT_HELPURL}' // URL to further information or documentation.
-};
-Blockly.defineBlocksWithJsonArray([regQuantBlock]);
diff --git a/public/blocks/regStartBlock.js b/public/blocks/regStartBlock.js
index 89105b4..d5dbab8 100644
--- a/public/blocks/regStartBlock.js
+++ b/public/blocks/regStartBlock.js
@@ -3,18 +3,12 @@ var regStartBlock = {
category: 'Regular Expressions',
unix_description: [
{
- regStart: '^'
+ regPattern: '^patt'
}
],
message0: '%{BKY_REGSTART}',
- args0: [
- {
- type: 'input_value',
- name: 'regPattern',
- check: 'String'
- }
- ],
style: 'Regular Expressions',
+ previousStatement: 'Action',
nextStatement: 'Action',
tooltip: '%{BKY_REGSTART_TOOLTIP}',
helpUrl: '%{BKY_REGSTART_HELPURL}' // URL to further information or documentation.
diff --git a/public/blocks/sshBlock.js b/public/blocks/sshBlock.js
index c8c5f73..6e3fac6 100644
--- a/public/blocks/sshBlock.js
+++ b/public/blocks/sshBlock.js
@@ -4,15 +4,18 @@ var sshBlock = {
category: 'Network Operations',
unix_description: [
{
- command: 'ssh %USER@%HOST -p %PORT %COMMAND'
+ KEY: '-i str',
+ PORT: '-p str',
+ USER: 'str@',
+ HOST: 'str'
}
],
- message1: '%{BKY_SSH_HOST} %1',
+ message1: 'Private Key File %1',
args1: [
{
type: 'field_input',
name: 'KEY',
- text: 'key'
+ text: '/path/to/key'
}
],
message2: '%{BKY_SSH_USER} %1',
@@ -23,8 +26,16 @@ var sshBlock = {
text: 'user'
}
],
- message3: '%{BKY_SSH_PORT} %1',
+ message3: '%{BKY_SSH_HOST} %1',
args3: [
+ {
+ type: 'field_input',
+ name: 'HOST',
+ text: 'host'
+ }
+ ],
+ message4: '%{BKY_SSH_PORT} %1',
+ args4: [
{
type: 'field_input',
name: 'PORT',
@@ -34,7 +45,8 @@ var sshBlock = {
style: 'Network Operations',
previousStatement: 'Action',
nextStatement: 'Action',
- tooltip: 'Ανοίγει ασφαλείς συνδέσεις δικτύου.',
+ tooltip:
+ 'Ανοίγει ασφαλείς συνδέσεις δικτύου με δυνατότητα καθορισμού private key.',
helpUrl: 'https://linux.die.net/man/1/ssh'
};
diff --git a/public/blocks/touchBlock.js b/public/blocks/touchBlock.js
index 550404a..bd77754 100644
--- a/public/blocks/touchBlock.js
+++ b/public/blocks/touchBlock.js
@@ -1,9 +1,10 @@
var touchBlock = {
type: 'touch',
- message0: '%{BKY_TOUCH}',
+
category: 'Filesystem Operations',
unix_description: [
{
+ argument: 'arg',
not_create_file: '-c',
change_time_t: '-t str',
change_time_d: '-d str',
@@ -11,6 +12,14 @@ var touchBlock = {
modification_time: '-m'
}
],
+ message0: '%{BKY_TOUCH}',
+ args0: [
+ {
+ type: 'input_value',
+ name: 'argument',
+ check: 'String'
+ }
+ ],
message1: '%{BKY_TOUCH_NOT_CREATE_FILE}',
args1: [
{
@@ -45,6 +54,7 @@ var touchBlock = {
check: 'String'
}
],
+
extensions: ['validate_touch_time_d'],
style: 'Filesystem Operations',
tooltip: '%{BKY_TOUCH_TOOLTIP}',
diff --git a/public/msg/el.js b/public/msg/el.js
index 7b879ec..fe6fff6 100644
--- a/public/msg/el.js
+++ b/public/msg/el.js
@@ -41,7 +41,6 @@ window.MSG = {
parseError:
"Σφάλμα ανάλυσης %1:\n%2\n\nΕπιλέξτε 'OK' για να εγκαταλείψετε τις αλλαγές σας ή 'Ακύρωση' για να συνεχίσετε να επεξεργάζεστε το %1."
};
-
// This file was automatically generated. Do not modify.
('use strict');
diff --git a/public/msg/en.js b/public/msg/en.js
index d9cdf04..27074c8 100644
--- a/public/msg/en.js
+++ b/public/msg/en.js
@@ -1,6 +1,6 @@
window.MSG = {
TEXT_PROCESSING: 'Text Processing',
- FILE_INPUTS: 'File Inputs',
+ FUCTION_INPUTS: 'Function Inputs',
FILESYSTEM_OPERATIONS: 'Filesystem Operations',
DIR_OPERATIONS: 'Directory Operations',
IO_REDIRECTION: 'I/O Redirection',
@@ -807,7 +807,7 @@ Blockly.Msg['REGCOMMON'] = 'Common patterns';
Blockly.Msg['REGCOMMON_MATCH'] = 'Match %1';
Blockly.Msg['REGCOMMON_TOOLTIP'] = 'Common regular expression searches';
Blockly.Msg['REGCOMMON_HELPURL'] = 'https://www.google.com/';
-Blockly.Msg['REGEND'] = 'Lines ends with %1\n';
+Blockly.Msg['REGEND'] = 'Lines ends with\n';
Blockly.Msg['REGEND_TOOLTIP'] = 'End of line';
Blockly.Msg['REGEND_HELPURL'] = 'https://www.google.com/';
Blockly.Msg['REGFOR'] =
@@ -836,7 +836,7 @@ Blockly.Msg['REGRANGE_NOT'] = 'Not %1';
Blockly.Msg['REGRANGE_TOOLTIP'] =
'Match in the file the designated range of characters';
Blockly.Msg['REGRANGE_HELPURL'] = 'https://www.google.com/';
-Blockly.Msg['REGSTART'] = 'Line starts with %1 \n';
+Blockly.Msg['REGSTART'] = 'Line starts with\n';
Blockly.Msg['REGSTART_TOOLTIP'] = 'Start of line';
Blockly.Msg['REGSTART_HELPURL'] = 'https://www.google.com/';
@@ -883,7 +883,7 @@ Blockly.Msg['TEE_TOOLTIP'] =
'The tee utility copies standard input to standard output, making a copy in zero or more files.';
Blockly.Msg['TEE_HELPURL'] = 'https://www.google.com/';
-Blockly.Msg['TOUCH'] = 'Modify file timestamps \n';
+Blockly.Msg['TOUCH'] = 'Modify file timestamps %1 \n';
Blockly.Msg['TOUCH_NOT_CREATE_FILE'] =
'Do not create file if it does not exist %1 \n';
Blockly.Msg['TOUCH_CHANGE_ACCESS_TIME'] =
@@ -893,7 +893,7 @@ Blockly.Msg['TOUCH_CHANGE_MODIFICATION_TIME'] =
Blockly.Msg['TOUCH_SPECIFY_TIME_D'] =
'Change the access and modification times to the specified time \n';
Blockly.Msg['TOUCH_SPECIFY_TIME_FORMAT_D'] =
- 'Timestamp in YYYY-MM-DD hh:mm:SS[Z (UTC)] %1';
+ 'Add date in YYYY-MM-DD hh:mm:SS[Z (UTC)] %1';
Blockly.Msg['TOUCH_TOOLTIP'] =
'Set the access and modification time of a file. If the file does not exist, it creates an empty file.' +
'To insert timestamps you can use the ISO 8601 format: YYYY-MM-DD hh:mm:SS[Z (for UTC)], where:' +