|
|
|
@ -125,6 +125,23 @@ function link(scope, elem, attrs) { |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
let extCompleter = { |
|
|
|
|
getCompletions: getExtCompletions |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
function getExtCompletions(editor, session, pos, prefix, callback) { |
|
|
|
|
scope.getMetrics(prefix).then(results => { |
|
|
|
|
let wordList = results; |
|
|
|
|
callback(null, wordList.map(word => { |
|
|
|
|
return { |
|
|
|
|
caption: word, |
|
|
|
|
value: word, |
|
|
|
|
meta: "metric" |
|
|
|
|
}; |
|
|
|
|
})); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function setLangMode(lang) { |
|
|
|
|
let aceModeName = `ace/mode/${lang}`; |
|
|
|
|
fixModuleUrl("mode", lang); |
|
|
|
@ -136,6 +153,7 @@ function link(scope, elem, attrs) { |
|
|
|
|
enableLiveAutocompletion: true, |
|
|
|
|
enableSnippets: true |
|
|
|
|
}); |
|
|
|
|
codeEditor.completers.push(extCompleter); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -157,7 +175,8 @@ export function codeEditorDirective() { |
|
|
|
|
template: editorTemplate, |
|
|
|
|
scope: { |
|
|
|
|
content: "=", |
|
|
|
|
onChange: "&" |
|
|
|
|
onChange: "&", |
|
|
|
|
getMetrics: "=" |
|
|
|
|
}, |
|
|
|
|
link: link |
|
|
|
|
}; |
|
|
|
|