<p dir="auto"><em>From <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Wosi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Wosi">@Wosi</a> on November 10, 2015 12:0</em></p>
<p dir="auto">I created a <a href="https://github.com/Wosi/vs.language.objectpascal/blob/master/objectpascalDef.js"><code class="notranslate">languageDef.js</code> file for ObjectPascal</a> that used to work from the first preview version until v0.9.2.<br>
As far as I know this format is no longer supported so I moved to the <code class="notranslate">.plist</code> definition format. I was able to rewrite the grammar definition in order to let the highlighted source look like 95% the same as before.</p>
<p dir="auto">But I have a problem to redefine the bracket matching.<br>
This screenshot shows the bracket matching for <code class="notranslate">begin</code> and <code class="notranslate">end</code> in version 0.9.2:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/3448684/11061783/b52bfb88-87a9-11e5-8b0a-b7d0a417dfae.PNG"><img src="https://cloud.githubusercontent.com/assets/3448684/11061783/b52bfb88-87a9-11e5-8b0a-b7d0a417dfae.PNG" alt="vscodebeginendbracketmatching" style="max-width: 100%;"></a></p>
<p dir="auto">I used this code in 0.9.2 to enable the bracket matching:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    brackets: [            
        // ...
        { token: 'keyword.tag-begin', open: 'begin', close: 'end' },
       // ...     
    ],"><pre class="notranslate"><code class="notranslate">    brackets: [            
        // ...
        { token: 'keyword.tag-begin', open: 'begin', close: 'end' },
       // ...     
    ],
</code></pre></div>
<p dir="auto">How do I enable the bracket matching in version 0.10.0 for this kind of brackets?<br>
I tried to do it in the <code class="notranslate">languageMain.js</code> file inside the language configuration sections <code class="notranslate">brackets</code>, <code class="notranslate">__electricCharacterSupport</code> and <code class="notranslate">__characterPairSupport</code>. But none of the works when the brackets contain multiple characters.<br>
Is this feature completely broken in 0.10.0?</p>
<p dir="auto"><em>Copied from original issue: Microsoft/vscode-extensionbuilders#90</em></p>
<ul dir="auto">
<li>VSCode Version: 1.0.0</li>
<li>OS Version: OS X El Capitan 10.11.4</li>
</ul>
<p dir="auto">Steps to Reproduce:</p>
<p dir="auto">I'm trying to bind <code class="notranslate">quick open</code> (ctrl+p) command to <code class="notranslate">shift shift</code> (shift x2) keys like IntelliJ IDEA in VS Code Extension (TypeScript).</p>
<p dir="auto">But <code class="notranslate">vscode.commands.registerCommand('type', (args) =&gt; args.text)</code> can't detect shfit key.</p>
<p dir="auto">How can I detect shift shift key?</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="// VSCode v0.10.12 or higher (not working &lt;= v0.10.11)
'use strict';
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {

    let disposable = vscode.commands.registerCommand('type', (args) =&gt; {

        vscode.window.showInformationMessage(args.text);

        vscode.commands.executeCommand('default:type', {
            text: args.text
        });
    });

    context.subscriptions.push(disposable);
}"><pre class="notranslate"><span class="pl-c">// VSCode v0.10.12 or higher (not working &lt;= v0.10.11)</span>
<span class="pl-s">'use strict'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">vscode</span> <span class="pl-k">from</span> <span class="pl-s">'vscode'</span><span class="pl-kos">;</span>

<span class="pl-k">export</span> <span class="pl-k">function</span> <span class="pl-en">activate</span><span class="pl-kos">(</span><span class="pl-s1">context</span>: <span class="pl-s1">vscode</span><span class="pl-kos">.</span><span class="pl-smi">ExtensionContext</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>

    <span class="pl-k">let</span> <span class="pl-s1">disposable</span> <span class="pl-c1">=</span> <span class="pl-s1">vscode</span><span class="pl-kos">.</span><span class="pl-c1">commands</span><span class="pl-kos">.</span><span class="pl-en">registerCommand</span><span class="pl-kos">(</span><span class="pl-s">'type'</span><span class="pl-kos">,</span> <span class="pl-kos">(</span><span class="pl-s1">args</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>

        <span class="pl-s1">vscode</span><span class="pl-kos">.</span><span class="pl-c1">window</span><span class="pl-kos">.</span><span class="pl-en">showInformationMessage</span><span class="pl-kos">(</span><span class="pl-s1">args</span><span class="pl-kos">.</span><span class="pl-c1">text</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

        <span class="pl-s1">vscode</span><span class="pl-kos">.</span><span class="pl-c1">commands</span><span class="pl-kos">.</span><span class="pl-en">executeCommand</span><span class="pl-kos">(</span><span class="pl-s">'default:type'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span>
            <span class="pl-c1">text</span>: <span class="pl-s1">args</span><span class="pl-kos">.</span><span class="pl-c1">text</span>
        <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

    <span class="pl-s1">context</span><span class="pl-kos">.</span><span class="pl-c1">subscriptions</span><span class="pl-kos">.</span><span class="pl-en">push</span><span class="pl-kos">(</span><span class="pl-s1">disposable</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>