source: LSFind/trunk/VWBFPFND.m@ 1802

Last change on this file since 1802 was 1769, checked in by Jim B., 8 years ago
File size: 2.8 KB
RevLine 
[1769]1VWBFPFND ;WV/BFP/jBell Portland, OR display labels in routine(s) May 2016
2 ;;**LOCAL**
3 ;; This program is free software: you can redistribute it and/or modify
4 ;; it under the terms of the GNU General Public License as published by
5 ;; the Free Software Foundation, either version 3 of the License, or
6 ;; (at your option) any later version.
7 ;;
8 ;; This program is distributed in the hope that it will be useful,
9 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 ;; GNU General Public License for more details.
12 ;;
13 ;; You should have received a copy of the GNU General Public License
14 ;; along with this program. If not, see <http://www.gnu.org/licenses>
15 Q
16 ;
17LL ;Find labels or strings
18 ;***********************************************************
19 ;*For gtm environs *
20 ;* After driving myself to Van Gogh level insanity trying *
21 ;* to remember line labels in only MY routines, or using *
22 ;* %RSE for string find and getting some several thousand *
23 ;* routine names AND being in a non-connective locale *
24 ;* (idyll fingers, etc, etc...) I finally did this routine *
25 ;* that will only list the targeted item in the routine *
26 ;* set. The immediate benefit: I still have 2 ears. *
27 ;***********************************************************
28 ;
29 Q
30 ;
31X W !?5 F I=1:1:10 W !,$T(LL+I^VWBFPFND)
32 W !
33 Q
34 ;
35C R !,"String: ",MATCH:30
36 I '$L(MATCH) Q
37 E W !?10,"Searching for ",$S(WHAT="L":"LABEL ",1:"STRING "),""""_MATCH_"""" G @WHERE
38 ;
39A G @WHERE
40 ;
41ASK N WHAT,WHERE,ANS,R,X,I,J
42 D X
43A2 K %ZR S ANS=""
44 W !!,"(L)abel only, (S)tring match in routine set?: " R WHAT:30 Q:'$L(WHAT)
45 S WHAT=$E($$UP^XLFSTR(WHAT),1)
46 S WHERE=$S(WHAT="L":"LAB",WHAT="S":"STR",WHAT="H":"HELP",1:"LAB")
47 S ANS="C"
48 S ANS=$E($$UP^XLFSTR(ANS),1)
49A3 D @ANS
50 G A2
51 ;
52LAB D ^%RSEL
53 Q:$D(%ZR)#11 ;No selection array
54 D ^%ZIS U IO
55 S R="" F S R=$O(%ZR(R)) Q:R="" D
56 . S MATCH=$S('$L($G(MATCH)):"",1:MATCH)
57 . F I=1:1 S X=$T(@R+I^@R) Q:X="" S LABEL=$P(X," ") I $L(LABEL) D
58 .. I ANS="A",MATCH="" S %ZR(R,$O(%ZR(R," "),-1)+1)=X Q
59 .. I ANS="C",X[MATCH S %ZR(R,$O(%ZR(R," "),-1)+1)=X Q
60 .. I ANS="E",X=MATCH S %ZR(R,$O(%ZR(R," "),-1)+1)=X Q
61 D WR,^%ZISC
62 Q
63 ;
64STR ;Strings in the code
65 I '$L(MATCH) W !?4,"Dude! No info!" Q
66 D ^%RSEL
67 Q:$D(%ZR)#11 ;No selection array
68 D ^%ZIS U IO
69 S R="" F S R=$O(%ZR(R)) Q:R="" D
70 . F I=1:1 S X=$T(@R+I^@R) Q:X="" D
71 .. F J=1:1:$L(X,MATCH) I X[MATCH S %ZR(R,$O(%ZR(" "),-1)+1)="+"_I_" ->"_X
72 D WR,^%ZISC
73 Q
74 ;
75WR ;Go through %ZR array and only print path/routine name
76 ; target...
77 W !,"Searching for ",MATCH
78 S R="" F S R=$O(%ZR(R)) Q:R="" D:$O(%ZR(R,0))
79 . W !,%ZR(R)_R
80 . S N=0 F S N=$O(%ZR(R,N)) Q:'+N W !?4,%ZR(R,N)
81 Q
82 ;
83 ;fini
Note: See TracBrowser for help on using the repository browser.