diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index eeea980..27fbeb5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ jobs: test: strategy: matrix: - platform: [ubuntu-latest, macos-latest, ubuntu-18.04] + platform: [ubuntu-20.04, ubuntu-18.04, macos-11, macos-10.15] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 diff --git a/README.md b/README.md index 4fc5128..925afc8 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,12 @@ Download the latest stable [release][release] for use on your desktop or server. ```shell brew install todo-txt + +# For macOS on x86 CPU cp -n /usr/local/opt/todo-txt/todo.cfg ~/.todo.cfg + +# For macOS on arm CPU +cp -n /opt/homebrew/opt/todo-txt/todo.cfg ~/.todo.cfg ``` **Note**: The `-n` flag for `cp` makes sure you do not overwrite an existing file. diff --git a/todo.sh b/todo.sh index f128e67..eebf361 100755 --- a/todo.sh +++ b/todo.sh @@ -824,11 +824,6 @@ _addto() { fi } -shellquote() -{ - typeset -r qq=\'; printf %s\\n "'${1//\'/${qq}\\${qq}${qq}}'"; -} - filtercommand() { filter=${1:-} @@ -843,13 +838,13 @@ filtercommand() then ## First character isn't a dash: hide lines that don't match ## this $search_term - filter="${filter:-}${filter:+ | }grep -i $(shellquote "$search_term")" + printf -v filter '%sgrep -i %q' "${filter:-}${filter:+ | }" "$search_term" else ## First character is a dash: hide lines that match this ## $search_term # ## Remove the first character (-) before adding to our filter command - filter="${filter:-}${filter:+ | }grep -v -i $(shellquote "${search_term:1}")" + printf -v filter '%sgrep -v -i %q' "${filter:-}${filter:+ | }" "${search_term:1}" fi done @@ -1047,7 +1042,7 @@ hasCustomAction() return 1 } -export -f cleaninput getPrefix getTodo getNewtodo shellquote filtercommand _list listWordsWithSigil getPadding _format die +export -f cleaninput getPrefix getTodo getNewtodo filtercommand _list listWordsWithSigil getPadding _format die # == HANDLE ACTION == action=$( printf "%s\n" "$ACTION" | tr '[:upper:]' '[:lower:]' )