|
|
|
|
@ -4,6 +4,27 @@ import { getSituation } from './situation'; |
|
|
|
|
import { getCompletions, DataProvider, CompletionType } from './completions'; |
|
|
|
|
import { NeverCaseError } from './util'; |
|
|
|
|
|
|
|
|
|
export function getSuggestOptions(): monacoTypes.editor.ISuggestOptions { |
|
|
|
|
return { |
|
|
|
|
// monaco-editor sometimes provides suggestions automatically, i am not
|
|
|
|
|
// sure based on what, seems to be by analyzing the words already
|
|
|
|
|
// written.
|
|
|
|
|
// to try it out:
|
|
|
|
|
// - enter `go_goroutines{job~`
|
|
|
|
|
// - have the cursor at the end of the string
|
|
|
|
|
// - press ctrl-enter
|
|
|
|
|
// - you will get two suggestions
|
|
|
|
|
// those were not provided by grafana, they are offered automatically.
|
|
|
|
|
// i want to remove those. the only way i found is:
|
|
|
|
|
// - every suggestion-item has a `kind` attribute,
|
|
|
|
|
// that controls the icon to the left of the suggestion.
|
|
|
|
|
// - items auto-generated by monaco have `kind` set to `text`.
|
|
|
|
|
// - we make sure grafana-provided suggestions do not have `kind` set to `text`.
|
|
|
|
|
// - and then we tell monaco not to show suggestions of kind `text`
|
|
|
|
|
showWords: false, |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function getMonacoCompletionItemKind(type: CompletionType, monaco: Monaco): monacoTypes.languages.CompletionItemKind { |
|
|
|
|
switch (type) { |
|
|
|
|
case 'DURATION': |
|
|
|
|
|