Skip to content

Commit 9dbad1f

Browse files
committed
Fix breakpoint issue
1 parent 7ca900a commit 9dbad1f

File tree

3 files changed

+10
-20
lines changed

3 files changed

+10
-20
lines changed

src/main/java/com/tang/intellij/lua/debugger/LuaPsiDebugVariablePositionProvider.kt

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,17 @@ class LuaPsiDebugVariablePositionProvider : LuaDebugVariablePositionProvider {
5050
val document = editor.document
5151
val lineStartOffset = document.getLineStartOffset(sourcePosition.line)
5252
val lineEndOffset = document.getLineEndOffset(sourcePosition.line)
53-
54-
println("LuaPsiDebugVariablePositionProvider: Line offsets: $lineStartOffset - $lineEndOffset")
55-
53+
5654
// Find element at the breakpoint line
5755
val elementAtLine = psiFile.findElementAt(lineStartOffset)
5856
if (elementAtLine == null) {
5957
println("LuaPsiDebugVariablePositionProvider: elementAtLine is null")
6058
return@run
6159
}
62-
63-
println("LuaPsiDebugVariablePositionProvider: Element at line: ${elementAtLine.text}")
64-
60+
6561
// Find the scope boundary (function body or file root)
6662
val scopeElement = findScopeElement(elementAtLine, psiFile)
67-
println("LuaPsiDebugVariablePositionProvider: Scope element: ${scopeElement.javaClass.simpleName}")
68-
63+
6964
// Collect all NameExpr from line start up to the scope boundary
7065
collectNameExprsInScope(scopeElement, lineEndOffset, document, context)
7166
}
@@ -112,9 +107,7 @@ class LuaPsiDebugVariablePositionProvider : LuaDebugVariablePositionProvider {
112107

113108
// Find all ParamNameDef (function parameter definitions) within the scope element
114109
val paramNameDefs = PsiTreeUtil.findChildrenOfType(scopeElement, LuaParamNameDef::class.java)
115-
116-
println("LuaPsiDebugVariablePositionProvider: Found ${nameExprs.size} NameExpr, ${nameDefs.size} NameDef, ${paramNameDefs.size} ParamNameDef in scope")
117-
110+
118111
// Collect all elements with their positions into a single list
119112
data class ElementWithPosition(val name: String, val offset: Int, val textRange: TextRange, val type: String)
120113
val allElements = mutableListOf<ElementWithPosition>()
@@ -166,18 +159,12 @@ class LuaPsiDebugVariablePositionProvider : LuaDebugVariablePositionProvider {
166159

167160
// Sort all elements by their start offset to ensure correct order
168161
allElements.sortBy { it.offset }
169-
170-
println("LuaPsiDebugVariablePositionProvider: Collected ${allElements.size} total elements, sorted by position")
171-
172162
// Add them to context in sorted order
173163
var addedCount = 0
174164
for (element in allElements) {
175-
println("LuaPsiDebugVariablePositionProvider: Adding ${element.type} variable '${element.name}' at ${element.offset}")
176165
context.addVariableRange(element.name, element.textRange)
177166
addedCount++
178167
}
179-
180-
println("LuaPsiDebugVariablePositionProvider: Added $addedCount variables to context")
181168
}
182169

183170
/**

src/main/java/com/tang/intellij/lua/debugger/breakpoint/DebugBreakpointManager.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.intellij.openapi.util.Key
2323
import com.intellij.xdebugger.XDebuggerManager
2424
import com.intellij.xdebugger.XSourcePosition
2525
import com.intellij.xdebugger.breakpoints.XLineBreakpoint
26+
import com.redhat.devtools.lsp4ij.dap.breakpoints.DAPBreakpointType
2627
import com.tang.intellij.lua.debugger.LuaLineBreakpointType
2728
import com.tang.intellij.lua.debugger.model.AddBreakpointRequest
2829
import com.tang.intellij.lua.debugger.model.DebugBreakpoint
@@ -146,7 +147,7 @@ class DebugBreakpointManager(private val project: Project) {
146147
private fun getAllLuaBreakpoints(): Collection<XLineBreakpoint<*>> {
147148
return XDebuggerManager.getInstance(project)
148149
.breakpointManager
149-
.getBreakpoints(LuaLineBreakpointType::class.java)
150+
.getBreakpoints(DAPBreakpointType::class.java)
150151
}
151152

152153
private fun convertToDebugBreakpoint(

src/main/java/com/tang/intellij/lua/debugger/emmy/EmmyDebugProcess.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,11 @@ class EmmyDebugProcess(session: XDebugSession) : LuaDebugProcess(session) {
176176
send(InitRequest(code, extensions))
177177
} else {
178178
logger.error("Emmy helper file not found")
179+
val code = ""
180+
val extensions = LuaFileManager.extensions
181+
send(InitRequest(code, extensions))
179182
}
180-
181-
// Initialize breakpoints
183+
182184
breakpointManager.initializeBreakpoints()
183185

184186
// Send ready signal

0 commit comments

Comments
 (0)