diff options
author | 2023-11-30 09:57:00 +0100 | |
---|---|---|
committer | 2023-11-30 09:57:00 +0100 | |
commit | 50f25337c239b6d852c0200fc7db72ef3f3e489a (patch) | |
tree | ea8ac5a92d006a72a19da71e14fb0fff4203dfc1 | |
parent | f3ae162f7bada5e6020d6e0c2290a90a83d43ba6 (diff) | |
download | acme-scripts-50f25337c239b6d852c0200fc7db72ef3f3e489a.tar.gz acme-scripts-50f25337c239b6d852c0200fc7db72ef3f3e489a.zip |
Add bp.sh script
Used to put breakpoints.
-rw-r--r-- | acme.inc | 58 | ||||
-rwxr-xr-x | bp.sh | 27 | ||||
-rwxr-xr-x | tag.sh | 6 |
3 files changed, 89 insertions, 2 deletions
diff --git a/acme.inc b/acme.inc new file mode 100644 index 0000000..6b71535 --- /dev/null +++ b/acme.inc @@ -0,0 +1,58 @@ +fn_set_tag() +{ + echo 'cleartag' | 9p write acme/$winid/ctl + echo -n " $@" | 9p write acme/$winid/tag +# echo 'clean' | 9p write acme/$winid/ctl +} + +fn_append_tag() +{ + echo -n "$1" | 9p write acme/$winid/tag +} + +fn_get_tag() +{ + 9p read acme/$winid/tag +} + +fn_write_click_event() +{ + local eventType=$1 offset=$2 end=$3 + +# echo "M$eventType$offset $end" + echo "M$eventType$offset $end" | 9p write "acme/$winid/event" +} + +fn_exec_cmd_tag() +{ + local cmd_size=$(echo -n "$1" | wc -c | awk '{print $1}') + local start=$(echo `fn_get_tag` | sed -E 's/( Snarf )[^\|]*/\1/g' | grep -aob "$1" | sed 's/:.*//g') + if [ -z $start ]; then + fn_append_tag " ($1)" + start=$(echo `fn_get_tag` | sed -E 's/( Snarf )[^\|]*/\1/g' | grep -aob "$1" | sed 's/:.*//g') + fi + local end=$(expr $start + $cmd_size) + + fn_write_click_event x $start $end +} + +fn_win_tag() +{ + 9p read "acme/$winid/tag" | sed -E 's/( Snarf ).*/\1/' +} + +fn_win_tag_size() +{ + fn_win_tag | wc -c | awk '{print $1}' +} + +fn_user_tag() +{ + 9p read "acme/$winid/tag" | cut -d'|' -f2 | xargs +} + +fn_user_tag_pos() +{ + local size=$(fn_win_tag_size) + expr $size + 1 +} @@ -0,0 +1,27 @@ +#!/bin/sh + +DIR=$(dirname `realpath $0`) + +. $DIR/acme.inc + +fn_exec_cmd_tag "Edit =" +WIN_ERR_ID=$(9p read acme/index | awk '{print $6" "$1}' | grep -E '^\+Errors' | awk '{print $2}') + +file=$(9p read acme/$WIN_ERR_ID/body | tail -1) +extension=$(echo $file | sed -E 's/.*\.(.*):[0-9]*$/\1/g') + +if [ $extension = 'java' ]; then + CUR_DIR=`pwd` + START_DIR=$CUR_DIR + while [ $CUR_DIR != '/' ] && [ ! -f pom.xml ]; do + cd .. + CUR_DIR=$(pwd) + done + dir_name=${CUR_DIR##*/} + + BREAKPOINT=$(echo $file | sed -E "s|.*$dir_name/src/.*/java/(.*)\.java|\1|g" | tr '/' '.') + echo 'stop at '$BREAKPOINT + echo 'stop at '$BREAKPOINT >> jdb.lines + + cd $START_DIR +fi @@ -2,9 +2,11 @@ CMD=`echo $0 | sed 's/.*\///g'` -TAG="Get $CMD |c+ |c- |latin" +EDIT_TAG='(Edit =)' +TAG="Get $CMD |c+ |c- |latin >ffunc m80 m120 >java-import |java-package >find-file >find-class |qentity |lower |upper >who-implement-me" +DEBUG_TAG='bp' # Clear the tag before adding the new one echo cleartag | 9p write acme/$winid/ctl -printf "\n$TAG\nEdit" | 9p write acme/$winid/tag +printf "\n$EDIT_TAG\n$TAG\n$DEBUG_TAG\nEdit" | 9p write acme/$winid/tag |