diff --git a/packages/grafana-prometheus/src/language_provider.ts b/packages/grafana-prometheus/src/language_provider.ts
index 0b1495aa288..2030eefab69 100644
--- a/packages/grafana-prometheus/src/language_provider.ts
+++ b/packages/grafana-prometheus/src/language_provider.ts
@@ -27,7 +27,7 @@ import {
processLabels,
toPromLikeQuery,
} from './language_utils';
-import PromqlSyntax from './promql';
+import { promqlGrammar } from './promql';
import { buildVisualQueryFromString } from './querybuilder/parsing';
import { LabelsApiClient, ResourceApiClient, SeriesApiClient } from './resource_clients';
import { PromMetricsMetadata, PromQuery } from './types';
@@ -736,7 +736,7 @@ export const exportToAbstractQuery = (query: PromQuery): AbstractQuery => {
if (!promQuery || promQuery.length === 0) {
return { refId: query.refId, labelMatchers: [] };
}
- const tokens = Prism.tokenize(promQuery, PromqlSyntax);
+ const tokens = Prism.tokenize(promQuery, promqlGrammar);
const labelMatchers: AbstractLabelMatcher[] = extractLabelMatchers(tokens);
const nameLabelValue = getNameLabelValue(promQuery, tokens);
if (nameLabelValue && nameLabelValue.length > 0) {
diff --git a/packages/grafana-prometheus/src/promql.test.ts b/packages/grafana-prometheus/src/promql.test.ts
index 8ce99e175fc..219d5eac3b8 100644
--- a/packages/grafana-prometheus/src/promql.test.ts
+++ b/packages/grafana-prometheus/src/promql.test.ts
@@ -1,23 +1,23 @@
// Core Grafana history https://github.com/grafana/grafana/blob/v11.0.0-preview/public/app/plugins/datasource/prometheus/promql.test.ts
import Prism from 'prismjs';
-import promql from './promql';
+import { promqlGrammar } from './promql';
describe('Loki syntax', () => {
it('should highlight Loki query correctly', () => {
- expect(Prism.highlight('{key="val#ue"}', promql, 'promql')).toBe(
+ expect(Prism.highlight('{key="val#ue"}', promqlGrammar, 'promql')).toBe(
'{key="val#ue"}'
);
- expect(Prism.highlight('{key="#value"}', promql, 'promql')).toBe(
+ expect(Prism.highlight('{key="#value"}', promqlGrammar, 'promql')).toBe(
'{key="#value"}'
);
- expect(Prism.highlight('{key="value#"}', promql, 'promql')).toBe(
+ expect(Prism.highlight('{key="value#"}', promqlGrammar, 'promql')).toBe(
'{key="value#"}'
);
- expect(Prism.highlight('#test{key="value"}', promql, 'promql')).toBe(
+ expect(Prism.highlight('#test{key="value"}', promqlGrammar, 'promql')).toBe(
''
);
- expect(Prism.highlight('{key="value"}#test', promql, 'promql')).toBe(
+ expect(Prism.highlight('{key="value"}#test', promqlGrammar, 'promql')).toBe(
'{key="value"}'
);
});
diff --git a/packages/grafana-prometheus/src/promql.ts b/packages/grafana-prometheus/src/promql.ts
index 912a009eb64..9fd1e4add62 100644
--- a/packages/grafana-prometheus/src/promql.ts
+++ b/packages/grafana-prometheus/src/promql.ts
@@ -656,5 +656,3 @@ export const promqlGrammar: Grammar = {
operator: new RegExp(`/[-+*/=%^~]|&&?|\\|?\\||!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:${OPERATORS.join('|')})\\b`, 'i'),
punctuation: /[{};()`,.]/,
};
-
-export default promqlGrammar;
diff --git a/packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx b/packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx
index 30370d068a3..b61f64ec58d 100644
--- a/packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx
+++ b/packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx
@@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data';
import { t, Trans } from '@grafana/i18n';
import { Button, Card, useStyles2 } from '@grafana/ui';
-import promqlGrammar from '../promql';
+import { promqlGrammar } from '../promql';
import { RawQuery } from './shared/RawQuery';
import { promQueryModeller } from './shared/modeller_instance';
diff --git a/packages/grafana-prometheus/src/querybuilder/components/PromQueryBuilderExplained.tsx b/packages/grafana-prometheus/src/querybuilder/components/PromQueryBuilderExplained.tsx
index 2b8dac3329e..eaef385d1ad 100644
--- a/packages/grafana-prometheus/src/querybuilder/components/PromQueryBuilderExplained.tsx
+++ b/packages/grafana-prometheus/src/querybuilder/components/PromQueryBuilderExplained.tsx
@@ -3,7 +3,7 @@ import { memo } from 'react';
import { Stack } from '@grafana/ui';
-import promqlGrammar from '../../promql';
+import { promqlGrammar } from '../../promql';
import { buildVisualQueryFromString } from '../parsing';
import { OperationExplainedBox } from '../shared/OperationExplainedBox';
import { OperationListExplained } from '../shared/OperationListExplained';
diff --git a/packages/grafana-prometheus/src/querybuilder/components/QueryPreview.tsx b/packages/grafana-prometheus/src/querybuilder/components/QueryPreview.tsx
index 613a7111c7d..c8a1fc14afa 100644
--- a/packages/grafana-prometheus/src/querybuilder/components/QueryPreview.tsx
+++ b/packages/grafana-prometheus/src/querybuilder/components/QueryPreview.tsx
@@ -1,7 +1,7 @@
// Core Grafana history https://github.com/grafana/grafana/blob/v11.0.0-preview/public/app/plugins/datasource/prometheus/querybuilder/components/QueryPreview.tsx
import { EditorFieldGroup, EditorRow } from '@grafana/plugin-ui';
-import promqlGrammar from '../../promql';
+import { promqlGrammar } from '../../promql';
import { RawQuery } from '../shared/RawQuery';
export interface QueryPreviewProps {
diff --git a/packages/grafana-prometheus/src/querybuilder/components/shared/QueryBuilderContent.tsx b/packages/grafana-prometheus/src/querybuilder/components/shared/QueryBuilderContent.tsx
index e95dbbb731f..69b73a2484b 100644
--- a/packages/grafana-prometheus/src/querybuilder/components/shared/QueryBuilderContent.tsx
+++ b/packages/grafana-prometheus/src/querybuilder/components/shared/QueryBuilderContent.tsx
@@ -5,7 +5,7 @@ import { DataSourceApi, getDefaultTimeRange } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { EditorRow } from '@grafana/plugin-ui';
-import promqlGrammar from '../../../promql';
+import { promqlGrammar } from '../../../promql';
import { getInitHints } from '../../../query_hints';
import { buildVisualQueryFromString } from '../../parsing';
import { OperationExplainedBox } from '../../shared/OperationExplainedBox';