zed/crates/extension_api/wit
Roman Cinis c5383ce5d4
extension_api: Expose hard_tabs in LanguageSettings (#52560)
Closes #21822
The issue is closed already, but it was requested to provide the
`hard_tabs` boolean param.

Follow-up to #52175
Reviewed by @maxdeviant (it already bumped the settings path to v0.8.0,
so this `hard_tabs` change only needs 2 files, 2-3 lines of code
additions).


## Context

Exposes `hard_tabs` from `AllLanguageSettings` to the Extension
API's `LanguageSettings` struct. Currently, only `tab_size` and
`preferred_line_length` are available to extensions, which prevents
language extensions (e.g., Go, C++) from reading the user's hard tabs
preference and forwarding it to their language server or formatter
(e.g., as rustfmt.hard_tabs or clang-format.UseTab).

Related:
https://github.com/zed-industries/zed/issues/21822#issuecomment-4139809956

## How to Review

Small change — follow how `tab_size` is plumbed through:
1. WIT definition (`language-settings` record)
2. `extension_api` Rust struct
3. Host-side bridge conversion

The new field follows the exact same pattern.

## Self-Review Checklist

<!-- Check before requesting review: -->
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
  - Compile-time verified via WIT bindings; no runtime behavior change
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-07-10 11:51:16 +00:00
..
since_v0.0.1
since_v0.0.4
since_v0.0.6
since_v0.1.0
since_v0.2.0 zed_extension_api: Add a short explanation of repo format (#21824) 2024-12-10 15:04:47 -05:00
since_v0.3.0 zed_extension_api: Add simple process API (#25399) 2025-02-22 18:05:36 +00:00
since_v0.4.0 extension: Add support for additional_workspace_configuration and additional_initialization_options (#27407) 2025-03-25 18:23:59 +05:30
since_v0.5.0 extension_api: Add documentation to context server configuration (#29800) 2025-05-02 15:37:05 +00:00
since_v0.6.0 Move language-specific debugging docs to the page for each language (#33692) 2025-07-01 20:02:12 +00:00
since_v0.8.0 extension_api: Expose hard_tabs in LanguageSettings (#52560) 2026-07-10 11:51:16 +00:00