3. Activate the left neighbour tab if present:
```json
{
"activate_on_close": "left_neighbour"
}
```
### Show close button
- Description: Controls the appearance behavior of the tab's close button.
- Setting: `show_close_button`
- Default: `hover`
**Options**
1. Show it just upon hovering the tab:
```json
{
"show_close_button": "hover"
}
```
2. Show it persistently:
```json
{
"show_close_button": "always"
}
```
3. Never show it, even if hovering it:
```json
{
"show_close_button": "hidden"
}
```
### Show Diagnostics
- Description: Whether to show diagnostics indicators in tabs. This setting only works when file icons are active and controls which files with diagnostic issues to mark.
- Setting: `show_diagnostics`
- Default: `off`
**Options**
1. Do not mark any files:
```json
{
"show_diagnostics": "off"
}
```
2. Only mark files with errors:
```json
{
"show_diagnostics": "errors"
}
```
3. Mark files with errors and warnings:
```json
{
"show_diagnostics": "all"
}
```
### Show Inline Code Actions
- Description: Whether to show code action button at start of buffer line.
- Setting: `inline_code_actions`
- Default: `true`
**Options**
`boolean` values
## Editor Toolbar
- Description: Whether or not to show various elements in the editor toolbar.
- Setting: `toolbar`
- Default:
```json
"toolbar": {
"breadcrumbs": true,
"quick_actions": true,
"selections_menu": true,
"agent_review": true,
"code_actions": false
},
```
**Options**
Each option controls displaying of a particular toolbar element. If all elements are hidden, the editor toolbar is not displayed.
## Enable Language Server
- Description: Whether or not to use language servers to provide code intelligence.
- Setting: `enable_language_server`
- Default: `true`
**Options**
`boolean` values
## Ensure Final Newline On Save
- Description: Removes any lines containing only whitespace at the end of the file and ensures just one newline at the end.
- Setting: `ensure_final_newline_on_save`
- Default: `true`
**Options**
`boolean` values
## LSP
- Description: Configuration for language servers.
- Setting: `lsp`
- Default: `null`
**Options**
The following settings can be overridden for specific language servers:
- `initialization_options`
- `settings`
To override configuration for a language server, add an entry for that language server's name to the `lsp` value.
Some options are passed via `initialization_options` to the language server. These are for options which must be specified at language server startup and when changed will require restarting the language server.
For example to pass the `check` option to `rust-analyzer`, use the following configuration:
```json
"lsp": {
"rust-analyzer": {
"initialization_options": {
"check": {
"command": "clippy" // rust-analyzer.check.command (default: "check")
}
}
}
}
```
While other options may be changed at a runtime and should be placed under `settings`:
```json
"lsp": {
"yaml-language-server": {
"settings": {
"yaml": {
"keyOrdering": true // Enforces alphabetical ordering of keys in maps
}
}
}
}
```
## LSP Highlight Debounce
- Description: The debounce delay in milliseconds before querying highlights from the language server based on the current cursor location.
- Setting: `lsp_highlight_debounce`
- Default: `75`
**Options**
`integer` values representing milliseconds
## Format On Save
- Description: Whether or not to perform a buffer format before saving.
- Setting: `format_on_save`
- Default: `on`
**Options**
1. `on`, enables format on save obeying `formatter` setting:
```json
{
"format_on_save": "on"
}
```
2. `off`, disables format on save:
```json
{
"format_on_save": "off"
}
```
## Formatter
- Description: How to perform a buffer format.
- Setting: `formatter`
- Default: `auto`
**Options**
1. To use the current language server, use `"language_server"`:
```json
{
"formatter": "language_server"