github-linguist/linguist

Power Query (M)

Open

#7856 opened on Mar 16, 2026

View on GitHub
 (5 comments) (1 reaction) (0 assignees)Ruby (13,466 stars) (5,166 forks)batch import
Add LanguageGood First Issue

Description

Why this should be a language in Linguist

Power Query (M) is Microsoft’s functional data transformation language used in Power BI, Excel Power Query, Dataflows, and other tooling. It is a distinct language with its own syntax, keywords, operators, and evaluation model.

File extensions

Recommended (non-ambiguous):

  • .pq
  • .pqm

Notes on .m:

  • .m is heavily ambiguous on GitHub (multiple languages share it), so I am not requesting .m by default in the initial proposal. If maintainers prefer, .m support could be handled later via heuristics or limited contexts.

Existing TextMate grammar (for syntax highlighting)

Microsoft maintains an existing TextMate grammar for Power Query / M:

This grammar is actively maintained and intended for editor syntax highlighting consumption.

Proposed Linguist language entry (languages.yml draft)

Power Query:
  type: programming
  aliases:
    - powerquery
    - power-query
    - power query
    - power query m
    - m
  extensions:
    - ".pq"
    - ".pqm"
  tm_scope: source.powerquery
  ace_mode: text
  # color: "#??????"  # optional, can be chosen to match existing conventions

Contributor guide