@@ -120,6 +120,21 @@ Required to support 'Inspect Widget'."
120120 " npm" " install" " --prefix" (f-join lsp-dart-dap-debugger-path " extension" )
121121 " --no-package-lock" " --silent" " --no-save" ))
122122
123+ (defun lsp-dart-dap--base-debugger-args (conf )
124+ " Return the base args for debugging merged with CONF."
125+ (-> conf
126+ (dap--put-if-absent :request " launch" )
127+ (dap--put-if-absent :dartPath (lsp-dart-project-dart-command))
128+ (dap--put-if-absent :cwd (lsp-dart-project-get-root))
129+ (dap--put-if-absent :pubPath (lsp-dart-project-pub-command))
130+ (dap--put-if-absent :pubSnapshotPath (lsp-dart-project-pub-snapshot-command))
131+ (dap--put-if-absent :vmAdditionalArgs lsp-dart-dap-vm-additional-args)
132+ (dap--put-if-absent :debugExternalLibraries lsp-dart-dap-debug-external-libraries)
133+ (dap--put-if-absent :debugSdkLibraries lsp-dart-dap-debug-sdk-libraries)
134+ (dap--put-if-absent :flutterPath (lsp-dart-project-get-flutter-path))
135+ (dap--put-if-absent :flutterTrackWidgetCreation lsp-dart-dap-flutter-track-widget-creation)
136+ (dap--put-if-absent :useFlutterStructuredErrors lsp-dart-dap-flutter-structured-errors)))
137+
123138; ; Dart
124139
125140(dap-utils-github-extension-setup-function
@@ -133,40 +148,26 @@ Required to support 'Inspect Widget'."
133148(defun lsp-dart-dap--populate-dart-start-file-args (conf )
134149 " Populate CONF with the required arguments for dart debug."
135150 (-> conf
151+ lsp-dart-dap--base-debugger-args
136152 (dap--put-if-absent :type " dart" )
137153 (dap--put-if-absent :name " Dart" )
138- (dap--put-if-absent :request " launch" )
139154 (dap--put-if-absent :dap-server-path lsp-dart-dap-dart-debugger-program)
140- (dap--put-if-absent :cwd (lsp-dart-project-get-root))
141- (dap--put-if-absent :program (buffer-file-name ))
142- (dap--put-if-absent :dartPath (lsp-dart-project-dart-command))
143- (dap--put-if-absent :pubPath (lsp-dart-project-get-pub-command))
144- (dap--put-if-absent :pubSnapshotPath (lsp-dart-project-pub-snapshot-command))
145- (dap--put-if-absent :vmAdditionalArgs lsp-dart-dap-vm-additional-args)
146- (dap--put-if-absent :debugExternalLibraries lsp-dart-dap-debug-external-libraries)
147- (dap--put-if-absent :debugSdkLibraries lsp-dart-dap-debug-sdk-libraries)))
155+ (dap--put-if-absent :program (buffer-file-name ))))
148156
149157(dap-register-debug-provider " dart" 'lsp-dart-dap--populate-dart-start-file-args )
150158(dap-register-debug-template " Dart :: Debug"
151159 (list :type " dart" ))
152160
153161(defun lsp-dart-dap-debug-dart-test (path args )
154162 " Start dart test debugging from PATH with ARGS."
155- (-> (list :name " Tests"
156- :type " dart"
157- :request " launch"
163+ (-> (list :type " dart"
164+ :name " Dart Tests"
158165 :dap-server-path lsp-dart-dap-dart-test-debugger-program
166+ :program path
159167 :noDebug nil
160168 :shouldConnectDebugger t
161- :cwd (lsp-dart-project-get-root)
162- :dartPath (lsp-dart-project-dart-command)
163- :pubPath (lsp-dart-project-get-pub-command)
164- :pubSnapshotPath (lsp-dart-project-pub-snapshot-command)
165- :vmAdditionalArgs lsp-dart-dap-vm-additional-args
166- :debugExternalLibraries lsp-dart-dap-debug-external-libraries
167- :debugSdkLibraries lsp-dart-dap-debug-sdk-libraries
168- :program path
169169 :args args)
170+ lsp-dart-dap--base-debugger-args
170171 dap-start-debugging))
171172
172173; ; Flutter
@@ -201,26 +202,18 @@ Call CALLBACK when the device is chosen and started successfully."
201202(defun lsp-dart-dap--populate-flutter-start-file-args (conf )
202203 " Populate CONF with the required arguments for Flutter debug."
203204 (let ((pre-conf (-> conf
205+ lsp-dart-dap--base-debugger-args
204206 (dap--put-if-absent :type " flutter" )
205- (dap--put-if-absent :request " launch" )
206207 (dap--put-if-absent :flutterMode " debug" )
207208 (dap--put-if-absent :dap-server-path lsp-dart-dap-flutter-debugger-program)
208- (dap--put-if-absent :cwd (lsp-dart-project-get-root))
209- (dap--put-if-absent :program (lsp-dart-project-get-entrypoint))
210- (dap--put-if-absent :dartPath (lsp-dart-project-dart-command))
211- (dap--put-if-absent :flutterPath (lsp-dart-project-get-flutter-path))
212- (dap--put-if-absent :flutterTrackWidgetCreation lsp-dart-dap-flutter-track-widget-creation)
213- (dap--put-if-absent :useFlutterStructuredErrors lsp-dart-dap-flutter-structured-errors)
214- (dap--put-if-absent :debugExternalLibraries lsp-dart-dap-debug-external-libraries)
215- (dap--put-if-absent :debugSdkLibraries lsp-dart-dap-debug-sdk-libraries))))
209+ (dap--put-if-absent :program (lsp-dart-project-get-entrypoint)))))
216210 (lambda (start-debugging-callback )
217211 (lsp-dart-dap--flutter-get-or-create-device
218212 (-lambda ((&hash " id" device-id " name" device-name))
219213 (funcall start-debugging-callback
220214 (-> pre-conf
221215 (dap--put-if-absent :deviceId device-id)
222216 (dap--put-if-absent :deviceName device-name)
223- (dap--put-if-absent :vmAdditionalArgs lsp-dart-dap-vm-additional-args)
224217 (dap--put-if-absent :flutterPlatform " default" )
225218 (dap--put-if-absent :name (concat " Flutter (" device-name " )" )))))))))
226219
@@ -304,23 +297,15 @@ Call CALLBACK when the device is chosen and started successfully."
304297
305298(defun lsp-dart-dap-debug-flutter-test (path args )
306299 " Start dart test debugging from PATH with ARGS."
307- (-> (list :name " Tests"
300+ (-> (list :name " Flutter Tests"
308301 :type " flutter"
309- :request " launch"
310302 :dap-server-path lsp-dart-dap-flutter-test-debugger-program
303+ :program path
311304 :noDebug nil
312305 :shouldConnectDebugger t
313- :cwd (lsp-dart-project-get-root)
314- :dartPath (lsp-dart-project-dart-command)
315- :pubPath (lsp-dart-project-get-pub-command)
316- :pubSnapshotPath (lsp-dart-project-pub-snapshot-command)
317- :flutterPath (lsp-dart-project-get-flutter-path)
318306 :flutterMode " debug"
319- :vmAdditionalArgs lsp-dart-dap-vm-additional-args
320- :debugExternalLibraries lsp-dart-dap-debug-external-libraries
321- :debugSdkLibraries lsp-dart-dap-debug-sdk-libraries
322- :program path
323307 :args args)
308+ lsp-dart-dap--base-debugger-args
324309 dap-start-debugging))
325310
326311;;;### autoload
0 commit comments