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

Autocompleters crash if the trigger has special meaning in a regex #10781

Closed
notnownikki opened this issue Oct 19, 2018 · 0 comments · Fixed by #10785
Closed

Autocompleters crash if the trigger has special meaning in a regex #10781

notnownikki opened this issue Oct 19, 2018 · 0 comments · Fixed by #10785

Comments

@notnownikki
Copy link
Member

Describe the bug

Autocompleters that use triggers that have a special meaning in regular expressions, crash the block they're used in when they're triggered.

78d1254 introduced the issue.

To Reproduce

Create an autocompleter with a regex-special character as the trigger. + will do.

Example code used to test:

const completer = {
        name: 'test',
        triggerPrefix: '+',
        options( input ) {
                return [ 'Johnny 5 needs input! ' + input ];
        },
        getOptionKeywords: function( input ) {
                return [ input ];
        },
        getOptionLabel: function( input ) {
                return '+' + input;
        },
        getOptionCompletion: function( input ) {
                return '+' + input;
        },
};

const appendCompleter = ( completers, blockName ) => {
        return blockName === 'core/paragraph' ?
                completers.concat( completer ) :
                completers;
}

// Adding the filter
wp.hooks.addFilter(
        'editor.Autocomplete.completers',
        'nikki/test/autocompletersbug',
        appendCompleter
);

Load the editor, and type + in a paragraph block.

cc @iseulde

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant