2. `selection` only populate the search query when there is text selected
3. `never` never populate the search query
## Use Smartcase Search
- Description: When enabled, automatically adjusts search case sensitivity based on your query. If your search query contains any uppercase letters, the search becomes case-sensitive; if it contains only lowercase letters, the search becomes case-insensitive. \
This applies to both in-file searches and project-wide searches.
- Setting: `use_smartcase_search`
- Default: `false`
**Options**
`boolean` values
Examples:
- Searching for "function" would match "function", "Function", "FUNCTION", etc.
- Searching for "Function" would only match "Function", not "function" or "FUNCTION"
## Show Call Status Icon
- Description: Whether or not to show the call status icon in the status bar.
- Setting: `show_call_status_icon`
- Default: `true`
**Options**
`boolean` values
## Completions
- Description: Controls how completions are processed for this language.
- Setting: `completions`
- Default:
```json
{
"completions": {
"words": "fallback",
"lsp": true,
"lsp_fetch_timeout_ms": 0,
"lsp_insert_mode": "replace_suffix"
}
}
```
### Words
- Description: Controls how words are completed. For large documents, not all words may be fetched for completion.
- Setting: `words`
- Default: `fallback`
**Options**
1. `enabled` - Always fetch document's words for completions along with LSP completions
2. `fallback` - Only if LSP response errors or times out, use document's words to show completions
3. `disabled` - Never fetch or complete document's words for completions (word-based completions can still be queried via a separate action)
### LSP
- Description: Whether to fetch LSP completions or not.
- Setting: `lsp`
- Default: `true`
**Options**
`boolean` values
### LSP Fetch Timeout (ms)
- Description: When fetching LSP completions, determines how long to wait for a response of a particular server. When set to 0, waits indefinitely.
- Setting: `lsp_fetch_timeout_ms`
- Default: `0`
**Options**
`integer` values representing milliseconds
### LSP Insert Mode
- Description: Controls what range to replace when accepting LSP completions.
- Setting: `lsp_insert_mode`
- Default: `replace_suffix`
**Options**
1. `insert` - Replaces text before the cursor, using the `insert` range described in the LSP specification
2. `replace` - Replaces text before and after the cursor, using the `replace` range described in the LSP specification
3. `replace_subsequence` - Behaves like `"replace"` if the text that would be replaced is a subsequence of the completion text, and like `"insert"` otherwise
4. `replace_suffix` - Behaves like `"replace"` if the text after the cursor is a suffix of the completion, and like `"insert"` otherwise
## Show Completions On Input
- Description: Whether or not to show completions as you type.
- Setting: `show_completions_on_input`
- Default: `true`
**Options**
`boolean` values
## Show Completion Documentation
- Description: Whether to display inline and alongside documentation for items in the completions menu.
- Setting: `show_completion_documentation`
- Default: `true`
**Options**
`boolean` values
## Show Edit Predictions
- Description: Whether to show edit predictions as you type or manually by triggering `editor::ShowEditPrediction`.
- Setting: `show_edit_predictions`
- Default: `true`
**Options**
`boolean` values
## Show Whitespaces
- Description: Whether or not to render whitespace characters in the editor.
- Setting: `show_whitespaces`
- Default: `selection`
**Options**
1. `all`
2. `selection`
3. `none`
4. `boundary`
## Soft Wrap
- Description: Whether or not to automatically wrap lines of text to fit editor / preferred width.
- Setting: `soft_wrap`
- Default: `none`
**Options**
1. `none` to avoid wrapping generally, unless the line is too long
2. `prefer_line` (deprecated, same as `none`)
3. `editor_width` to wrap lines that overflow the editor width