@@ -50,19 +50,20 @@ export const DebugSpanStackProviderLive = treeDataProvider<TreeNode>("effect-deb
5050 "ignoreList" ,
5151 [ ]
5252 )
53- let skipIgnoreList = false
5453 yield * ignoreList . changes . pipe ( Stream . mapEffect ( ( ) => refresh ( Option . none ( ) ) ) , Stream . runDrain , Effect . forkScoped )
5554
56- const setSkipIgnoreList = ( skip : boolean ) => {
57- skipIgnoreList = skip
55+ let ignoreListEnabled = true
56+ const setIgnoreListEnabled = ( enabled : boolean ) => {
57+ ignoreListEnabled = enabled
5858 return refresh ( Option . none ( ) ) . pipe (
59- Effect . zipRight ( executeCommand ( "setContext" , "effect:skipSpanStackIgnoreList " , skip ) )
59+ Effect . zipRight ( executeCommand ( "setContext" , "effect:spanStackIgnoreListEnabled " , enabled ) )
6060 )
6161 }
62+ yield * setIgnoreListEnabled ( true )
6263
6364 const visibleNodes = Effect . gen ( function * ( ) {
6465 const ignoreListValue = yield * ignoreList . get
65- if ( skipIgnoreList || ignoreListValue . length === 0 ) return nodes
66+ if ( ! ignoreListEnabled || ignoreListValue . length === 0 ) return nodes
6667 const result = [ ]
6768 for ( const node of nodes ) {
6869 if ( node . _tag === "SpanNode" ) {
@@ -80,8 +81,8 @@ export const DebugSpanStackProviderLive = treeDataProvider<TreeNode>("effect-deb
8081 } ) . pipe ( Effect . asSome )
8182
8283 // allows to toggle ignore list
83- yield * registerCommand ( "effect.enableSpanStackIgnoreList" , ( ) => setSkipIgnoreList ( true ) )
84- yield * registerCommand ( "effect.disableSpanStackIgnoreList" , ( ) => setSkipIgnoreList ( false ) )
84+ yield * registerCommand ( "effect.enableSpanStackIgnoreList" , ( ) => setIgnoreListEnabled ( true ) )
85+ yield * registerCommand ( "effect.disableSpanStackIgnoreList" , ( ) => setIgnoreListEnabled ( false ) )
8586
8687 // jump to span location
8788 yield * registerCommand ( "effect.revealSpanLocation" , ( node : TreeNode ) => {
@@ -95,27 +96,25 @@ export const DebugSpanStackProviderLive = treeDataProvider<TreeNode>("effect-deb
9596 } )
9697
9798 const capture = ( threadId ?: number ) =>
98- Effect . gen ( function * ( _ ) {
99- const sessionOption = yield * _ ( SubscriptionRef . get ( debug . session ) )
99+ Effect . gen ( function * ( ) {
100+ const sessionOption = yield * ( SubscriptionRef . get ( debug . session ) )
100101 if ( Option . isNone ( sessionOption ) ) {
101102 nodes = [ ]
102103 } else {
103104 const session = sessionOption . value
104- const pairs = yield * _ ( session . currentSpanStack ( threadId ) )
105+ const pairs = yield * ( session . currentSpanStack ( threadId ) )
105106 nodes = pairs . map ( ( _ ) => new SpanNode ( _ ) )
106107 }
107- yield * _ ( refresh ( Option . none ( ) ) )
108+ yield * ( refresh ( Option . none ( ) ) )
108109 } )
109110
110- yield * Stream . fromPubSub ( debug . messages ) . pipe (
111+ yield * Stream . fromPubSub ( debug . events ) . pipe (
111112 Stream . mapEffect ( ( event ) => {
112- if ( event . type !== "event" ) return Effect . void
113-
114- switch ( event . event ) {
115- case "stopped" : {
116- return Effect . delay ( capture ( event . body ?. threadId ) , 500 )
113+ switch ( event . _tag ) {
114+ case "DebuggerThreadStopped" : {
115+ return Effect . delay ( capture ( event . threadId ) , 500 )
117116 }
118- case "continued " : {
117+ case "DebuggerThreadContinued " : {
119118 nodes = [ ]
120119 return refresh ( Option . none ( ) )
121120 }
0 commit comments