`LSP` support for code blocks in Neovim?

I’m editing markdown files of observable project in lazyvim, a nice configuration of the neovim text editor, which supports many LSPs, including markdown, javascript, html, css, etc.

However, I noticed that only the markdown lsp is attached, as shown below. Therefore, I’m unable to use the lsp features for javascript and html code blocks, such as “go to definition” and “show docstring”, etc.

May I ask if there is a way to provide lsp support for javascript and html code blocks in markdown files of an observable project?

A good example is quarto and otter.nvim, which provide lsp support for python, R, and observable js in the code blocks of their qmd files, as shown below.

Thanks.

LSP = Language Server Protocol :slight_smile:

We also want this to work in VSCode. See VSCode Extension? · Issue #882 · observablehq/framework · GitHub (that issue should be more generic, not just about VSCode).

1 Like