Allow controlling Tailwind via the language_servers
setting (#11012)
This PR adds the ability for the Tailwind language server (`tailwindcss-language-server`) to be controlled by the `language_servers` setting. Now in your settings you can indicate that the Tailwind language server should be used for a given language, even if that language does not have the Tailwind language server registered for it already: ```json { "languages": { "My Language": { "language_servers": ["tailwindcss-language-server", "..."] } } } ``` Release Notes: - N/A
This commit is contained in:
parent
c833a7e662
commit
3eac581a62
4 changed files with 113 additions and 18 deletions
|
@ -107,10 +107,7 @@ pub fn init(
|
|||
language!("cpp", vec![Arc::new(c::CLspAdapter)]);
|
||||
language!(
|
||||
"css",
|
||||
vec![
|
||||
Arc::new(css::CssLspAdapter::new(node_runtime.clone())),
|
||||
Arc::new(tailwind::TailwindLspAdapter::new(node_runtime.clone())),
|
||||
]
|
||||
vec![Arc::new(css::CssLspAdapter::new(node_runtime.clone())),]
|
||||
);
|
||||
language!("go", vec![Arc::new(go::GoLspAdapter)]);
|
||||
language!("gomod");
|
||||
|
@ -160,13 +157,7 @@ pub fn init(
|
|||
))]
|
||||
);
|
||||
language!("ruby", vec![Arc::new(ruby::RubyLanguageServer)]);
|
||||
language!(
|
||||
"erb",
|
||||
vec![
|
||||
Arc::new(ruby::RubyLanguageServer),
|
||||
Arc::new(tailwind::TailwindLspAdapter::new(node_runtime.clone())),
|
||||
]
|
||||
);
|
||||
language!("erb", vec![Arc::new(ruby::RubyLanguageServer),]);
|
||||
language!("regex");
|
||||
language!(
|
||||
"yaml",
|
||||
|
@ -174,14 +165,42 @@ pub fn init(
|
|||
);
|
||||
language!("proto");
|
||||
|
||||
// Register Tailwind globally as an available language server.
|
||||
//
|
||||
// This will allow users to add Tailwind support for a given language via
|
||||
// the `language_servers` setting:
|
||||
//
|
||||
// ```json
|
||||
// {
|
||||
// "languages": {
|
||||
// "My Language": {
|
||||
// "language_servers": ["tailwindcss-language-server", "..."]
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ```
|
||||
languages.register_available_lsp_adapter(
|
||||
LanguageServerName("tailwindcss-language-server".into()),
|
||||
{
|
||||
let node_runtime = node_runtime.clone();
|
||||
move || Arc::new(tailwind::TailwindLspAdapter::new(node_runtime.clone()))
|
||||
},
|
||||
);
|
||||
|
||||
// Register Tailwind for the existing languages that should have it by default.
|
||||
//
|
||||
// This can be driven by the `language_servers` setting once we have a way for
|
||||
// extensions to provide their own default value for that setting.
|
||||
let tailwind_languages = [
|
||||
"Astro",
|
||||
"CSS",
|
||||
"ERB",
|
||||
"HEEX",
|
||||
"HTML",
|
||||
"JavaScript",
|
||||
"PHP",
|
||||
"Svelte",
|
||||
"TSX",
|
||||
"JavaScript",
|
||||
"Vue.js",
|
||||
];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue