diff --git a/news/changelog-1.9.md b/news/changelog-1.9.md
index 0f61d281a9c..5e9f4b53721 100644
--- a/news/changelog-1.9.md
+++ b/news/changelog-1.9.md
@@ -43,6 +43,7 @@ All changes included in 1.9:
### `html`
+- ([#14072](https://github.com/quarto-dev/quarto-cli/pull/14072)): Add q syntax files
- ([#11929](https://github.com/quarto-dev/quarto-cli/issues/11929)): Import all `brand.typography.fonts` in CSS, whether or not fonts are referenced by typography elements.
- ([#13413](https://github.com/quarto-dev/quarto-cli/issues/13413)): Fix uncentered play button in `video` shortcodes from cross-reference divs. (author: @bruvellu)
- ([#13508](https://github.com/quarto-dev/quarto-cli/issues/13508)): Add `aria-label` support to `video` shortcode for improved accessibility.
diff --git a/src/resources/pandoc/syntax-definitions/k.xml b/src/resources/pandoc/syntax-definitions/k.xml
new file mode 100644
index 00000000000..e8008d7b5b4
--- /dev/null
+++ b/src/resources/pandoc/syntax-definitions/k.xml
@@ -0,0 +1,420 @@
+
+
+
+
+]>
+
+
+
+ - while
+ - if
+ - do
+
+
+ - abs
+ - acos
+ - asin
+ - atan
+ - avg
+ - bin
+ - by
+ - cos
+ - delete
+ - div
+ - exec
+ - exit
+ - exp
+ - from
+ - getenv
+ - i
+ - in
+ - insert
+ - last
+ - like
+ - log
+ - max
+ - min
+ - prd
+ - select
+ - setenv
+ - sin
+ - sqrt
+ - ss
+ - sum
+ - tan
+ - update
+ - wavg
+ - within
+ - wsum
+ - xexp
+
+
+ - .Q.addmonths
+ - .Q.addr
+ - .Q.host
+ - .Q.chk
+ - .Q.cn
+ - .Q.dd
+ - .Q.dpft
+ - .Q.dsftg
+ - .Q.def
+ - .Q.en
+ - .Q.fc
+ - .Q.fk
+ - .Q.fmt
+ - .Q.foo
+ - .Q.fs
+ - .Q.ft
+ - .Q.fu
+ - .Q.gc
+ - .Q.hdpf
+ - .Q.ind
+ - .Q.j10
+ - .Q.x10
+ - .Q.j12
+ - .Q.x12
+ - .Q.k
+ - .Q.l
+ - .Q.opt
+ - .Q.par
+ - .Q.qp
+ - .Q.qt
+ - .Q.s
+ - .Q.s1
+ - .Q.ty
+ - .Q.v
+ - .Q.V
+ - .Q.view
+ - .Q.w
+ - .Q.M
+ - .Q.pf
+ - .Q.pt
+ - .Q.PD
+ - .Q.PV
+ - .Q.pd
+ - .Q.pv
+ - .Q.pn
+ - .Q.bv
+ - .Q.vp
+ - .Q.P
+ - .Q.D
+ - .Q.u
+
+
+ - .h.br
+ - .h.c0
+ - .h.c1
+ - .h.cd
+ - .h.code
+ - .h.data
+ - .h.eb
+ - .h.ec
+ - .h.ed
+ - .h.edsn
+ - .h.es
+ - .h.ex
+ - .h.fram
+ - .h.ha
+ - .h.hb
+ - .h.hc
+ - .h.he
+ - .h.hn
+ - .h.hp
+ - .h.hr
+ - .h.ht
+ - .h.hta
+ - .h.htac
+ - .h.htc
+ - .h.html
+ - .h.http
+ - .h.hu
+ - .h.hug
+ - .h.hy
+ - .h.iso8601
+ - .h.jx
+ - .h.logo
+ - .h.nbr
+ - .h.pre
+ - .h.text
+ - .h.tx
+ - .h.ty
+ - .h.uh
+ - .h.xd
+ - .h.xmp
+ - .h.xs
+ - .h.xt
+
+
+ - .o.B0
+ - .o.C0
+ - .o.Cols
+ - .o.Columns
+ - .o.FG
+ - .o.Fkey
+ - .o.Gkey
+ - .o.Key
+ - .o.PS
+ - .o.Special
+ - .o.Stats
+ - .o.T
+ - .o.T0
+ - .o.TI
+ - .o.Tables
+ - .o.Ts
+ - .o.TypeInfo
+ - .o.ex
+ - .o.o
+ - .o.t
+
+
+ - .z.a
+ - .z.ac
+ - .z.b
+ - .z.bm
+ - .z.c
+ - .z.exit
+ - .z.f
+ - .z.h
+ - .z.i
+ - .z.k
+ - .z.K
+ - .z.l
+ - .z.n
+ - .z.N
+ - .z.o
+ - .z.p
+ - .z.P
+ - .z.pc
+ - .z.pg
+ - .z.ph
+ - .z.pi
+ - .z.po
+ - .z.pp
+ - .z.ps
+ - .z.pw
+ - .z.q
+ - .z.s
+ - .z.ts
+ - .z.u
+ - .z.vs
+ - .z.w
+ - .z.W
+ - .z.ws
+ - .z.x
+ - .z.z
+ - .z.Z
+ - .z.t
+ - .z.T
+ - .z.d
+ - .z.D
+ - .z.zd
+
+
+ - .q.aj
+ - .q.aj0
+ - .q.all
+ - .q.and
+ - .q.any
+ - .q.asc
+ - .q.asof
+ - .q.attr
+ - .q.avgs
+ - .q.ceiling
+ - .q.cols
+ - .q.cor
+ - .q.count
+ - .q.cov
+ - .q.cross
+ - .q.csv
+ - .q.cut
+ - .q.deltas
+ - .q.desc
+ - .q.dev
+ - .q.differ
+ - .q.distinct
+ - .q.each
+ - .q.ej
+ - .q.enlist
+ - .q.eval
+ - .q.except
+ - .q.fby
+ - .q.fills
+ - .q.first
+ - .q.fkeys
+ - .q.flip
+ - .q.floor
+ - .q.get
+ - .q.group
+ - .q.gtime
+ - .q.hclose
+ - .q.hcount
+ - .q.hdel
+ - .q.hopen
+ - .q.hsym
+ - .q.iasc
+ - .q.idesc
+ - .q.ij
+ - .q.inter
+ - .q.inv
+ - .q.key
+ - .q.keys
+ - .q.lj
+ - .q.load
+ - .q.lower
+ - .q.lsq
+ - .q.ltime
+ - .q.ltrim
+ - .q.mavg
+ - .q.maxs
+ - .q.mcount
+ - .q.md5
+ - .q.mdev
+ - .q.med
+ - .q.meta
+ - .q.mins
+ - .q.mmax
+ - .q.mmin
+ - .q.mmu
+ - .q.mod
+ - .q.msum
+ - .q.neg
+ - .q.next
+ - .q.not
+ - .q.null
+ - .q.or
+ - .q.over
+ - .q.parse
+ - .q.peach
+ - .q.pj
+ - .q.plist
+ - .q.prds
+ - .q.prev
+ - .q.prior
+ - .q.rand
+ - .q.rank
+ - .q.ratios
+ - .q.raze
+ - .q.read0
+ - .q.read1
+ - .q.reciprocal
+ - .q.reverse
+ - .q.rload
+ - .q.rotate
+ - .q.rsave
+ - .q.rtrim
+ - .q.save
+ - .q.scan
+ - .q.set
+ - .q.show
+ - .q.signum
+ - .q.ssr
+ - .q.string
+ - .q.sublist
+ - .q.sums
+ - .q.sv
+ - .q.system
+ - .q.tables
+ - .q.til
+ - .q.trim
+ - .q.txf
+ - .q.type
+ - .q.uj
+ - .q.ungroup
+ - .q.union
+ - .q.upper
+ - .q.upsert
+ - .q.value
+ - .q.var
+ - .q.view
+ - .q.views
+ - .q.vs
+ - .q.where
+ - .q.wj
+ - .q.wj1
+ - .q.xasc
+ - .q.xbar
+ - .q.xcol
+ - .q.xcols
+ - .q.xdesc
+ - .q.xgroup
+ - .q.xkey
+ - .q.xlog
+ - .q.xprev
+ - .q.xrank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/resources/pandoc/syntax-definitions/q.xml b/src/resources/pandoc/syntax-definitions/q.xml
new file mode 100644
index 00000000000..6d066fb8b2d
--- /dev/null
+++ b/src/resources/pandoc/syntax-definitions/q.xml
@@ -0,0 +1,210 @@
+
+
+
+
+
+ - .Q.addmonths
+ - .Q.addr
+ - .Q.host
+ - .Q.chk
+ - .Q.cn
+ - .Q.dd
+ - .Q.dpft
+ - .Q.dsftg
+ - .Q.def
+ - .Q.en
+ - .Q.fc
+ - .Q.fk
+ - .Q.fmt
+ - .Q.fs
+ - .Q.ft
+ - .Q.fu
+ - .Q.gc
+ - .Q.hdpf
+ - .Q.ind
+ - .Q.j10
+ - .Q.x10
+ - .Q.j12
+ - .Q.x12
+ - .Q.k
+ - .Q.l
+ - .Q.opt
+ - .Q.par
+ - .Q.qp
+ - .Q.qt
+ - .Q.s
+ - .Q.ty
+ - .Q.v
+ - .Q.V
+ - .Q.view
+ - .Q.w
+ - .Q.M
+ - .Q.pf
+ - .Q.pt
+ - .Q.PD
+ - .Q.PV
+ - .Q.pd
+ - .Q.pv
+ - .Q.pn
+ - .Q.bv
+ - .Q.vp
+ - .Q.P
+ - .Q.D
+ - .Q.u
+
+
+ - aj
+ - aj0
+ - all
+ - and
+ - any
+ - asc
+ - asof
+ - attr
+ - avgs
+ - ceiling
+ - cols
+ - cor
+ - count
+ - cov
+ - cross
+ - csv
+ - cut
+ - deltas
+ - desc
+ - dev
+ - differ
+ - distinct
+ - each
+ - ej
+ - enlist
+ - eval
+ - except
+ - fby
+ - fills
+ - first
+ - fkeys
+ - flip
+ - floor
+ - from
+ - get
+ - group
+ - gtime
+ - hclose
+ - hcount
+ - hdel
+ - hopen
+ - hsym
+ - iasc
+ - idesc
+ - ij
+ - inter
+ - inv
+ - key
+ - keys
+ - lj
+ - load
+ - lower
+ - lsq
+ - ltime
+ - ltrim
+ - mavg
+ - maxs
+ - mcount
+ - md5
+ - mdev
+ - med
+ - meta
+ - mins
+ - mmax
+ - mmin
+ - mmu
+ - mod
+ - msum
+ - neg
+ - next
+ - not
+ - null
+ - or
+ - over
+ - parse
+ - peach
+ - pj
+ - plist
+ - prds
+ - prev
+ - prior
+ - rand
+ - rank
+ - ratios
+ - raze
+ - read0
+ - read1
+ - reciprocal
+ - reverse
+ - rload
+ - rotate
+ - rsave
+ - rtrim
+ - save
+ - scan
+ - set
+ - show
+ - signum
+ - ssr
+ - string
+ - sublist
+ - sums
+ - sv
+ - system
+ - tables
+ - til
+ - trim
+ - txf
+ - type
+ - uj
+ - ungroup
+ - union
+ - update
+ - upper
+ - upsert
+ - value
+ - var
+ - view
+ - views
+ - vs
+ - where
+ - wj
+ - wj1
+ - xasc
+ - xbar
+ - xcol
+ - xcols
+ - xdesc
+ - xgroup
+ - xkey
+ - xlog
+ - xprev
+ - xrank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+