Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.67.x #487

Merged
merged 21 commits into from
Jul 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
8edaaa8
Add Emacs dape package to the Implementations tools (#469)
svaante Feb 28, 2024
0ac2c8e
Add `bytes` and `asAddress` properties to the `DataBreakpointInfo` re…
connor4312 Feb 28, 2024
2595b4c
Update adapters list for Ruby LSP (#471)
andyw8 Mar 11, 2024
de03ae3
Added scala adapter to adapters.md (#395)
iusildra May 26, 2023
266c518
Update OCaml Earlybird implementation data (#423)
sim642 Aug 2, 2023
2428201
Add NAME Debug Adapter (#447)
qwe-q Dec 8, 2023
07175aa
Update adapters.md
sergeysalata Mar 30, 2024
ca625c4
avoid external PRs to github pages (#473)
connor4312 Apr 1, 2024
9261b52
Merge pull request #472 from sergeysalata/gh-pages-update
connor4312 Apr 1, 2024
7cfc2d4
Fix typo in BreakpointModeApplicability
Soarex16 Apr 6, 2024
2e585d2
Merge pull request #474 from Soarex16/patch-1
connor4312 Apr 8, 2024
0771687
chore: fix footer layout
rzhao271 Apr 19, 2024
2dde80d
vertical-align instead of text-align
rzhao271 Apr 19, 2024
003e0f3
Merge pull request #477 from microsoft/rzhao271/fix-footer-spacing
connor4312 Apr 20, 2024
6bbb786
Revert "fix: footer layout"
rzhao271 Apr 22, 2024
e258e00
Merge pull request #478 from microsoft/revert-477-rzhao271/fix-footer…
connor4312 Apr 22, 2024
d04901e
chore: fix footer layout (#479)
rzhao271 Apr 22, 2024
8d08dd8
feat: add a document location to `EvaluateArguments` (#481)
connor4312 Jun 18, 2024
4d425df
feat: add returnValue as a Scope.presentationHint (#484)
connor4312 Jun 28, 2024
0b474d2
fix: remove single-value wording (#485)
connor4312 Jul 1, 2024
701792c
chore: run spec generator with changes
connor4312 Jul 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/branch-policy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Branch Policy

on:
pull_request:
branches:
- gh-pages

jobs:
check_author:
runs-on: ubuntu-latest
steps:
- name: Protected gh-pages
run: |
PR_AUTHOR="${{ github.actor }}"
ALLOWED_AUTHORS=("connor4312" "roblourens")

if [[ " ${ALLOWED_AUTHORS[@]} " =~ " ${PR_AUTHOR} " ]]; then
echo "'${PR_AUTHOR}' is allowed to make PRs to gh-pages"
else
echo "'${PR_AUTHOR}' is not allowed to make PRs to 'gh-pages', please target the 'main' branch instead"
exit 1
fi
5 changes: 3 additions & 2 deletions _implementors/adapters.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ Many adapters publish releases tailored for specific editors, such as VS Code, a
[Node Debug](https://github.com/Microsoft/vscode-node-debug)|[@weinand](https://github.com/weinand)|
[OCaml Earlybird](https://github.com/hackwaly/ocamlearlybird)|[@sim642](https://github.com/sim642)|[VS Code](https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform)
[OneScript Debug](https://github.com/EvilBeaver/OneScript)|[@EvilBeaver](https://github.com/EvilBeaver)|[VS Code](https://marketplace.visualstudio.com/items?itemName=EvilBeaver.oscript-debug)
[OpenQASM](https://github.com/quantag/qasm-adapter-vscode)|[@quantag](https://github.com/quantag)|
[Papyrus](https://github.com/joelday/papyrus-debug-server)|[@joelday](https://github.com/joelday)|[VS Code](https://marketplace.visualstudio.com/items?itemName=joelday.papyrus-lang-vscode)
[Perl Debug](https://github.com/Nihilus118/vscode-perl-debug)|[@Nihilus118](https://github.com/Nihilus118)|[VS Code](https://marketplace.visualstudio.com/items?itemName=Nihilus118.perl-debugger)
[Perl::LanguageServer](https://github.com/richterger/Perl-LanguageServer)|[@richterger](https://github.com/richterger)|[VS Code](https://marketplace.visualstudio.com/items?itemName=richterger.perl)
Expand All @@ -71,7 +72,7 @@ Many adapters publish releases tailored for specific editors, such as VS Code, a
[Python](https://github.com/Microsoft/vscode-python)|[@DonJayamanne](https://github.com/DonJayamanne)|[VS Code](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
[R Debugger](https://github.com/ManuelHentschel/VSCode-R-Debugger)|[@ManuelHentschel](https://github.com/ManuelHentschel)|[VS Code](https://marketplace.visualstudio.com/items?itemName=RDebugger.r-debugger)
[React Native Tools](https://github.com/Microsoft/vscode-react-native/issues)|[@MSLaguana](https://github.com/MSLaguana)|[VS Code](https://marketplace.visualstudio.com/items?itemName=vsmobile.vscode-react-native)
[Ruby](https://github.com/rubyide/vscode-ruby)|[@rebornix](https://github.com/rebornix)|[VS Code](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby)
[Ruby LSP](https://github.com/Shopify/ruby-lsp)|[@Shopify](https://github.com/Shopify)|[VS Code](https://marketplace.visualstudio.com/items?itemName=Shopify.ruby-lsp)
[Ruby Byebug](https://rubygems.org/gems/byebug-dap)|[Ethan Reesor](https://gitlab.com/firelizzard)|
[Ruby Byebug (VSCode)](https://gitlab.com/firelizzard/vscode-byebug)|[Ethan Reesor](https://gitlab.com/firelizzard)|[VS Code](https://marketplace.visualstudio.com/items?itemName=ethan-reesor.vscode-byebug)
[Rust (for embedded)](https://github.com/probe-rs/vscode)|[probe.rs community](https://github.com/probe-rs)|[VS Code](https://probe.rs/docs/tools/vscode/), [Eclipse](https://marketplace.eclipse.org/content/eclipse-corrosion-rust-editing-and-debugging)
Expand All @@ -83,4 +84,4 @@ Many adapters publish releases tailored for specific editors, such as VS Code, a
[VSCode rdbg Ruby Debugger](https://github.com/ruby/vscode-rdbg)|[@ko1](https://github.com/ko1)|[VS Code](https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg)
{: .table .table-bordered .table-responsive}

*If you are missing a debug adapter implementation please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/gh-pages/_implementors/adapters.md)*
*If you are missing a debug adapter implementation please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/main/_implementors/adapters.md)*
2 changes: 1 addition & 1 deletion _implementors/sdks.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ The following table lists the known SDKs or libraries that support the Debug Ada
| A Rust implementation of the Debug Adapter Protocol | Rust | [Tamás Szelei](https://github.com/sztomi) | [sztomi/dap-rs](https://github.com/sztomi/dap-rs)
{: .table .table-bordered .table-responsive}

*If you are missing a SDK please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/gh-pages/_implementors/sdks.md)*
*If you are missing a SDK please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/main/_implementors/sdks.md)*
5 changes: 3 additions & 2 deletions _implementors/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,15 @@ The following table lists the known development tools (IDEs) that implement the
| Visual Studio for Mac | vsformac | Microsoft |
| Eclipse IDE (LSP4E connector) | lsp4e.debug | Eclipse | [Eclipse community](https://projects.eclipse.org/projects/technology.lsp4e/who), [Eclipse LSP4E](https://projects.eclipse.org/projects/technology.lsp4e)
| Emacs | emacs.dap-mode | [@yyoncho](https://github.com/yyoncho) | [dap-mode](https://github.com/yyoncho/dap-mode)
| Emacs | dape | [@svaante](https://github.com/svaante) | [dape](https://github.com/svaante/dape)
| Theia | Theia | Eclipse | [theia](https://github.com/theia-ide/theia/)
| Vim, Neovim | vimspector | [Ben Jackson](https://github.com/puremourning) | [vimspector](https://github.com/puremourning/vimspector), [vim](https://github.com/vim/vim), [neovim](https://github.com/neovim/neovim)
| Neovim | neovim | [@mfussenegger](https://github.com/mfussenegger) | [nvim-dap](https://github.com/mfussenegger/nvim-dap), [neovim](https://github.com/neovim/neovim)
| Cloud Studio | cloudstudio | [CODING](https://studio.dev.tencent.com/)
| Cloud Studio | cloudstudio | [CODING](https://studio.dev.tencent.com/)
| JCIDE | JCIDE | [JavaCardOS](https://www.javacardos.com/) | [JCIDE](https://www.javacardos.com/tools)
| OpenSumi | OpenSumi | [OpenSumi](https://github.com/opensumi) | [opensumi/core](https://github.com/opensumi/core)|
{: .table .table-bordered .table-responsive}

The "client ID" is the identifier that a development tool sends to the debug adapter as part of the [**initialize**](../../specification#Requests_Initialize) request.

*If you are missing a development tool or if you want to register a client ID please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/gh-pages/_implementors/tools.md).*
*If you are missing a development tool or if you want to register a client ID please create a pull request in GitHub against this markdown [document](https://github.com/Microsoft/debug-adapter-protocol/blob/main/_implementors/tools.md).*
12 changes: 6 additions & 6 deletions _includes/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@

<div class="container">
<div class="row">
<div class="col-sm-10">
<div class="col-sm-8">
<ul class="links">
<li>
<span class="message">Hello from Seattle and Zürich.</span>
</li>
<li>
<li class="github-button-container">
<a class="github-button" href="https://github.com/Microsoft/debug-adapter-protocol" data-icon="octicon-star" data-show-count="true" aria-label="Star Microsoft/debug-adapter-protocol on GitHub">Star</a>
</li>
<li>
<li class="github-button-container">
<a class="github-button" href="https://github.com/Microsoft/debug-adapter-protocol/subscription" aria-label="Watch Microsoft/debug-adapter-protocol on GitHub">Watch</a>
</li>
</ul>
</div>
<div class="col-sm-2">
<div class="col-sm-4">
<ul class="links">
<li style="display: none;" >
<li style="visibility: hidden;" >
<a id="footer-cookie-link" style="cursor: pointer; padding-right:20px" onclick="manageConsent()"
aria-label="Manage cookies">Manage cookies</a>
</li>
Expand All @@ -36,7 +36,7 @@
<img src="{{site.baseurl}}/img/microsoft-logo-inverted.png" height="20" alt="Microsoft">
</picture>
</a>
<span>© 2021 Microsoft</span>
<span>© 2024 Microsoft</span>
</div>
</li>
</ul>
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ sectionid: changelog

#### All notable changes to the specification will be documented in this file.

* 1.67.x
* Add `line`, `column`, and `source` location attributions to `EvaluateArguments`
* Add `returnValue` as a well-known `Scope.presentationHint`

* 1.66.x
* Add `bytes` and `asAddress` properties to the `DataBreakpointInfo` request

* 1.65.x
* Clarify handling of multiple filters in the `SetExceptionBreakpoints` request
* Clarify lifetimes of objects created outside of suspended states
Expand Down
6 changes: 5 additions & 1 deletion css/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,10 @@ pre[class=highlight] {
padding: 0;
}

.github-button-container {
vertical-align: middle;
}

.message {
display: inline-block;
padding-right: 10px;
Expand All @@ -395,7 +399,7 @@ pre[class=highlight] {
padding-bottom: 10px;

@media (min-width: 576px) {
display: inline-block;
display: inline-flex;
padding: 0;
}
}
Expand Down
33 changes: 29 additions & 4 deletions debugAdapterProtocol.json
Original file line number Diff line number Diff line change
Expand Up @@ -1458,12 +1458,20 @@
},
"name": {
"type": "string",
"description": "The name of the variable's child to obtain data breakpoint information for.\nIf `variablesReference` isn't specified, this can be an expression."
"description": "The name of the variable's child to obtain data breakpoint information for.\nIf `variablesReference` isn't specified, this can be an expression, or an address if `asAddress` is also true."
},
"frameId": {
"type": "integer",
"description": "When `name` is an expression, evaluate it in the scope of this stack frame. If not specified, the expression is evaluated in the global scope. When `variablesReference` is specified, this property has no effect."
},
"bytes": {
"type": "integer",
"description": "If specified, a debug adapter should return information for the range of memory extending `bytes` number of bytes from the address or variable specified by `name`. Breakpoints set using the resulting data ID should pause on data access anywhere within that range.\n\nClients may set this property only if the `supportsDataBreakpointBytes` capability is true."
},
"asAddress": {
"type": "boolean",
"description": "If `true`, the `name` is a memory address and the debugger should interpret it as a decimal value, or hex value if it is prefixed with `0x`.\n\nClients may set this property only if the `supportsDataBreakpointBytes`\ncapability is true."
},
"mode": {
"type": "string",
"description": "The mode of the desired breakpoint. If defined, this must be one of the `breakpointModes` the debug adapter advertised in its `Capabilities`."
Expand Down Expand Up @@ -2500,6 +2508,18 @@
"type": "integer",
"description": "Evaluate the expression in the scope of this stack frame. If not specified, the expression is evaluated in the global scope."
},
"line": {
"type": "integer",
"description": "The contextual line where the expression should be evaluated. In the 'hover' context, this should be set to the start of the expression being hovered."
},
"column": {
"type": "integer",
"description": "The contextual column where the expression should be evaluated. This may be provided if `line` is also provided.\n\nIt is measured in UTF-16 code units and the client capability `columnsStartAt1` determines whether it is 0- or 1-based."
},
"source": {
"$ref": "#/definitions/Source",
"description": "The contextual source in which the `line` is found. This must be provided if `line` is provided."
},
"context": {
"type": "string",
"_enum": [ "watch", "repl", "hover", "clipboard", "variables" ],
Expand Down Expand Up @@ -3236,6 +3256,10 @@
"type": "boolean",
"description": "The debug adapter supports the `singleThread` property on the execution requests (`continue`, `next`, `stepIn`, `stepOut`, `reverseContinue`, `stepBack`)."
},
"supportsDataBreakpointBytes": {
"type": "boolean",
"description": "The debug adapter supports the `asAddress` and `bytes` fields in the `dataBreakpointInfo` request."
},
"breakpointModes": {
"type": "array",
"items": {
Expand Down Expand Up @@ -3521,11 +3545,12 @@
"presentationHint": {
"type": "string",
"description": "A hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.",
"_enum": [ "arguments", "locals", "registers" ],
"_enum": [ "arguments", "locals", "registers", "returnValue" ],
"enumDescriptions": [
"Scope contains method arguments.",
"Scope contains local variables.",
"Scope contains registers. Only a single `registers` scope should be returned from a `scopes` request."
"Scope contains registers. Only a single `registers` scope should be returned from a `scopes` request.",
"Scope contains one or more return values."
]
},
"variablesReference": {
Expand Down Expand Up @@ -4240,7 +4265,7 @@
"enumDescriptions": [
"In `SourceBreakpoint`s",
"In exception breakpoints applied in the `ExceptionFilterOptions`",
"In data breakpoints requested in the the `DataBreakpointInfo` request",
"In data breakpoints requested in the `DataBreakpointInfo` request",
"In `InstructionBreakpoint`s"
],
"description": "Describes one or more type of breakpoint a `BreakpointMode` applies to. This is a non-exhaustive enumeration and may expand as future breakpoint types are added."
Expand Down
2 changes: 1 addition & 1 deletion js/page.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ $(function() {

const cookieManager = document.querySelector('#footer-cookie-link');
if (consentRequired() && cookieManager && cookieManager.parentElement) {
cookieManager.parentElement.style.display = '';
cookieManager.parentElement.style.visibility = 'visible';
}

// initialize consent
Expand Down
56 changes: 53 additions & 3 deletions specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -1572,7 +1572,8 @@ interface DataBreakpointInfoArguments {

/**
* The name of the variable's child to obtain data breakpoint information for.
* If `variablesReference` isn't specified, this can be an expression.
* If `variablesReference` isn't specified, this can be an expression, or an
* address if `asAddress` is also true.
*/
name: string;

Expand All @@ -1583,6 +1584,26 @@ interface DataBreakpointInfoArguments {
*/
frameId?: number;

/**
* If specified, a debug adapter should return information for the range of
* memory extending `bytes` number of bytes from the address or variable
* specified by `name`. Breakpoints set using the resulting data ID should
* pause on data access anywhere within that range.
*
* Clients may set this property only if the `supportsDataBreakpointBytes`
* capability is true.
*/
bytes?: number;

/**
* If `true`, the `name` is a memory address and the debugger should interpret
* it as a decimal value, or hex value if it is prefixed with `0x`.
*
* Clients may set this property only if the `supportsDataBreakpointBytes`
* capability is true.
*/
asAddress?: boolean;

/**
* The mode of the desired breakpoint. If defined, this must be one of the
* `breakpointModes` the debug adapter advertised in its `Capabilities`.
Expand Down Expand Up @@ -2641,6 +2662,28 @@ interface EvaluateArguments {
*/
frameId?: number;

/**
* The contextual line where the expression should be evaluated. In the
* 'hover' context, this should be set to the start of the expression being
* hovered.
*/
line?: number;

/**
* The contextual column where the expression should be evaluated. This may be
* provided if `line` is also provided.
*
* It is measured in UTF-16 code units and the client capability
* `columnsStartAt1` determines whether it is 0- or 1-based.
*/
column?: number;

/**
* The contextual source in which the `line` is found. This must be provided
* if `line` is provided.
*/
source?: Source;

/**
* The context in which the evaluate request is used.
* Values:
Expand Down Expand Up @@ -3473,6 +3516,12 @@ interface Capabilities {
*/
supportsSingleThreadExecutionRequests?: boolean;

/**
* The debug adapter supports the `asAddress` and `bytes` fields in the
* `dataBreakpointInfo` request.
*/
supportsDataBreakpointBytes?: boolean;

/**
* Modes of breakpoints supported by the debug adapter, such as 'hardware' or
* 'software'. If present, the client may allow the user to select a mode and
Expand Down Expand Up @@ -3874,9 +3923,10 @@ interface Scope {
* 'locals': Scope contains local variables.
* 'registers': Scope contains registers. Only a single `registers` scope
* should be returned from a `scopes` request.
* 'returnValue': Scope contains one or more return values.
* etc.
*/
presentationHint?: 'arguments' | 'locals' | 'registers' | string;
presentationHint?: 'arguments' | 'locals' | 'registers' | 'returnValue' | string;

/**
* The variables of this scope can be retrieved by passing the value of
Expand Down Expand Up @@ -4895,7 +4945,7 @@ Describes one or more type of breakpoint a `BreakpointMode` applies to. This is
Values:
- 'source': In `SourceBreakpoint`s
- 'exception': In exception breakpoints applied in the `ExceptionFilterOptions`
- 'data': In data breakpoints requested in the the `DataBreakpointInfo` request
- 'data': In data breakpoints requested in the `DataBreakpointInfo` request
- 'instruction': In `InstructionBreakpoint`s
etc.

Expand Down