yamlFrontmatter() embeds the Markdown content as an overlay on the top-level
YAML-frontmatter tree. The previous mode (IgnoreMounts | IgnoreOverlays)
skipped that overlay entirely, so ATXHeading nodes were never visited and the
Quarto (.qmd) file outline was always empty.
Dropping the mode flag lets the iterator descend into overlay and mounted
subtrees. This is safe because every enterNode function already filters by
node name — visiting extra nodes from foreign-language mounts is a no-op.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
outline.ts: export NestingLevel so it can be used outside the file.
markdown/document-outline.ts: new enterMarkdownNode function that walks
the Lezer Markdown syntax tree and extracts ATXHeading1-6 and
SetextHeading1-2 nodes, mapping them to the same NestingLevel enum
used by the LaTeX outline (Section→SubSection→SubSubSection…).
Wrapped in makeProjectionStateField for incremental updates.
markdown/index.ts: register markdownDocumentOutline as a CodeMirror
extension in the Markdown LanguageSupport so the StateField is active
whenever a .qmd file is open.
codemirror-outline.tsx: fall back to markdownDocumentOutline when the
LaTeX documentOutline StateField is not present in the editor state
(i.e. when the active language is Markdown, not LaTeX).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Include \def commands in command definitions
* Allow command name to be in CtrlSym
* Pull nodeIntersectsChange check out of branches
* Fix \def handling
* Add handling for \newenvironment and \renewenvironment
* Allow \def to have optional arguments
* :x
Revert "Add handling for \newenvironment and \renewenvironment"
This reverts commit a70d3a0a13ed552daf3b761893e3f8609f0b0fc8.
* Add let commands to defintions
* Add environment names to math preview
* Ignore let command definitions in autocomplete
* Move nodeIntersectsChange check back into each block
* Add childOfNodeWithType utility and use to get command names
* commandNameText -> commandName
* Only include environment definitions
* Rename documentEnvironmentNames to documentEnvironments
* EnvironmentName -> Environment
* Format
GitOrigin-RevId: 9c5d701423ae786e5ff91960b4bcd94cd35d21c8
* [cm6] prefer showing full title in outline for sections
* fix test
* remove fallback
* test rename
GitOrigin-RevId: ac7a2a2c4fa7740a51661710953c85f03394292f
* [cm6+rt] getParentNode account for commands with arguments
* add explanation comment
* added test
* prettier
* check commandAncestor in same position
* using ancestorOfNodeWithToRange
* function rename
GitOrigin-RevId: bb837d956d029c1026dab03825634f24d5bc3905
* Update Copybara options in preparation for open-sourcing the source editor
* Move files
* Update paths
* Remove source-editor module and checks for its existence
* Explicitly mention CM6 license in files that contain code adapted from CM6
GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b