Cache for Windows^INT^Search for a MUMPS pattern in routines^~Format=Cache.S~ %RO on 17 Oct 2011 12:26 PM SISFINDR^INT^1^62012,41299^0 SISFINDR ;IOP/LM - Sea Island Systems Utilities - August 20, 2005 ;;1.0 ; Q TAGS(SISFLGS) ;[Public] Display labelled routine lines ; ;SISFLGS=[Optional] Control flags ; 1=Omit first line (usually routine name) ; 2=Display tag and tag+1 lines ; Q:'$D(^%ZOSF("RSEL")) S SISFLGS=$G(SISFLGS) X ^%ZOSF("RSEL") N SISRTN S SISRTN=0 F S SISRTN=$O(^UTILITY($J,SISRTN)) Q:SISRTN="" D 1 K ^UTILITY($J) Q 1 ;[Private] Display labelled routine lines (one routine) ; Called by TAGS ; W !,"Routine ",SISRTN,! N A,I,X S:SISFLGS[2 A=0 F I=$S(SISFLGS[1:2,1:1):1 S X=$T(@("+"_I_"^"_SISRTN)) Q:'$L(X) D .Q:$C(9,32)[$E(X)&'$G(A) ;Not a tagged line or tagged+1 line .W !,X I $D(A) W:A ! S A='A .E W ! .Q Q RSEP ;[Public] Routine search for PATTERN ; Interactive utility asks routines to search and pattern to match ; Q:'$D(^%ZOSF("RSEL")) S SISFLGS=$G(SISFLGS) X ^%ZOSF("RSEL") N SISPAT S SISPAT=$$GETPAT() Q:'$L(SISPAT) N SISRTN S SISRTN=0 F S SISRTN=$O(^UTILITY($J,SISRTN)) Q:SISRTN="" D 2 K ^UTILITY($J) Q GETPAT() ;[Private] - Get pattern N DIR,DIRUT,SISPAT,X,Y S DIR(0)="F^1:245",DIR("A")="Enter right-part of pattern match X?" D ^DIR Q:$D(DIRUT) "" S SISPAT=Y,X="I X?"_SISPAT D ^DIM I '$D(X) W !,"'"_SISPAT_"' is not a valid pattern." Q "" Q SISPAT ; 2 ;[Private] - Continuation of RSEP ; Assumes routine name in variable SISRTN ; and pattern in variable SISPAT. ; I $L($G(SISRTN)),$L($G(SISPAT)) E Q N I,R,X S R=0 F I=0:1 S X=$T(@("+"_I_U_SISRTN)) Q:X="" D .I @("X?"_SISPAT) D ..I 'R S R=1 W !!?$G(IOM,80)-$L(SISRTN)\2,SISRTN,!,$TR($J("",80)," ","-"),! ..W !,"+"_I_U_SISRTN,!,X ..Q .Q Q REGX(SISPAT) ;[Public] Convert M pattern to regular expression ;SISPAT=[Required] M pattern match ; ;Returns equivalent regular expression ; Q "" ;Placeholder ;