aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acme.inc58
-rwxr-xr-xbp.sh27
-rwxr-xr-xtag.sh6
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
+}
diff --git a/bp.sh b/bp.sh
new file mode 100755
index 0000000..70d0078
--- /dev/null
+++ b/bp.sh
@@ -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
diff --git a/tag.sh b/tag.sh
index 4107521..a42b0bc 100755
--- a/tag.sh
+++ b/tag.sh
@@ -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