all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Daniel Pettersson <daniel@dpettersson.net>
To: "João Távora" <joaotavora@gmail.com>
Cc: Dmitry Gutov <dmitry@gutov.dev>,
	John Yates <john@yates-sheets.org>,
	 Krister Schuchardt <krister.schuchardt@gmail.com>,
	Adam Porter <adam@alphapapa.net>,
	emacs-devel@gnu.org, philipk@posteo.net
Subject: Re: [ELPA] New package: dape
Date: Wed, 8 Nov 2023 09:31:02 +0100	[thread overview]
Message-ID: <CAM-j=qtYZna3fCfvQnqhbpQ+UfWZWpAhm4YYdnYX=b0Rm6T+Ug@mail.gmail.com> (raw)
In-Reply-To: <CALDnm53MizTswbWaQF1k6jqC1gRAnYBdC5rZ8EJxzygxznGuxw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1857 bytes --]

On Tue, Nov 7, 2023 at 12:47 PM João Távora <joaotavora@gmail.com>
wrote:

> If I understand correctly, reverse requests _are_ supported in JSONRPC.
> Can you give a short example transcript illustrating such a conversation?

Server ->>
{ "type": "request", "seq": 123, "command": "someCommand",
  "arguments": {...}}

Client ->>
{ "type": "response", "request_seq": 123, "command": "someCommand",
  "success": true, "body": {...}}

> Meaning they put non-JSON cruft in the stdout as well?  Not great, but
> not dramatic, I guess  as long as they don't do it in the middle of the
> message right?

If it breaks the json in half it's a them problem but if not it can be
useful for the user to see when getting a debugging configuration to
work.

See attachment.

> OK.  Then in your opinion what is the easiest (and or most representative)
> DAP server to start playing with?  Hopefully some C/C++ one, but feel
> free to suggest another.

The C/C++ ones are well behaved, attached install and dape-configs for
you to able to pick and choose. They are quite quiet though so for
checking performance vscode-js-debug and debugpy are better
options. But start with the C/C++ ones.

Included attachment with install fns and configs for the C/C++
adapters.

> Extract parts of eglot.el into a reusable library, I guess.
>
> But yes, I would be very glad to see DAP dape.el become the DAP
> coutnerpart to LSP eglot.el, with most analogous abstractions
> having analogous interfaces.  Happy to change eglot.el
> significantly to make that happen (backward-compatibility
> permitting, of course).

Super! But maybe that can wait, jsonrpc seams to me like a higher
priority thing.

For the changes in dape.el to accommodate jsonrpc, I think it would be
beneficial to collaborate on a some type of feature branch.

