diff --git a/public/app/plugins/datasource/cloudwatch/language/logs/completion/types.ts b/public/app/plugins/datasource/cloudwatch/language/logs/completion/types.ts index e8f0bfdfa3c..ade0505e3d8 100644 --- a/public/app/plugins/datasource/cloudwatch/language/logs/completion/types.ts +++ b/public/app/plugins/datasource/cloudwatch/language/logs/completion/types.ts @@ -1,17 +1,18 @@ import { TokenTypes } from '../../monarch/types'; +import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../definition'; export const LogsTokenTypes: TokenTypes = { - Parenthesis: 'delimiter.parenthesis.cloudwatch-logs', - Whitespace: 'white.cloudwatch-logs', - Keyword: 'keyword.cloudwatch-logs', - Delimiter: 'delimiter.cloudwatch-logs', - Operator: 'operator.cloudwatch-logs', - Identifier: 'identifier.cloudwatch-logs', - Type: 'type.cloudwatch-logs', - Function: 'predefined.cloudwatch-logs', - Number: 'number.cloudwatch-logs', - String: 'string.cloudwatch-logs', - Variable: 'variable.cloudwatch-logs', - Comment: 'comment.cloudwatch-logs', - Regexp: 'regexp.cloudwatch-logs', + Parenthesis: `delimiter.parenthesis.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Whitespace: `white.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Keyword: `keyword.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Delimiter: `delimiter.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Operator: `operator.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Identifier: `identifier.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Type: `type.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Function: `predefined.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Number: `number.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + String: `string.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Variable: `variable.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Comment: `comment.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, + Regexp: `regexp.${CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID}`, }; diff --git a/public/app/plugins/datasource/cloudwatch/language/logs/definition.ts b/public/app/plugins/datasource/cloudwatch/language/logs/definition.ts index 7170f4be9a0..7061b079918 100644 --- a/public/app/plugins/datasource/cloudwatch/language/logs/definition.ts +++ b/public/app/plugins/datasource/cloudwatch/language/logs/definition.ts @@ -1,7 +1,9 @@ import { LanguageDefinition } from '../monarch/register'; +export const CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID = 'cloudwatch-logs'; + const cloudWatchLogsLanguageDefinition: LanguageDefinition = { - id: 'logs', + id: CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID, extensions: [], aliases: [], mimetypes: [], diff --git a/public/app/plugins/datasource/cloudwatch/language/logs/language.ts b/public/app/plugins/datasource/cloudwatch/language/logs/language.ts index 359b9d391e2..4d4cec2875a 100644 --- a/public/app/plugins/datasource/cloudwatch/language/logs/language.ts +++ b/public/app/plugins/datasource/cloudwatch/language/logs/language.ts @@ -14,8 +14,8 @@ export const STATS = 'stats'; export const SORT = 'sort'; export const LIMIT = 'limit'; export const PARSE = 'parse'; -export const UNMASK = 'unmask'; //make sure we support this one -export const LOGS_COMMANDS = [DISPLAY, FIELDS, FILTER, STATS, SORT, LIMIT, PARSE, UNMASK]; +export const DEDUP = 'dedup'; +export const LOGS_COMMANDS = [DISPLAY, FIELDS, FILTER, STATS, SORT, LIMIT, PARSE, DEDUP]; export const LOGS_LOGIC_OPERATORS = ['and', 'or', 'not']; @@ -71,9 +71,12 @@ export const LOGS_FUNCTION_OPERATORS = [ 'substr', 'replace', 'strcontains', + // field + 'unmask', ]; -export const LOGS_KEYWORDS = ['like', 'by', 'in', 'desc', 'asc', 'as']; +export const SORT_DIRECTION_KEYWORDS = ['asc', 'desc']; +export const LOGS_KEYWORDS = ['like', 'by', 'in', 'as', ...SORT_DIRECTION_KEYWORDS]; export const language: CloudWatchLogsLanguage = { defaultToken: 'invalid',