Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

auto-completion in ace.js editor

I would like to know if it's possible to enable auto-completion while user is typing in editor ace.js. At the moment in my project auto-completion is enabled when user type: ctrl + space . Then, is possible adding some keywords in the auto-completion list?

Thanks

like image 875
Edge7 Avatar asked Nov 15 '13 11:11

Edge7


2 Answers

For triggering autocomplete use

editor.commands.on("afterExec", function(e){
     if (e.command.name == "insertstring"&&/^[\w.]$/.test(e.args)) {
         editor.execCommand("startAutocomplete")
     }
})

For addidng some keywords you can either add another completer to the editor or override getCompletions method on the mode.

like image 130
a user Avatar answered Sep 28 '22 03:09

a user


It's already built in! See the options that I chose under editor.setOptions:

    var langTools = ace.require("ace/ext/language_tools");
    var editor = ace.edit("editor");

    editor.setTheme("ace/theme/monokai");
    editor.getSession().setMode("ace/mode/yaml");

    editor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: true
    });
like image 20
maudulus Avatar answered Sep 28 '22 04:09

maudulus