aboutsummaryrefslogtreecommitdiff
path: root/commands
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2017-09-15 11:20:52 -0400
committerGravatar Benjamin Barenblat <bbaren@google.com>2017-09-15 11:20:52 -0400
commitda07a8977705c93965d2e6e7ed6f9ac26a960787 (patch)
treed9b8bc103d5a9bd3a01998683b347287d136d22e /commands
Initial commit
Diffstat (limited to 'commands')
-rwxr-xr-xcommands/blocked27
-rwxr-xr-xcommands/next_actions25
-rwxr-xr-xcommands/projects25
-rwxr-xr-xcommands/review40
4 files changed, 117 insertions, 0 deletions
diff --git a/commands/blocked b/commands/blocked
new file mode 100755
index 0000000..080e4b3
--- /dev/null
+++ b/commands/blocked
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu -o pipefail
+
+. "$(dirname "$(readlink -f "$0")")"/../lib/common.sh
+
+common_awk '
+ /(^|\n)Blocked/ {
+ showWithFile($1)
+ for (i = 1; i <= NF; ++i)
+ if (match($i, /(^|\n)Blocked/))
+ printf(" %s\n", $i)
+ }
+' "${GTD_TXT_DATA[@]}"
diff --git a/commands/next_actions b/commands/next_actions
new file mode 100755
index 0000000..25b4603
--- /dev/null
+++ b/commands/next_actions
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu -o pipefail
+
+. "$(dirname "$(readlink -f "$0")")"/../lib/common.sh
+
+common_awk '
+ $0 !~ /(^|\n)(Blocked|Project|Then)/ {
+ showWithFile($1)
+ }
+' "${GTD_TXT_DATA[@]}" \
+ | grep -F "$(join_by $'\n' "$@")"
diff --git a/commands/projects b/commands/projects
new file mode 100755
index 0000000..fffb333
--- /dev/null
+++ b/commands/projects
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu -o pipefail
+
+. "$(dirname "$(readlink -f "$0")")"/../lib/common.sh
+
+common_awk '
+ /(^|\n)Project:/ {
+ gsub("Project: ", "", $1)
+ showWithFile($1)
+ }
+' "${GTD_TXT_DATA[@]}"
diff --git a/commands/review b/commands/review
new file mode 100755
index 0000000..ee15745
--- /dev/null
+++ b/commands/review
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu -o pipefail
+
+. "$(dirname "$(readlink -f "$0")")"/../lib/common.sh
+
+for f in "${GTD_TXT_DATA[@]}"; do
+ common_awk '
+ function showActions(actions, i) {
+ for (i in actions) print(" " i)
+ }
+ $0 !~ /(^|\n)(Blocked|Project|Then)/ { actions[$1] }
+ /(^|\n)Project:/ {
+ gsub("Project: ", "", $1)
+ showWithFile($1)
+ showActions(actions)
+ delete actions
+ }
+ END {
+ if (array_empty(actions)) {
+ # We never found a project section.
+ showWithFile()
+ showActions(actions)
+ }
+ }
+ ' "$f"
+done