12 Commits
Author SHA1 Message Date
Chris Biscardi 580943a459 Disable ask_user by default (#63036)
## Objective 

There are [some formatting
issues](https://github.com/zed-industries/zed/issues/62955) with the
`ask_user` tool, but more importantly they seem to be confusing when
sub-agents are used, which are not always visible immediately. (Some
team members flat out also don't like being given options, which is the
purpose of the tool).

## Solution

disable the `ask_user` tool by default, allowing users who want it to
enable it in settings by setting `"ask_user": true,` as such:

```json
"agent": {
    "profiles": {
      "write": {
        "name": "Write",
        "enable_all_context_servers": true,
        "tools": {
          "copy_path": true,
          "create_directory": true,
          "create_thread": true,
          "delete_path": true,
          "diagnostics": true,
          "apply_code_action": true,
          "ask_user": true,
          "edit_file": true,
          "write_file": true,
          "fetch": true,
          "find_path": true,
          "find_references": true,
          "get_code_actions": true,
          "go_to_definition": true,
          "list_agents_and_models": true,
          "list_directory": true,
          "move_path": true,
          "rename_symbol": true,
          "read_file": true,
          "grep": true,
          "skill": true,
          "spawn_agent": true,
          "terminal": true,
          "search_web": true,
        },
      },
    },
},
```

## Testing

Ask an agent to ask you a question. By default, options should not be
shown, with the above configuration options should be shown.

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

## Showcase

Without tool:

<img width="1138" height="556" alt="CleanShot 2026-08-21 at 10 21 35@2x"
src="https://github.com/user-attachments/assets/6fd2cdbb-af84-49e9-acc5-db5a4359acbe"
/>

With tool:

<img width="1160" height="974" alt="CleanShot 2026-08-21 at 10 22 57@2x"
src="https://github.com/user-attachments/assets/7a4488e4-96f0-40d4-a4c4-70f489b70f12"
/>


---

Release Notes:

- Disable ask_user tool by default
2026-08-21 17:42:46 +00:00
Chris BiscardiandKirill Bulatov bf2d51bcfd Implement inspector flag (#62920)
# Objective

Make it easy to conditionally enable the gpui inspector, with a goal of
eventually turning it on in nightly.

## Solution

The new `zed/inspector` flag (and supporting flags in other crates)
enables the relevant inspector features in `gpui`, `ui`, and
`inspector_ui` to be able to display the gpui inspector.

## Testing

- Enabling the inspector adds about 5mb to the binary, and for context
the zed binary is > 400mb at this time.
- Observationally, the inspector doesn't affect performance in a
meaningful way, but I did not run profiling.

```
# release with inspector (inspector on)
cargo run --release --features inspector
# release without inspector (inspector off)
cargo run --release
# dev build with debug assertions (inspector on)
cargo run
```

then trigger `dev::ToggleInspector`.

- linux: `ctrl-alt-i`
- windows: `shift-alt-i`
- macos: `cmd-alt-i`

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

---

Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2026-08-20 22:09:43 +00:00
Chris Biscardi f0f107c0dc Revert "terminal: Actually close process groups when the terminal is closed (#61467)" (#62399)
This reverts commit c5be61b3d5.

---

fixes #62286
fixes #62095

https://github.com/zed-industries/zed/pull/61467 fixed its intended bug,
but at the same time introduced an issue where running tasks that would
cause new tasks to be terminated immediately.
https://github.com/zed-industries/zed/pull/62322 tried to fix that
forward, but was unsuccessful. In the mean-time I am going to revert the
original PR.

We can try to re-land the original bugfix in a future PR.

Release Notes:

- N/A
2026-08-10 07:59:18 +00:00
Chris Biscardi 2d06fded9c Revert "editor: Add language detection for untitled buffers (#61201)" (#61351)
This reverts commit a98c7e2fa8.

# Objective

language detection is firing very often in channel notes, often picking
YAML instead of markdown, causing some language-detection flickering.

cc/ @amtoaer (author of the original PR)
2026-07-20 16:43:55 +00:00
Chris Biscardi 0befeef087 format on save: javascript docs (#60070)
# Objective

JavaScript docs for default `format-on-save` settings are out of date.

Small docs followup to https://github.com/zed-industries/zed/pull/59710

## Solution

Change docs to say that JavaScript format-on-save is now off by default.

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-06-29 08:19:22 +00:00
Chris Biscardi b48281a362 Disable format-on-save by default (#59710)
# Objective

Prevent the unexpected modification of files which do not have
established formatting conventions.

Enabling format-on-save by default can cause changes in ecosystems that
don't have established official formatting conventions, or when the
formatting conventions came later through new tools (like JavaScript).

fixes #59427

## Solution

This PR inverts the default, choosing to disable format-on-save by
default, and allowing it to be enabled by users at a global or language
level for any language which has an official formatter. However, any
ecosystem which has an official formatter has been left enabled.

This means languages like Rust, Go, and Zig have `format_on_save`
enabled because they come with official formatting tools, while
JavaScript, C/C++, and Markdown have it disabled by default.

For existing users, this means their custom configurations will stay,
but any values that were previously "default" will be updated.

## Testing

- open a file for the language being tested (ex: `python`)
- formatting should only be enabled if the default for the *language* is
enabled
- formatting can be enabled or disabled at the language level or the
global level in the settings

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

---

Release Notes:

- Disable format-on-save by default, except for languages with official
formatters
2026-06-29 07:57:58 +00:00
Chris Biscardi 22852a6431 Update Pull Request template (#59062)
# Objective

Give a bit more structure to contributors so that each (potentially new)
contributor doesn't have to come up with their own structure on-the-fly.

## Solution

Update the PR template to include sections for describing

- what the PR is trying to achieve
- how it decided to achieve the goal
- how reviewers can test the work
- demos of the new functionality

## Testing

I used the PR template for this PR, so reviewers can evaluate if they
think the structure is useful.

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

## Showcase

<details>
  <summary>Click to view showcase</summary>

### Before

<img width="1082" height="572" alt="image"
src="https://github.com/user-attachments/assets/bc72b8ab-f5ec-4270-b1ec-546456525e92"
/>

### After

<img width="1241" height="945" alt="image"
src="https://github.com/user-attachments/assets/088d90e4-2cb1-42cd-9f8f-0b2783ab7fe4"
/>


</details>

---

Release Notes:

- N/A
2026-06-12 00:46:42 +00:00
Chris Biscardi fb8da5b73d Remove double-click handling from git panel filenames (#58594)
Previously in the git panel, double clicking a filename would trigger
both the first-click action *and* the second-click action.

This PR removes the second click handling since we don't have a good
pattern for single-and-double-click handling.

### Before



https://github.com/user-attachments/assets/f03e53ae-a330-4f60-812d-a45a2d3f5f30

### After



https://github.com/user-attachments/assets/e09493a1-6477-4d43-80ea-26322dd1f083




Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] 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
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-06-04 22:59:00 +00:00
Chris Biscardi 495710468e Handle git push when there is no remote (#54522)
Previously hitting `Publish` in the git panel would silently fail with
no error message if the git repo was new or didn't have a remote.

Now, when hitting `Publish` or attempting to push when there is no
remote using keyboard shortcuts, or using `Push To` or force push
options, an error message will be displayed.

<img width="1135" height="522" alt="Screenshot 2026-04-22 at 10 02
26 AM"
src="https://github.com/user-attachments/assets/93c5e7ee-371e-4c2c-961b-42501cbd7119"
/>

<img width="1135" height="522" alt="Screenshot 2026-04-22 at 10 02
36 AM"
src="https://github.com/user-attachments/assets/a923e5f2-4099-45b5-8fe2-eb78f4fc9f10"
/>


Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] 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
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Fixed handling of `git push` when there is no remote available to push
to
2026-04-22 11:15:22 -07:00
Chris Biscardi 8d45a9f9de Taffy nightly lint updates (#54037)
Fixes a new lint on nightly, which crops up in gpui's taffy integration
[error logs from main's
build](https://github.com/zed-industries/zed/actions/runs/24491477164/job/71577226631).

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] 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
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A
2026-04-15 22:17:22 -07:00
Chris BiscardiandAnthony Eid 34337e44ff Save Settings text inputs on blur (#53036)
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2026-04-07 09:14:47 -07:00
Chris Biscardi f20da0d86e Upgrade tree-sitter-rust, de-list bsn (#52251)
## Context

Recently, we put bsn in the list of "macros to not reparse as rust"
(#51353).

We have since updated tree-sitter-rust to better handle the `@"string"`,
`:"string"`, etc cases, and can un-list bsn from the special casing.

on main, the highlighting currently looks like this for `bsn` and for
`not` (represents "other macros"). Note the `:"player.bsn"` string is
re-parsed as rust tokens.

<img width="1728" height="1084" alt="Screenshot 2026-03-23 at 9 33
35 AM"
src="https://github.com/user-attachments/assets/94ea5a6d-228b-44dd-857b-c41edcbd9af0"
/>

This pr, plus the tree-sitter-rust updates results in better handling by
default.

<img width="1728" height="1084" alt="Screenshot 2026-03-23 at 11 38
47 AM"
src="https://github.com/user-attachments/assets/fb6f71e3-7bcf-4c06-8e84-ce0823010b2e"
/>

Release Notes:

- N/A
2026-03-23 17:29:01 -07:00