nebius/SWE-rebench-V2-PRs huggingface dataset:
Repository: mitsuhiko/minijinja
Pull request #72 (2022-08-19 16:38:05)

Add `.`, `-`, and `_` to set of unescaped characters in `urlencode`
I ran `make test` and then `cargo insta review` to verify the changes. I'm not sure if there's anything else that's required. (See below for a note on a line that changed and I'm unsure why.)

lucky: @mitsuhiko I believe this is ready for review. I'm also interested in creating a PR for the README to add a section on how to develop for this repository. Any feedback here is helpful, thanks!

Patch:
diff --git a/minijinja/src/filters.rs b/minijinja/src/filters.rs
index 1d600f9..d8d93cc 100644
--- a/minijinja/src/filters.rs
+++ b/minijinja/src/filters.rs
@@ -688,8 +688,12 @@ mod builtins {
     #[cfg_attr(docsrs, doc(cfg(all(feature = "builtins", feature = "urlencode"))))]
     #[cfg(feature = "urlencode")]
     pub fn urlencode(_: &State, value: Value) -> Result<String, Error> {
-        const SET: &percent_encoding::AsciiSet =
-            &percent_encoding::NON_ALPHANUMERIC.remove(b'/').add(b' ');
+        const SET: &percent_encoding::AsciiSet = &percent_encoding::NON_ALPHANUMERIC
+            .remove(b'/')
+            .remove(b'.')
+            .remove(b'-')
+            .remove(b'_')
+            .add(b' ');
         match &value.0 {
             ValueRepr::None | ValueRepr::Undefined => Ok("".into()),
             ValueRepr::Bytes(b) => Ok(percent_encoding::percent_encode(b, SET).to_string()),


Test patch:
diff --git a/minijinja/tests/inputs/filters.txt b/minijinja/tests/inputs/filters.txt
index 422262f..4593fed 100644
--- a/minijinja/tests/inputs/filters.txt
+++ b/minijinja/tests/inputs/filters.txt
@@ -47,7 +47,7 @@ d: {{ undefined|d == "" }}
 json: {{ map|tojson }}
 json-pretty: {{ map|tojson(true) }}
 json-scary-html: {{ scary_html|tojson }}
-urlencode: {{ "hello world/baz"|urlencode }}
+urlencode: {{ "hello world/foo-bar_baz.txt"|urlencode }}
 urlencode-kv: {{ dict(a="x y", b=2, c=3)|urlencode }}
 batch: {{ range(10)|batch(3) }}
 batch-fill: {{ range(10)|batch(3, '-') }}
diff --git a/minijinja/tests/snapshots/test_templates__vm@filters.txt.snap b/minijinja/tests/snapshots/test_templates__vm@filters.txt.snap
index 54b430a..dc03542 100644
--- a/minijinja/tests/snapshots/test_templates__vm@filters.txt.snap
+++ b/minijinja/tests/snapshots/test_templates__vm@filters.txt.snap
@@ -1,9 +1,7 @@
 ---
 source: minijinja/tests/test_templates.rs
-assertion_line: 44
 expression: "&rendered"
 input_file: minijinja/tests/inputs/filters.txt
-
 ---
 lower: bird
 upper: BIRD
@@ -49,7 +47,7 @@ json-pretty: {
   "c": "d"
 }
 json-scary-html: "\u003c\u003e\u0026\u0027"
-urlencode: hello%20world/baz
+urlencode: hello%20world/foo-bar_baz.txt
 urlencode-kv: a=x%20y&b=2&c=3
 batch: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
 batch-fill: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, "-", "-"]]
Repository: rust-lang/rust-analyzer
Pull request #12409 (2022-05-29 07:47:42)

fix overflow during type inference for tuple struct patterns
The following code causes integer overflow during type inference for (malformed) tuple struct patterns.

```rust
struct S(usize);
let S(.., a, b) = S(1);
```

It has been panicking only in debug builds, and working in a way in release builds but it was inconsistent with type inference for tuple patterns:

```rust
struct S(usize);
let S(.., a, b) = S(1); // a -> unknown, b -> usize
let (.., a, b) = (1,);  // a -> usize, b -> unknown
```

With this PR, the overflow no longer happens by utilizing `saturating_sub()` like in other places and type inference for tuple struct patterns is in line with that for tuple patterns.


Patch:
diff --git a/crates/hir-ty/src/infer/pat.rs b/crates/hir-ty/src/infer/pat.rs
index dbce0f7cd4..c06d262f5e 100644
--- a/crates/hir-ty/src/infer/pat.rs
+++ b/crates/hir-ty/src/infer/pat.rs
@@ -42,7 +42,7 @@ impl<'a> InferenceContext<'a> {
             Some(idx) => subpats.split_at(idx),
             None => (subpats, &[][..]),
         };
-        let post_idx_offset = field_tys.iter().count() - post.len();
+        let post_idx_offset = field_tys.iter().count().saturating_sub(post.len());
 
         let pre_iter = pre.iter().enumerate();
         let post_iter = (post_idx_offset..).zip(post.iter());


Test patch:
diff --git a/crates/hir-ty/src/tests/regression.rs b/crates/hir-ty/src/tests/regression.rs
index ef27667ffa..93f765f703 100644
--- a/crates/hir-ty/src/tests/regression.rs
+++ b/crates/hir-ty/src/tests/regression.rs
@@ -1620,3 +1620,30 @@ pub trait Destruct {}
 "#,
     );
 }
