[ty] Default ty.inlayHints.* server settings to true (#19910)

## Summary

This PR changes the default of `ty.inlayHints.*` settings to `true`.

I somehow missed this in my initial PR.

This is marked as `internal` because it's not yet released.
This commit is contained in:
Dhruv Manilawala 2025-08-14 14:12:03 +05:30 committed by GitHub
parent d324cedfc2
commit 2ee47d87b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 68 additions and 4 deletions

View file

@ -243,8 +243,8 @@ struct InlayHintOptions {
impl InlayHintOptions {
fn into_settings(self) -> InlayHintSettings {
InlayHintSettings {
variable_types: self.variable_types.unwrap_or_default(),
function_argument_names: self.function_argument_names.unwrap_or_default(),
variable_types: self.variable_types.unwrap_or(true),
function_argument_names: self.function_argument_names.unwrap_or(true),
}
}
}

View file

@ -5,6 +5,60 @@ use ty_server::ClientOptions;
use crate::TestServerBuilder;
/// Tests that the default value of inlay hints settings is correct i.e., they're all enabled
/// by default.
#[test]
fn default_inlay_hints() -> Result<()> {
let workspace_root = SystemPath::new("src");
let foo = SystemPath::new("src/foo.py");
let foo_content = "\
x = 1
def foo(a: int) -> int:
return a + 1
foo(1)
";
let mut server = TestServerBuilder::new()?
.with_initialization_options(ClientOptions::default())
.with_workspace(workspace_root, None)?
.with_file(foo, foo_content)?
.enable_inlay_hints(true)
.build()?
.wait_until_workspaces_are_initialized()?;
server.open_text_document(foo, &foo_content, 1);
let _ = server.await_notification::<PublishDiagnostics>()?;
let hints = server
.inlay_hints_request(foo, Range::new(Position::new(0, 0), Position::new(6, 0)))?
.unwrap();
insta::assert_json_snapshot!(hints, @r#"
[
{
"position": {
"line": 0,
"character": 1
},
"label": ": Literal[1]",
"kind": 1
},
{
"position": {
"line": 5,
"character": 4
},
"label": "a=",
"kind": 1
}
]
"#);
Ok(())
}
/// Tests that disabling variable types inlay hints works correctly.
#[test]
fn variable_inlay_hints_disabled() -> Result<()> {