Astro extension for coc.nvim
coc-astro
fork from a astro-vscode
Astro extension for coc.nvim

Install
CocInstall:
:CocInstall @yaegassy/coc-astro
scoped packages
e.g. vim-plug:
Plug 'yaegassy/coc-astro', {'do': 'yarn install --frozen-lockfile'}
Note
Filetype related
The "filetype" must be astro for this extension to work.
Install "astro" related plugin. (e.g. vim-astro or nvim-treesitter).
How to set up TypeScript in your Astro project for coc.nvim
- You need coc-tsserver. Please install it if you haven't already.
coc-astrohas a setting to use@astrojs/ts-pluginin the extension as well asastro-vscode, so you can use typescript as it is.
[RECOMMENDED] Additional installation of "watchman"
In the @astrojs/language-server used by coc-astro, it utilizes the workspace/didChangeWatchedFiles notification to watch files within the project.
In coc.nvim, it is recommended to install watchman in order to utilize this feature.
- See:
watchman, you can use coc-astro without watchman, but you may not be able to immediately use IntelliSense with the newly added files.
In this case, please execute the command to restart the language server.
:CocRestart
Dealing with text corruption when determining completion item
coc-astro provides a setting called astro.disableResolveCompletionItem. Set this setting to true in coc-settings.json. The default is false.
Please note that if this setting is set to true, feature such as "auto-import" upon completion item determination will not work.
coc-settings.json:
{
"astro.disableResolveCompletionItem": true
}
- Related issues in upstream
Configuration options
astro.enable: Enable coc-astro extension, default:trueastro.disableResolveCompletionItem: DisablecompletionItem/resolvefeature, default:falseastro.useWorkspaceTsdk: Use workspace (project) detected tsLibs in astro. if false, use coc-astro's built-in tsLibs, default:falseastro.language-server.ls-path: Path to the language server executable. You won't need this in most cases, set this only when needing a specific version of the language server, default:nullastro.language-server.runtime: Path to the node executable used to execute the language server. You won't need this in most cases, default:nullastro.trace.server: Traces the communication between coc.nvim and the language server, valid option:["off", "messages", "verbose"], default:"off"
Commands
astro.findFileReferences: Astro: Find File Referencesastro.reloadProject: Astro: Reload Project
Thanks
License
MIT
This extension is built with create-coc-extension