+
+#[test]
+fn tuple_struct_pattern_with_unmatched_args_crash() {
+    check_infer(
+        r#"
+struct S(usize);
+fn main() {
+    let S(.., a, b) = S(1);
+    let (.., a, b) = (1,);
+}
+        "#,
+        expect![[r#"
+        27..85 '{     ...1,); }': ()
+        37..48 'S(.., a, b)': S
+        43..44 'a': usize
+        46..47 'b': {unknown}
+        51..52 'S': S(usize) -> S
+        51..55 'S(1)': S
+        53..54 '1': usize
+        65..75 '(.., a, b)': (i32, {unknown})
+        70..71 'a': i32
+        73..74 'b': {unknown}
+        78..82 '(1,)': (i32,)
+        79..80 '1': i32
+        "#]],
+    );
+}
Repository: rust-lang/rust-analyzer
Pull request #12425 (2022-05-31 04:44:34)

fix: float display impl
should solve #12414 


Patch:
diff --git a/crates/hir-def/src/expr.rs b/crates/hir-def/src/expr.rs
index 97681abab1..bc06085894 100644
--- a/crates/hir-def/src/expr.rs
+++ b/crates/hir-def/src/expr.rs
@@ -52,7 +52,7 @@ impl FloatTypeWrapper {
 
 impl std::fmt::Display for FloatTypeWrapper {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        write!(f, "{}", f64::from_bits(self.0))
+        write!(f, "{:?}", f64::from_bits(self.0))
     }
 }
 


Test patch:
diff --git a/crates/ide/src/hover/tests.rs b/crates/ide/src/hover/tests.rs
index 07f224da66..c95a0e4005 100644
--- a/crates/ide/src/hover/tests.rs
+++ b/crates/ide/src/hover/tests.rs
@@ -3634,7 +3634,7 @@ const FOO$0: f32 = 1f32;
             ```
 
             ```rust
-            const FOO: f32 = 1
+            const FOO: f32 = 1.0
             ```
 
             ---
@@ -3656,7 +3656,7 @@ const FOO$0: f64 = 1.0f64;
             ```
 
             ```rust
-            const FOO: f64 = 1
+            const FOO: f64 = 1.0
             ```
 
             ---
Repository: rust-lang/rust-analyzer
Pull request #12545 (2022-06-15 19:55:03)

fix: inserted imports must come after a shebang if present
The current `insert_use` logic adds the first `use` item near the beginning of the file, only skipping past comments and whitespace. However, it does not skip leading [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)). This can produce a syntax error, as shebangs are only accepted (ignored) on the first line of the file.

### Before Insertion (valid syntax)

```rust
#!/usr/bin/env rust

fn main() {}
```

### After Insertion (invalid syntax)

```rust
use foo::bar::Baz;

#!/usr/bin/env rust

fn main() {}
```

Rust analyzer's grammar is already shebang-aware, so this PR just adds that to the array of SyntaxKinds that are skipped past when looking for an insertion location, and adds a corresponding test case.




Patch:
diff --git a/crates/ide-db/src/imports/insert_use.rs b/crates/ide-db/src/imports/insert_use.rs
index 66d0b2ee82..d1cd347819 100644
--- a/crates/ide-db/src/imports/insert_use.rs
+++ b/crates/ide-db/src/imports/insert_use.rs
@@ -403,7 +403,8 @@ fn insert_use_(
         .take_while(|child| match child {
             NodeOrToken::Node(node) => is_inner_attribute(node.clone()),
             NodeOrToken::Token(token) => {
-                [SyntaxKind::WHITESPACE, SyntaxKind::COMMENT].contains(&token.kind())
+                [SyntaxKind::WHITESPACE, SyntaxKind::COMMENT, SyntaxKind::SHEBANG]
+                    .contains(&token.kind())
             }
         })
         .filter(|child| child.as_token().map_or(true, |t| t.kind() != SyntaxKind::WHITESPACE))


Test patch:
diff --git a/crates/ide-db/src/imports/insert_use/tests.rs b/crates/ide-db/src/imports/insert_use/tests.rs
index 6569e4ed8c..70a7a15232 100644
--- a/crates/ide-db/src/imports/insert_use/tests.rs
+++ b/crates/ide-db/src/imports/insert_use/tests.rs
@@ -454,6 +454,17 @@ use foo::bar::Baz;"#,
     );
 }
 
