From da07a8977705c93965d2e6e7ed6f9ac26a960787 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Fri, 15 Sep 2017 11:20:52 -0400 Subject: Initial commit --- commands/blocked | 27 +++++++++++++++++++++++++++ commands/next_actions | 25 +++++++++++++++++++++++++ commands/projects | 25 +++++++++++++++++++++++++ commands/review | 40 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100755 commands/blocked create mode 100755 commands/next_actions create mode 100755 commands/projects create mode 100755 commands/review (limited to 'commands') 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 -- cgit v1.2.3