[-- Attachment #2: flutter_startup.stdout --]
[-- Type: application/octet-stream, Size: 26606 bytes --]


[   +2 ms] executing: sw_vers -productName
[   +7 ms] Exit code 0 from: sw_vers -productName
[        ] macOS
[        ] executing: sw_vers -productVersion
[   +6 ms] Exit code 0 from: sw_vers -productVersion
[        ] 11.5.2
[        ] executing: sw_vers -buildVersion
[   +6 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 20G95
[        ] executing: uname -m
[   +1 ms] Exit code 0 from: uname -m
[        ] arm64
[   +1 ms] executing: sysctl hw.optional.arm64
[   +1 ms] Exit code 0 from: sysctl hw.optional.arm64
[        ] hw.optional.arm64: 1
[   +4 ms] Unable to locate an Android SDK.
[  +24 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +14 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
Content-Length: 556
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":1,"type":"response","body":{"exceptionBreakpointFilters":[{"default":false,"filter":"All","label":"All Exceptions"},{"default":true,"filter":"Unhandled","label":"Uncaught Exceptions"}],"supportsClipboardContext":true,"supportsConditionalBreakpoints":true,"supportsConfigurationDoneRequest":true,"supportsDelayedStackTraceLoading":true,"supportsEvaluateForHovers":true,"supportsLogPoints":true,"supportsRestartRequest":false,"supportsTerminateRequest":true,"supportsValueFormattingOptions":true},"command":"initialize","request_seq":1,"success":true}Content-Length: 56
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":2,"type":"event","body":{},"event":"initialized"}Content-Length: 104
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":3,"type":"response","body":{},"command":"setExceptionBreakpoints","request_seq":3,"success":true}Content-Length: 141
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":4,"type":"response","body":{"breakpoints":[{"id":100000,"verified":false}]},"command":"setBreakpoints","request_seq":4,"success":true}Content-Length: 88
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":5,"type":"response","command":"configurationDone","request_seq":5,"success":true}Content-Length: 124
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":6,"type":"event","body":{"message":"Launching…","progressId":"launch_1","title":"Flutter"},"event":"progressStart"}Content-Length: 77
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":7,"type":"response","command":"launch","request_seq":2,"success":true}Content-Length: 103
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":8,"type":"event","body":{"capabilities":{"supportsRestartRequest":true}},"event":"capabilities"}Content-Length: 242
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":9,"type":"event","body":{"appId":"48930844-5782-4859-a980-c4737377432f","deviceId":"macos","directory":"/Users/dpettersson/Workspace/flutter/testapp","supportsRestart":true,"launchMode":"run","mode":"debug"},"event":"flutter.appStart"}Content-Length: 135
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":10,"type":"event","body":{"category":"console","output":"Launching lib/main.dart on macOS in debug mode...\n"},"event":"output"}Content-Length: 354
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":11,"type":"event","body":{"category":"stderr","output":"objc[25178]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x20b037ad8) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1105ec2c8). One of the two will be used. Which one is undefined.\n"},"event":"output"}Content-Length: 343
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":12,"type":"event","body":{"category":"stderr","output":"objc[25178]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x20b037b28) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1105ec318). One of the two will be used. Which one is undefined.\n"},"event":"output"}Content-Length: 83
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":13,"type":"event","body":{"category":"stderr","output":""},"event":"output"}Content-Length: 242
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":14,"type":"event","body":{"category":"stderr","output":"--- xcodebuild: WARNING: Using the first of multiple matching destinations:\n","source":{"name":"---","path":"/Users/dpettersson/Workspace/flutter/testapp/---"}},"event":"output"}Content-Length: 223
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":15,"type":"event","body":{"category":"stderr","output":"{ platform:macOS, arch:arm64, id:00008103-001608A92233001E }\n","source":{"name":"{","path":"/Users/dpettersson/Workspace/flutter/testapp/{"}},"event":"output"}Content-Length: 224
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":16,"type":"event","body":{"category":"stderr","output":"{ platform:macOS, arch:x86_64, id:00008103-001608A92233001E }\n","source":{"name":"{","path":"/Users/dpettersson/Workspace/flutter/testapp/{"}},"event":"output"}Content-Length: 83
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":17,"type":"event","body":{"category":"stderr","output":""},"event":"output"}Content-Length: 80
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":18,"type":"event","body":{"progressId":"launch_1"},"event":"progressEnd"}Content-Length: 129
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":19,"type":"event","body":{"output":"Connecting to VM Service at ws://127.0.0.1:55897/E_sRxkTwblI=/ws\n"},"event":"output"}Content-Length: 116
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":20,"type":"event","body":{"vmServiceUri":"ws://127.0.0.1:55897/E_sRxkTwblI=/ws"},"event":"dart.debuggerUris"}Content-Length: 83
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":21,"type":"event","body":{"reason":"started","threadId":1},"event":"thread"}Content-Length: 64
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":22,"type":"event","body":{},"event":"flutter.appStarted"}Content-Length: 121
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":23,"type":"event","body":{"service":"reloadSources","method":"s0.reloadSources"},"event":"dart.serviceRegistered"}Content-Length: 115
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":24,"type":"event","body":{"service":"hotRestart","method":"s0.hotRestart"},"event":"dart.serviceRegistered"}Content-Length: 123
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":25,"type":"event","body":{"service":"flutterVersion","method":"s0.flutterVersion"},"event":"dart.serviceRegistered"}Content-Length: 129
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":26,"type":"event","body":{"service":"compileExpression","method":"s0.compileExpression"},"event":"dart.serviceRegistered"}Content-Length: 129
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":27,"type":"event","body":{"service":"flutterMemoryInfo","method":"s0.flutterMemoryInfo"},"event":"dart.serviceRegistered"}Content-Length: 123
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":28,"type":"event","body":{"service":"flutterGetSkSL","method":"s0.flutterGetSkSL"},"event":"dart.serviceRegistered"}Content-Length: 145
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":29,"type":"event","body":{"service":"flutterGetIOSBuildOptions","method":"s0.flutterGetIOSBuildOptions"},"event":"dart.serviceRegistered"}Content-Length: 155
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":30,"type":"event","body":{"service":"flutterGetAndroidBuildVariants","method":"s0.flutterGetAndroidBuildVariants"},"event":"dart.serviceRegistered"}Content-Length: 163
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":31,"type":"event","body":{"service":"flutterGetIOSUniversalLinkSettings","method":"s0.flutterGetIOSUniversalLinkSettings"},"event":"dart.serviceRegistered"}Content-Length: 159
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":32,"type":"event","body":{"service":"flutterGetAndroidAppLinkSettings","method":"s0.flutterGetAndroidAppLinkSettings"},"event":"dart.serviceRegistered"}Content-Length: 128
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":33,"type":"event","body":{"breakpoint":{"id":100000,"line":27,"verified":false},"reason":"changed"},"event":"breakpoint"}Content-Length: 151
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":34,"type":"event","body":{"extensionRPC":"ext.flutter.reassemble","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 145
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":35,"type":"event","body":{"extensionRPC":"ext.flutter.exit","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 162
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":36,"type":"event","body":{"extensionRPC":"ext.flutter.connectedVmServiceUri","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 168
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":37,"type":"event","body":{"extensionRPC":"ext.flutter.activeDevToolsServerAddress","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 157
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":38,"type":"event","body":{"extensionRPC":"ext.flutter.platformOverride","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 159
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":39,"type":"event","body":{"extensionRPC":"ext.flutter.brightnessOverride","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 153
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":40,"type":"event","body":{"extensionRPC":"ext.flutter.timeDilation","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 146
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":41,"type":"event","body":{"extensionRPC":"ext.flutter.evict","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 162
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":42,"type":"event","body":{"extensionRPC":"ext.flutter.invertOversizedImages","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 151
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":43,"type":"event","body":{"extensionRPC":"ext.flutter.debugPaint","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":44,"type":"event","body":{"extensionRPC":"ext.flutter.debugPaintBaselinesEnabled","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 155
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":45,"type":"event","body":{"extensionRPC":"ext.flutter.repaintRainbow","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 159
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":46,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpLayerTree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 163
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":47,"type":"event","body":{"extensionRPC":"ext.flutter.debugDisableClipLayers","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 172
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":48,"type":"event","body":{"extensionRPC":"ext.flutter.debugDisablePhysicalShapeLayers","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 166
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":49,"type":"event","body":{"extensionRPC":"ext.flutter.debugDisableOpacityLayers","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 160
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":50,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpRenderTree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 179
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":51,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpSemanticsTreeInTraversalOrder","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 184
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":52,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpSemanticsTreeInInverseHitTestOrder","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 166
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":53,"type":"event","body":{"extensionRPC":"ext.flutter.profileRenderObjectPaints","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":54,"type":"event","body":{"extensionRPC":"ext.flutter.profileRenderObjectLayouts","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 153
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":55,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpApp","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 159
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":56,"type":"event","body":{"extensionRPC":"ext.flutter.debugDumpFocusTree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 163
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":57,"type":"event","body":{"extensionRPC":"ext.flutter.showPerformanceOverlay","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 163
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":58,"type":"event","body":{"extensionRPC":"ext.flutter.didSendFirstFrameEvent","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 173
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":59,"type":"event","body":{"extensionRPC":"ext.flutter.didSendFirstFrameRasterizedEvent","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 155
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":60,"type":"event","body":{"extensionRPC":"ext.flutter.fastReassemble","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 160
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":61,"type":"event","body":{"extensionRPC":"ext.flutter.profileWidgetBuilds","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 164
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":62,"type":"event","body":{"extensionRPC":"ext.flutter.profileUserWidgetBuilds","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 157
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":63,"type":"event","body":{"extensionRPC":"ext.flutter.debugAllowBanner","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":64,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.structuredErrors","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 155
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":65,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.show","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 175
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":66,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.trackRebuildDirtyWidgets","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 170
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":67,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.trackRepaintWidgets","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":68,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.disposeAllGroups","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 163
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":69,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.disposeGroup","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 168
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":70,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.isWidgetTreeReady","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 160
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":71,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.disposeId","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 172
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":72,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.setPubRootDirectories","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 172
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":73,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.addPubRootDirectories","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 175
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":74,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.removePubRootDirectories","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 172
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":75,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getPubRootDirectories","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":76,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.setSelectionById","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 165
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":77,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getParentChain","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 164
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":78,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getProperties","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 162
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":79,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getChildren","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 173
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":80,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getChildrenSummaryTree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 176
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":81,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getChildrenDetailsSubtree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 164
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":82,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getRootWidget","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 175
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":83,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getRootWidgetSummaryTree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 187
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":84,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getRootWidgetSummaryTreeWithPreviews","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 168
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":85,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getDetailsSubtree","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 168
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":86,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getSelectedWidget","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 175
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":87,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getSelectedSummaryWidget","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 174
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":88,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.isWidgetCreationTracked","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 161
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":89,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.screenshot","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 172
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":90,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.getLayoutExplorerNode","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 161
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":91,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.setFlexFit","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 164
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":92,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.setFlexFactor","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 168
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":93,"type":"event","body":{"extensionRPC":"ext.flutter.inspector.setFlexProperties","isolateId":"isolates/4275925240961007"},"event":"dart.serviceExtensionAdded"}Content-Length: 167
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":94,"type":"event","body":{"extension":"ext.flutter.activeDevToolsServerAddress","value":"http://127.0.0.1:9100"},"event":"flutter.serviceExtensionStateChanged"}Content-Length: 176
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"seq":95,"type":"event","body":{"extension":"ext.flutter.connectedVmServiceUri","value":"http://127.0.0.1:55897/E_sRxkTwblI=/"},"event":"flutter.serviceExtensionStateChanged"}

[-- Attachment #3: c-c++-dape-configs.el --]
[-- Type: application/octet-stream, Size: 3590 bytes --]

(require 'dape)
(require 'dired-aux)
(require 'seq)

(setq dape-configs-port 6667)

(setq dape-configs-adapter-dir
      (file-name-as-directory (concat user-emacs-directory "dape-debuggers")))

(setq dape-configs-codelldb-version "v1.10.0")
(setq dape-configs-cppdbg-version "v1.17.5")

(defun dape-configs--ensure-dir ()
  (unless (file-directory-p dape-configs-adapter-dir)
    (make-directory dape-configs-adapter-dir)))

(defun dape-configs--download (url &optional filename)
  (dape-configs--ensure-dir)
  (let ((file-name (or filename (car (last (split-string url "/")))))
        (default-directory dape-configs-adapter-dir))
    (url-copy-file url file-name t)
    (dired-compress-file file-name)
    (delete-file file-name)))

(defun dape-configs-download-codelldb ()
  "Download codelldb."
  (interactive)
  (let ((system
         (pcase system-type
           ('darwin "darwin")
           ('gnu/linux "linux")
           ('windows-nt "windows")
           (_ (user-error "Unknow platform"))))
        (processor (car (split-string system-configuration "-"))))
    (dape-configs--download
     (format
      "https://github.com/vadimcn/codelldb/releases/download/%s/codelldb-%s-%s.vsix"
      dape-configs-codelldb-version processor system)
     "codelldb.zip")))

(defun dape-configs-download-cppdbg (platform)
  "Download cppdbg for platform."
  (interactive
   (list
    (completing-read "System: "
                     '("alpine-aarch64" "alpine" "linux-aarch64"
                       "linux-armhf" "linux" "osx-arm64" "osx"
                       "win-arm64" "win32" "win64")
                     nil t)))
  (dape-configs--download
     (format
      "https://github.com/microsoft/vscode-cpptools/releases/download/%s/cpptools-%s.vsix"
      dape-configs-cppdbg-version platform)
     "cpptools.zip")
  (let ((debug-adapters-folder
         (concat dape-configs-adapter-dir
                 (file-name-as-directory "cpptools")
                 (file-name-as-directory "extension")
                 (file-name-as-directory "debugAdapters"))))
    (chmod (concat debug-adapters-folder
                   (file-name-as-directory "bin")
                   "OpenDebugAD7")
           #o755)
    (when (string-match-p "^osx" platform)
      (chmod (concat debug-adapters-folder
                     (file-name-as-directory "lldb-mi")
                     (file-name-as-directory "bin")
                     "lldb-mi")
             #o755))))

(setq dape-configs
      `((cppdbg
         modes (c-mode c-ts-mode c++-mode c++-ts-mode)
         command ,(concat dape-configs-adapter-dir
                          (file-name-as-directory "cpptools")
                          (file-name-as-directory "extension")
                          (file-name-as-directory "debugAdapters")
                          (file-name-as-directory "bin")
                          "OpenDebugAD7")
         :type "cppdbg"
         :request "launch"
         :cwd dape-cwd-fn
         :program dape-find-file
         :MIMode ,(seq-find 'executable-find '("lldb" "gdb")))
        (codelldb
         modes (c-mode c-ts-mode c++-mode c++-ts-mode)
         command ,(concat dape-configs-adapter-dir
                          (file-name-as-directory "codelldb")
                          (file-name-as-directory "extension")
                          (file-name-as-directory "adapter")
                          "codelldb")
         command-args ("--port" ,(format "%d" dape-configs-port))
         port ,dape-configs-port
         :type "lldb"
         :cwd dape-cwd-fn
         :program dape-find-file)))

  reply	other threads:[~2023-11-08  8:31 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-13 10:35 [ELPA] New package: dape Daniel Pettersson
2023-10-13 12:24 ` Philip Kaludercic
2023-10-14 12:28   ` Daniel Pettersson
2023-10-14 14:54     ` Philip Kaludercic
2023-10-15 13:50       ` James Thomas
2023-10-15 14:12         ` Philip Kaludercic
2023-10-15 17:24           ` John Yates
2023-10-18 21:54       ` Daniel Pettersson
2023-10-19  2:08         ` Adam Porter
2023-10-19 10:52           ` Krister Schuchardt
2023-10-19 11:06             ` Dmitry Gutov
2023-10-20 14:53               ` John Yates
2023-11-01 19:13                 ` Dmitry Gutov
2023-11-02 14:42                   ` João Távora
2023-11-04  9:51                     ` Daniel Pettersson
2023-11-04 10:00                       ` Philip Kaludercic
2023-11-23  6:10                         ` Philip Kaludercic
2023-12-05  8:41                           ` Philip Kaludercic
2023-12-05  9:18                             ` João Távora
2023-12-05 10:59                               ` Philip Kaludercic
2023-12-05 11:29                                 ` João Távora
2023-12-06  3:57                                   ` Richard Stallman
2023-12-06 10:09                                   ` Daniel Pettersson
2023-12-06 12:30                                     ` Eli Zaretskii
2023-12-06 12:56                                       ` João Távora
2023-12-06 13:08                                         ` Eli Zaretskii
2023-12-06 13:38                                           ` João Távora
2023-12-06 17:00                                             ` Eli Zaretskii
2023-12-06 23:03                                               ` João Távora
2023-12-06 23:55                                               ` Daniel Pettersson
2023-12-07  7:13                                                 ` Eli Zaretskii
2023-11-04 13:46                       ` Adam Porter
2023-11-04 14:01                         ` Eli Zaretskii
2023-11-04 14:24                           ` Philip Kaludercic
2023-11-04 15:06                             ` Adam Porter
2023-11-04 15:27                               ` Philip Kaludercic
2023-11-04 14:53                           ` Adam Porter
2023-11-04 15:14                             ` Eli Zaretskii
2023-11-04 19:15                               ` Adam Porter
2023-11-04 23:21                       ` João Távora
2023-11-07 10:19                         ` Daniel Pettersson
2023-11-07 10:40                           ` João Távora
2023-11-08  8:31                             ` Daniel Pettersson [this message]
2023-10-19 15:12         ` Philip Kaludercic
2023-10-19 17:50         ` Björn Bidar
2023-11-01 16:50         ` Philip Kaludercic
2023-10-15 13:55 ` Mauro Aranda
2023-10-17 20:39   ` Daniel Pettersson
2023-10-20  5:49 ` Milan Glacier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAM-j=qtYZna3fCfvQnqhbpQ+UfWZWpAhm4YYdnYX=b0Rm6T+Ug@mail.gmail.com' \
    --to=daniel@dpettersson.net \
    --cc=adam@alphapapa.net \
    --cc=dmitry@gutov.dev \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    --cc=john@yates-sheets.org \
    --cc=krister.schuchardt@gmail.com \
    --cc=philipk@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.