+#[test]
+fn inserts_after_shebang() {
+    check_none(
+        "foo::bar::Baz",
+        "#!/usr/bin/env rust",
+        r#"#!/usr/bin/env rust
+
+use foo::bar::Baz;"#,
+    );
+}
+
 #[test]
 fn inserts_after_multiple_single_line_comments() {
     check_none(
Repository: rust-lang/rust-analyzer
Pull request #13100 (2022-08-23 15:51:30)

fix: Resolve doc links on impl blocks
Fixes https://github.com/rust-lang/rust-analyzer/issues/13089


Patch:
diff --git a/crates/ide/src/doc_links.rs b/crates/ide/src/doc_links.rs
index 582e9fe7e8..92ce26b422 100644
--- a/crates/ide/src/doc_links.rs
+++ b/crates/ide/src/doc_links.rs
@@ -184,10 +184,10 @@ pub(crate) fn resolve_doc_path_for_def(
         Definition::TypeAlias(it) => it.resolve_doc_path(db, link, ns),
         Definition::Macro(it) => it.resolve_doc_path(db, link, ns),
         Definition::Field(it) => it.resolve_doc_path(db, link, ns),
+        Definition::SelfType(it) => it.resolve_doc_path(db, link, ns),
         Definition::BuiltinAttr(_)
         | Definition::ToolModule(_)
         | Definition::BuiltinType(_)
-        | Definition::SelfType(_)
         | Definition::Local(_)
         | Definition::GenericParam(_)
         | Definition::Label(_)


Test patch:
diff --git a/crates/ide/src/syntax_highlighting/test_data/highlight_doctest.html b/crates/ide/src/syntax_highlighting/test_data/highlight_doctest.html
index a747b4bc1f..eef5baea98 100644
--- a/crates/ide/src/syntax_highlighting/test_data/highlight_doctest.html
+++ b/crates/ide/src/syntax_highlighting/test_data/highlight_doctest.html
@@ -56,7 +56,7 @@ pre                 { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
     <span class="field declaration">bar</span><span class="colon">:</span> <span class="builtin_type">bool</span><span class="comma">,</span>
 <span class="brace">}</span>
 
-<span class="comment documentation">/// This is an impl with a code block.</span>
+<span class="comment documentation">/// This is an impl of </span><span class="struct documentation injected intra_doc_link">[`Foo`]</span><span class="comment documentation"> with a code block.</span>
 <span class="comment documentation">///</span>
 <span class="comment documentation">/// ```</span>
 <span class="comment documentation">///</span><span class="comment documentation"> </span><span class="keyword injected">fn</span><span class="none injected"> </span><span class="function declaration injected">foo</span><span class="parenthesis injected">(</span><span class="parenthesis injected">)</span><span class="none injected"> </span><span class="brace injected">{</span>
diff --git a/crates/ide/src/syntax_highlighting/tests.rs b/crates/ide/src/syntax_highlighting/tests.rs
index 51ddea63ac..46cc667fc4 100644
--- a/crates/ide/src/syntax_highlighting/tests.rs
+++ b/crates/ide/src/syntax_highlighting/tests.rs
@@ -624,7 +624,7 @@ struct Foo {
     bar: bool,
 }
 
-/// This is an impl with a code block.
+/// This is an impl of [`Foo`] with a code block.
 ///
 /// ```
 /// fn foo() {
Repository: rust-lang/rust-analyzer
Pull request #11993 (2022-04-14 16:40:05)

fix: enable ADT keyword completions in block expressions
fixes https://github.com/rust-lang/rust-analyzer/issues/11576


Patch:
diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs
index ac782352fc..51405e3523 100644
--- a/crates/ide_completion/src/completions/keyword.rs
+++ b/crates/ide_completion/src/completions/keyword.rs
@@ -86,7 +86,7 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
         add_keyword("mod", "mod $0");
     }
 
-    if expects_item {
+    if expects_item || has_block_expr_parent {
         add_keyword("enum", "enum $1 {\n    $0\n}");
         add_keyword("struct", "struct $0");
         add_keyword("union", "union $1 {\n    $0\n}");


Test patch:
diff --git a/crates/ide_completion/src/tests/expression.rs b/crates/ide_completion/src/tests/expression.rs
index de283c705d..f1950235d4 100644
--- a/crates/ide_completion/src/tests/expression.rs
+++ b/crates/ide_completion/src/tests/expression.rs
@@ -137,6 +137,9 @@ impl Unit {
             kw trait
             kw static
             kw mod
+            kw enum
+            kw struct
+            kw union
             kw match
             kw while
             kw while let
@@ -227,6 +230,9 @@ fn complete_in_block() {
             kw trait
             kw static
             kw mod
+            kw enum
+            kw struct
+            kw union
             kw match
             kw while
             kw while let
@@ -269,6 +275,9 @@ fn complete_after_if_expr() {
             kw trait
             kw static
             kw mod
+            kw enum
+            kw struct
+            kw union
             kw match
             kw while
             kw while let
@@ -339,6 +348,9 @@ fn completes_in_loop_ctx() {
             kw trait
             kw static
             kw mod
+            kw enum
+            kw struct
+            kw union
             kw match
             kw while
             kw while let
Repository: rust-lang/rust-analyzer
Pull request #12596 (2022-06-20 16:02:50)

fix: Don't trigger pattern completions when typing a wildcard pattern
Fixes https://github.com/rust-lang/rust-analyzer/issues/12592

Veykril: @bors r+
bors: :pushpin: Commit 2d4b569532913619400fd01d599d17eeb5a47e3a has been approved by `Veykril`

<!-- @bors r=Veykril 2d4b569532913619400fd01d599d17eeb5a47e3a -->
<!-- homu: {"type":"Approved","sha":"2d4b569532913619400fd01d599d17eeb5a47e3a","approver":"Veykril"} -->
bors: :hourglass: Testing commit 2d4b569532913619400fd01d599d17eeb5a47e3a with merge 827654c78097ecca730d5e80d6b79e7516ae78ea...
<!-- homu: {"type":"BuildStarted","head_sha":"2d4b569532913619400fd01d599d17eeb5a47e3a","merge_sha":"827654c78097ecca730d5e80d6b79e7516ae78ea"} -->

Patch:
diff --git a/crates/ide-completion/src/completions.rs b/crates/ide-completion/src/completions.rs
index a0725198f7..4f522ee761 100644
--- a/crates/ide-completion/src/completions.rs
+++ b/crates/ide-completion/src/completions.rs
@@ -489,7 +489,11 @@ pub(super) fn complete_name(
         NameKind::Function => {
             item_list::trait_impl::complete_trait_impl_fn(acc, ctx, name);
         }
-        NameKind::IdentPat(pattern_ctx) => complete_patterns(acc, ctx, pattern_ctx),
+        NameKind::IdentPat(pattern_ctx) => {
+            if ctx.token.kind() != syntax::T![_] {
+                complete_patterns(acc, ctx, pattern_ctx)
+            }
+        }
         NameKind::Module(mod_under_caret) => {
             mod_::complete_mod(acc, ctx, mod_under_caret);
         }
diff --git a/xtask/src/release.rs b/xtask/src/release.rs
index 1c5fc64c24..04544d6f6b 100644
--- a/xtask/src/release.rs
+++ b/xtask/src/release.rs
@@ -36,15 +36,7 @@ impl flags::Release {
 
         let today = date_iso(sh)?;
         let commit = cmd!(sh, "git rev-parse HEAD").read()?;
-        let changelog_n = sh
-            .read_dir(changelog_dir.as_path())?
-            .into_iter()
-            .filter_map(|p| p.file_stem().map(|s| s.to_string_lossy().to_string()))
-            .filter_map(|s| s.splitn(5, '-').last().map(|n| n.replace('-', ".")))
-            .filter_map(|s| s.parse::<f32>().ok())
-            .map(|n| 1 + n.floor() as usize)
-            .max()
-            .unwrap_or_default();
+        let changelog_n = sh.read_dir(changelog_dir.as_path())?.len();
 
         for adoc in [
             "manual.adoc",


Test patch:
diff --git a/crates/ide-completion/src/tests/pattern.rs b/crates/ide-completion/src/tests/pattern.rs
index d21f62f4ad..da9e5e2028 100644
--- a/crates/ide-completion/src/tests/pattern.rs
+++ b/crates/ide-completion/src/tests/pattern.rs
@@ -13,6 +13,18 @@ fn check(ra_fixture: &str, expect: Expect) {
     expect.assert_eq(&actual)
 }
 
+#[test]
+fn wildcard() {
+    check(
+        r#"
+fn quux() {
+    let _$0
+}
+"#,
+        expect![""],
+    );
+}
+
 #[test]
 fn ident_rebind_pat() {
     check_empty(
Repository: rust-lang/rust-analyzer
Pull request #12635 (2022-06-26 01:30:06)

Correct target_feature completion
I changed the `target_feature` to match the description given in #12616. 


Patch:
diff --git a/crates/ide-completion/src/completions/attribute.rs b/crates/ide-completion/src/completions/attribute.rs
index 154c096f4d..2de33a7362 100644
--- a/crates/ide-completion/src/completions/attribute.rs
+++ b/crates/ide-completion/src/completions/attribute.rs
@@ -330,9 +330,9 @@ const ATTRIBUTES: &[AttrCompletion] = &[
     attr("repr(…)", Some("repr"), Some("repr(${0:C})")),
     attr("should_panic", Some("should_panic"), Some(r#"should_panic"#)),
     attr(
-        r#"target_feature = "…""#,
+        r#"target_feature(enable = "…")"#,
         Some("target_feature"),
-        Some(r#"target_feature = "${0:feature}""#),
+        Some(r#"target_feature(enable = "${0:feature}")"#),
     ),
     attr("test", None, None),
     attr("track_caller", None, None),


Test patch:
diff --git a/crates/ide-completion/src/tests/attribute.rs b/crates/ide-completion/src/tests/attribute.rs
index 52c69f84b6..3b366c94bf 100644
--- a/crates/ide-completion/src/tests/attribute.rs
+++ b/crates/ide-completion/src/tests/attribute.rs
@@ -568,7 +568,7 @@ fn attr_on_fn() {
             at proc_macro_attribute
             at proc_macro_derive(…)
             at should_panic
-            at target_feature = "…"
+            at target_feature(enable = "…")
             at test
             at track_caller
             at warn(…)
@@ -615,7 +615,7 @@ fn attr_in_source_file_end() {
             at proc_macro_derive(…)
             at repr(…)
             at should_panic
-            at target_feature = "…"
+            at target_feature(enable = "…")
             at test
             at track_caller
             at used
Repository: stateful/vscode-runme
Pull request #183 (2023-02-07 21:03:50)

Add teletemtry for uri handler
We want to know how many people use the launcher to setup a project with Runme.


Patch:
diff --git a/src/extension/handler/uri.ts b/src/extension/handler/uri.ts
index 33dbf41b..49072210 100644
--- a/src/extension/handler/uri.ts
+++ b/src/extension/handler/uri.ts
@@ -3,6 +3,7 @@ import path from 'node:path'
 import { UriHandler, window, Uri, Progress, ProgressLocation, commands, workspace } from 'vscode'
 import got from 'got'
 import { v4 as uuidv4 } from 'uuid'
+import { TelemetryReporter } from 'vscode-telemetry'
 
 import {
     getProjectDir, getTargetDirName, waitForProjectCheckout, getSuggestedProjectName, writeBootstrapFile
@@ -25,13 +26,15 @@ export class RunmeUriHandler implements UriHandler {
 
         if (command === 'setup') {
             const fileToOpen = params.get('fileToOpen') || DEFAULT_START_FILE
-            const repository = params.get('repository')
+            const repository = params.get('repository')!
 
             if (!repository && fileToOpen.match(REGEX_WEB_RESOURCE)) {
+                TelemetryReporter.sendTelemetryEvent('extension.uriHandler', { command, type: 'file' })
                 await this._setupFile(fileToOpen)
                 return
             }
 
+            TelemetryReporter.sendTelemetryEvent('extension.uriHandler', { command, type: 'project' })
             await this._setupProject(fileToOpen, repository)
             return
         }


Test patch:
diff --git a/tests/extension/handler/uri.test.ts b/tests/extension/handler/uri.test.ts
index d8be6a56..ba0f0080 100644
--- a/tests/extension/handler/uri.test.ts
+++ b/tests/extension/handler/uri.test.ts
@@ -2,6 +2,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'
 // @ts-expect-error mock feature
 import { commands, window, Uri, terminal, workspace } from 'vscode'
 import got from 'got'
+import { TelemetryReporter } from 'vscode-telemetry'
 
 import { RunmeUriHandler } from '../../../src/extension/handler/uri'
 import {
@@ -63,6 +64,8 @@ describe('RunmeUriHandler', () => {
             }} as any)
             await handler.handleUri(Uri.parse('vscode://stateful.runme?foo=bar'))
             expect(handler['_setupProject']).toBeCalledWith('/sub/file.md', 'git@github.com:/foo/bar')
+            expect(TelemetryReporter.sendTelemetryEvent)
+              .toBeCalledWith('extension.uriHandler', { command: 'setup', type: 'project' })
         })
 
         it('runs _setupFile if command was "setup" but no repository param', async () => {
@@ -70,6 +73,8 @@ describe('RunmeUriHandler', () => {
             vi.mocked(Uri.parse).mockReturnValue({ query: { command: 'setup', fileToOpen }, fsPath: '/foo/bar' } as any)
             await handler.handleUri(Uri.parse('vscode://stateful.runme?foo=bar'))
             expect(handler['_setupFile']).toBeCalledWith(fileToOpen)
+            expect(TelemetryReporter.sendTelemetryEvent)
+              .toBeCalledWith('extension.uriHandler', { command: 'setup', type: 'file' })
         })
     })
Repository: stateful/vscode-runme
Pull request #210 (2023-02-17 00:25:01)

Override M and Y shortcuts

degrammer: Fixes https://github.com/stateful/vscode-runme/issues/190

Patch:
diff --git a/package.json b/package.json
index 43431539..fd51ea6a 100644
--- a/package.json
+++ b/package.json
@@ -327,6 +327,18 @@
         "view": "runme.launcher",
         "contents": "Open a workspace/folder to display Runme files here"
       }
+    ],
+    "keybindings": [
+      {
+        "command": "runme.keybinding.m",
+        "key": "m",
+        "when": "notebookEditorFocused && !inputFocus && activeEditor == 'workbench.editor.notebook' && notebookCellType == 'code'"
+      },
+      {
+        "command": "runme.keybinding.y",
+        "key": "m",
+        "when": "notebookEditorFocused && !inputFocus && activeEditor == 'workbench.editor.notebook' && notebookCellType == 'markup'"
+      }
     ]
   },
   "scripts": {
diff --git a/src/extension/extension.ts b/src/extension/extension.ts
index ea32b683..37c3f561 100644
--- a/src/extension/extension.ts
+++ b/src/extension/extension.ts
@@ -57,6 +57,8 @@ export class RunmeExtension {
       RunmeExtension.registerCommand('runme.openAsRunmeNotebook', openAsRunmeNotebook),
       RunmeExtension.registerCommand('runme.new', createNewRunmeNotebook),
       RunmeExtension.registerCommand('runme.openRunmeFile', RunmeLauncherProvider.openFile),
+      RunmeExtension.registerCommand('runme.keybinding.m', () => {}),
+      RunmeExtension.registerCommand('runme.keybinding.y', () => {}),
       tasks.registerTaskProvider(RunmeTaskProvider.id, new RunmeTaskProvider(context)),
 
       /**


Test patch:
diff --git a/tests/extension/extension.test.ts b/tests/extension/extension.test.ts
index 79d1f487..cb7978c1 100644
--- a/tests/extension/extension.test.ts
+++ b/tests/extension/extension.test.ts
@@ -16,7 +16,7 @@ test('initializes all providers', async () => {
   await ext.initialize(context)
   expect(notebooks.registerNotebookCellStatusBarItemProvider).toBeCalledTimes(6)
   expect(workspace.registerNotebookSerializer).toBeCalledTimes(1)
-  expect(commands.registerCommand).toBeCalledTimes(12)
+  expect(commands.registerCommand).toBeCalledTimes(14)
   expect(window.registerTreeDataProvider).toBeCalledTimes(1)
   expect(window.registerUriHandler).toBeCalledTimes(1)