astro-language-server
stdioastro
Used by 1 plugin
Requires Language Server Binary
This LSP server requires pwsh to be installed on your system. Make sure it's available in your PATH before enabling.
Install
1
Run in your terminal$
npx claudepluginhub bedolla/enrilspAdd to Your Project
Add to your .lsp.json or plugin.json:
{
"lspServers": {
"astro-language-server": {
"command": "pwsh",
"extensionToLanguage": {
".astro": "astro"
},
"args": [
"-NoLogo",
"-NoProfile",
"-NonInteractive",
"-ExecutionPolicy",
"Bypass",
"-Command",
"$ErrorActionPreference='Stop';$ProgressPreference='SilentlyContinue';$proxy=$null;$proxyCandidate=$null;if($env:CLAUDE_PLUGIN_ROOT){$proxyCandidate=[IO.Path]::Combine($env:CLAUDE_PLUGIN_ROOT,'hooks','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};if(-not $proxy){$proxyCandidate=[IO.Path]::Combine($env:LOCALAPPDATA,'EnriLSP','bin','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};if(-not $proxy){$proxyCandidate=[IO.Path]::Combine((Get-Location).Path,'hooks','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};$server=[IO.Path]::Combine($env:APPDATA,'npm','astro-ls.cmd');$tsdk=[IO.Path]::Combine($env:APPDATA,'npm','node_modules','typescript','lib');for($i=0;$i -lt 480 -and -not (Test-Path $server);$i++){Start-Sleep -Milliseconds 250};if(-not (Test-Path $server)){exit 127};if(Test-Path $tsdk){$env:ENRILSP_TSDK_PATH=$tsdk};if(Test-Path $proxy){& $proxy $server '--stdio'}else{& $server '--stdio'}"
]
}
}
}Supported Languages
astro
.astro
Command
pwshTransport
stdioArguments
-NoLogo-NoProfile-NonInteractive-ExecutionPolicyBypass-Command$ErrorActionPreference='Stop';$ProgressPreference='SilentlyContinue';$proxy=$null;$proxyCandidate=$null;if($env:CLAUDE_PLUGIN_ROOT){$proxyCandidate=[IO.Path]::Combine($env:CLAUDE_PLUGIN_ROOT,'hooks','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};if(-not $proxy){$proxyCandidate=[IO.Path]::Combine($env:LOCALAPPDATA,'EnriLSP','bin','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};if(-not $proxy){$proxyCandidate=[IO.Path]::Combine((Get-Location).Path,'hooks','enrilsp-lsp-proxy.ps1');if(Test-Path $proxyCandidate){$proxy=$proxyCandidate}};$server=[IO.Path]::Combine($env:APPDATA,'npm','astro-ls.cmd');$tsdk=[IO.Path]::Combine($env:APPDATA,'npm','node_modules','typescript','lib');for($i=0;$i -lt 480 -and -not (Test-Path $server);$i++){Start-Sleep -Milliseconds 250};if(-not (Test-Path $server)){exit 127};if(Test-Path $tsdk){$env:ENRILSP_TSDK_PATH=$tsdk};if(Test-Path $proxy){& $proxy $server '--stdio'}else{& $server '--stdio'}
Advanced Configuration
Restart on Crash:Yes