From 28b95df12c48f23909f4aa4cc3cd1d3982508183 Mon Sep 17 00:00:00 2001 From: takapa Date: Wed, 8 Oct 2014 22:07:23 +0100 Subject: [PATCH] Added setCompleters(...) function Added setCompleters() method, so that completers can be explicitly set from a pre-populated array, or can be removed entirely (if null is passed, or setCompleters() is called without an argument or an empty array is passed. Please check this carefully for rookie JavaScript bugs, as I'm not sure if the null/undefined test is best-practise here as I don't typically code in JavaScript in my day-job. --- lib/ace/ext/language_tools.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/ace/ext/language_tools.js b/lib/ace/ext/language_tools.js index cad80605..dac2075c 100644 --- a/lib/ace/ext/language_tools.js +++ b/lib/ace/ext/language_tools.js @@ -67,8 +67,14 @@ var snippetCompleter = { } }; -exports.removeCompleters = function() { - completers = []; +// Allows default completers to be removed or replaced with a explict set of completers +// A null argument here will result in an empty completer array, not a null attribute +exports.setCompleters = function(val) { + if (val == null || val == undefined || (!(val instanceof Array)) ) { + completers = []; + } else { + completers = val; + } }; var completers = [snippetCompleter, textCompleter, keyWordCompleter];