aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-08-13 20:19:42 +0200
committerAdrian Kummerlaender2015-08-13 20:19:42 +0200
commit358d64b332068103b24577bbf4c390b05dbe50df (patch)
tree7839cdccacac46c70fcf477c434bfee33866dd4f
parentaca84cb4ef24c1b4b9e3d53126081db8b14855e2 (diff)
downloadMetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.gz
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.bz2
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.lz
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.xz
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.tar.zst
MetaTerm-358d64b332068103b24577bbf4c390b05dbe50df.zip
Implement `ls` command
This suggested adding an `iterate` helper method to `TerminalList` as well as line break logic to the command output log.
-rw-r--r--qml/CommandInput.qml6
-rw-r--r--qml/TerminalList.qml6
-rw-r--r--qml/commands.js7
3 files changed, 18 insertions, 1 deletions
diff --git a/qml/CommandInput.qml b/qml/CommandInput.qml
index 5fbde77..99f5d0e 100644
--- a/qml/CommandInput.qml
+++ b/qml/CommandInput.qml
@@ -118,7 +118,11 @@ Item {
}
function log(msg) {
- text += msg;
+ if ( isInitial() ) {
+ text = msg;
+ } else {
+ text += '<br/>' + msg;
+ }
}
function error(msg) {
diff --git a/qml/TerminalList.qml b/qml/TerminalList.qml
index fe89be5..013b394 100644
--- a/qml/TerminalList.qml
+++ b/qml/TerminalList.qml
@@ -89,6 +89,12 @@ Item {
return children[activeItem];
}
+ function iterate(func) {
+ for ( var i = 0; i < children.length; i++ ) {
+ func(children[i]);
+ }
+ }
+
Flickable {
id: flickable
diff --git a/qml/commands.js b/qml/commands.js
index 765a747..7069458 100644
--- a/qml/commands.js
+++ b/qml/commands.js
@@ -40,3 +40,10 @@ function prev() {
terminalList.selectPrev();
}
+function ls(output) {
+ terminalList.iterate(function(item) {
+ if ( item.terminal !== null ) {
+ output.log(item.index + ': ' + item.terminal.program);
+ }
+ });
+}