-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support markdown headings in document symbols #168
Comments
for markdown this is handled by this |
|
For me the code outline works in mdx. Not sure if something has changed? |
@Temez1 Check the file type info in the status bar. If you see Markdown instead of Markdown React, then it must be something/where else to change the file type mapping. |
This is a first implementation of MDX IntelliSense for multiple editors. The idea is to turn this repository into a monorepo. The following packages have been added: - `@mdx-js/language-service` handles the actual logic needed for intellisense features. It wraps the TypeScript language service interface and handles MDX syntax. - `@mdx-js/language-server` provides `@mdx-js/language-service` as an actual language server. This package is supposed to be consumed by projects such as NeoVim, `vim-lsp`, `sublimelsp`, and Emacs `lsp-mode`. - `@mdx-js/language-client` is an internal package to integrates `@mdx-js/language-server` into VSCode. - `@mdx-js/monaco` integrates `@mdx-js/language-service` into Monaco editor. - `vscode-mdx` is the mono-repo root and provides `@mdx-js/language-server` as a VSCode plugin. Todos after these changes: - Go through “marketing” material, as in, examples, but also docs - Perhaps add tools like stylint for CSS in demos? - Lowercase `readme.md`, `license`? - Support the `components` prop - Host the demo (https://monaco.mdxjs.com styled consistently with MDX website? Or https://monaco-mdx.js.org analogous to https://monaco-tailwindcss.js.org / https://monaco-unified.js.org / https://monaco-yaml.js.org?) - Publish packages - Identify, test, and fix various corner cases - Support definitions referencing unopened files - #168 - Fix Windows tests - Move extension from project root into subpackage (blocked upstream) - Identify and implement missing TypeScript features - Support unified micromark syntax plugins (`frontmatter`, `gfm`, etc) in the language server - Support unified micromark syntax plugins in Monaco editor - Consider support for remark transformer plugins (`remark-mdx-frontmatter` introduces variables) - Consider support for rehype transformer plugins (`rehype-mdx-title` introduces a variable) - Support loose (invalid) JavaScript syntax Closes #165 (Intellisense is a broad concept. Please open new issues for specific missing features.) Closes #196 (I did use parts of this for inspiration. Thanks @Kingwl!) Closes #223
The initial IntelliSense added support for document symbols (used by for example the outline pane and breadcrumbs). Currently only JavaScript symbols are supported. I’ll use this issue to track support for markdown headings. |
- Volar handles the mapping between TypeScript and LSP. - Volar handles the mapping between TypeScript and Monaco editor. - Volar manages virtual files. - Volar imports TypeScript directly. As a result, the Monaco editor integration now requires `path` to be polyfilled. - It is no longer possible to pass compiler options in the Monaco editor integration. - This adds editor features for YAML based on `yaml-language-server`. This has been contributed upstream to Volar and is pending review. - Markdown features are now handled by `vscode-markdown-languageservice`. This will be contributed upstream to Volar soon. - Markdown definitions are broken due to a bug in Volar. - This adds `remark-frontmatter` with TOML and YAML support as well as `remark-gfm` by default unless specified otherwise in `tsconfig.json`. - The language server now requires `typescript.tsdk` to be passed via initialization options. - This adds support for debugging virtual documents using Volar labs. Closes #168 Closes #284 Closes #295 Closes #298 Closes #301
- Volar handles the mapping between TypeScript and LSP. - Volar handles the mapping between TypeScript and Monaco editor. - Volar manages virtual files. - Volar imports TypeScript directly. As a result, the Monaco editor integration now requires `path` to be polyfilled. - `@mdx-js/monaco` is deprecated and removed. - This adds `remark-frontmatter` with TOML and YAML support as well as `remark-gfm` by default unless specified otherwise in `tsconfig.json`. - The language server now requires `typescript.tsdk` to be passed via initialization options. - This adds support for debugging virtual documents using Volar labs. Closes #168 Closes #284 Closes #295 Closes #298 Closes #301 Co-authored-by: Christian Murphy <christian.murphy.42@gmail.com> Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
Released in |
Subject of the feature
VSCode has a outline panel, which works for markdown files, but currently not for mdx files. It would be great if it would!
Problem
Currently, the ouline pane shows a "No symbols found in document" message.
Expected behavior
Document outline should be accessible in outline pane.
Alternatives
Manually switch the language from "Markdown React" to "Markdown" to get the outline.
The text was updated successfully, but these errors were encountered: