# Efm Langserver
> - 1. Property`commands`
---
# efm-langserver
- [1. Property `commands`](#commands)
- [1.1. commands items](#autogenerated_heading_2)
- [1.1.1. Property `arguments`](#commands_items_arguments)
- [1.1.1.1. arguments items](#autogenerated_heading_3)
- [1.1.2. Property `command`](#commands_items_command)
- [1.1.3. Property `os`](#commands_items_os)
- [1.1.4. Property `title`](#commands_items_title)
- [2. Property `languages`](#languages)
- [2.1. Pattern Property `^([a-z0-9_-]+)+$`](#languages_pattern1)
- [2.1.1. tool-definition](#autogenerated_heading_4)
- [2.1.1.1. Property `prefix`](#languages_pattern1_items_prefix)
- [2.1.1.2. Property `format-can-range`](#languages_pattern1_items_format-can-range)
- [2.1.1.3. Property `format-command`](#languages_pattern1_items_format-command)
- [2.1.1.4. Property `format-stdin`](#languages_pattern1_items_format-stdin)
- [2.1.1.5. Property `hover-command`](#languages_pattern1_items_hover-command)
- [2.1.1.6. Property `hover-stdin`](#languages_pattern1_items_hover-stdin)
- [2.1.1.7. Property `hover-type`](#languages_pattern1_items_hover-type)
- [2.1.1.8. Property `hover-chars`](#languages_pattern1_items_hover-chars)
- [2.1.1.9. Property `env`](#languages_pattern1_items_env)
- [2.1.1.9.1. env items](#autogenerated_heading_5)
- [2.1.1.10. Property `lint-command`](#languages_pattern1_items_lint-command)
- [2.1.1.11. Property `lint-offset-columns`](#languages_pattern1_items_lint-offset-columns)
- [2.1.1.12. Property `lint-category-map`](#languages_pattern1_items_lint-category-map)
- [2.1.1.13. Property `lint-formats`](#languages_pattern1_items_lint-formats)
- [2.1.1.13.1. lint-formats items](#autogenerated_heading_6)
- [2.1.1.14. Property `lint-ignore-exit-code`](#languages_pattern1_items_lint-ignore-exit-code)
- [2.1.1.15. Property `lint-offset`](#languages_pattern1_items_lint-offset)
- [2.1.1.16. Property `lint-on-save`](#languages_pattern1_items_lint-on-save)
- [2.1.1.17. Property `lint-severity`](#languages_pattern1_items_lint-severity)
- [2.1.1.18. Property `lint-source`](#languages_pattern1_items_lint-source)
- [2.1.1.19. Property `lint-stdin`](#languages_pattern1_items_lint-stdin)
- [2.1.1.20. Property `lint-workspace`](#languages_pattern1_items_lint-workspace)
- [2.1.1.21. Property `completion-command`](#languages_pattern1_items_completion-command)
- [2.1.1.22. Property `completion-stdin`](#languages_pattern1_items_completion-stdin)
- [2.1.1.23. Property `symbol-command`](#languages_pattern1_items_symbol-command)
- [2.1.1.24. Property `symbol-stdin`](#languages_pattern1_items_symbol-stdin)
- [2.1.1.25. Property `symbol-formats`](#languages_pattern1_items_symbol-formats)
- [2.1.1.25.1. symbol-formats items](#autogenerated_heading_7)
- [2.1.1.26. Property `root-markers`](#languages_pattern1_items_root-markers)
- [2.1.1.26.1. root-markers items](#autogenerated_heading_8)
- [2.1.1.27. Property `require-marker`](#languages_pattern1_items_require-marker)
- [2.1.1.28. Property `commands`](#languages_pattern1_items_commands)
- [3. Property `tools`](#tools)
- [3.1. Pattern Property `tool-definition`](#tools_pattern1)
- [4. Property `version`](#version)
- [5. Property `root-markers`](#root-markers)
- [5.1. root-markers items](#autogenerated_heading_9)
- [6. Property `log-file`](#log-file)
- [7. Property `log-level`](#log-level)
- [8. Property `format-debounce`](#format-debounce)
- [9. Property `lint-debounce`](#lint-debounce)
- [10. Property `provide-definition`](#provide-definition)
- [11. Property `trigger-chars`](#trigger-chars)
- [11.1. trigger-chars items](#autogenerated_heading_10)
**Title:** efm-langserver
| | |
| ------------------------- | ------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Not allowed]](# "Additional Properties not allowed.") |
**Description:** If configuring via `DidChangeConfiguration` (e.g. an editor API such as `nvim-lspconfig`), all properties should be in camelCase instead of kebab-case.
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
| -------------------------------------------- | ------- | --------------- | ---------- | ----------------------------------- | ------------------------------------------------------------------------------------- |
| - [commands](#commands ) | No | array of object | No | In #/definitions/command-definition | list of commands |
| - [languages](#languages ) | No | object | No | - | list of language |
| - [tools](#tools ) | No | object | No | - | definition of tools |
| - [version](#version ) | No | number | No | - | version of this yaml format |
| - [root-markers](#root-markers ) | No | array of string | No | - | markers to find root directory |
| - [log-file](#log-file ) | No | string | No | - | (YAML only) path to log file |
| - [log-level](#log-level ) | No | number | No | - | log level |
| - [format-debounce](#format-debounce ) | No | string | No | - | duration to debounce calls to the formatter executable. e.g: 1s |
| - [lint-debounce](#lint-debounce ) | No | string | No | - | duration to debounce calls to the linter executable. e.g.: 1s |
| - [provide-definition](#provide-definition ) | No | boolean | No | - | (YAML only) Whether this language server should be used for go-to-definition requests |
| - [trigger-chars](#trigger-chars ) | No | array of string | No | - | trigger characters for completion |
## 1. Property `commands`
| | |
| -------------- | -------------------------------- |
| **Type** | `array of object` |
| **Required** | No |
| **Defined in** | #/definitions/command-definition |
**Description:** list of commands
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| --------------------------------- | ----------- |
| [commands items](#commands_items) | - |
### 1.1. commands items
| | |
| ------------------------- | ------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Not allowed]](# "Additional Properties not allowed.") |
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
| ----------------------------------------- | ------- | --------------- | ---------- | ---------- | --------------------------------- |
| - [arguments](#commands_items_arguments ) | No | array of string | No | - | arguments for the command |
| - [command](#commands_items_command ) | No | string | No | - | command to execute |
| - [os](#commands_items_os ) | No | string | No | - | command executable OS environment |
| - [title](#commands_items_title ) | No | string | No | - | title for clients |
#### 1.1.1. Property `arguments`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** arguments for the command
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| -------------------------------------------------- | ----------- |
| [arguments items](#commands_items_arguments_items) | - |
##### 1.1.1.1. arguments items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
#### 1.1.2. Property `command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** command to execute
#### 1.1.3. Property `os`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** command executable OS environment
#### 1.1.4. Property `title`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** title for clients
## 2. Property `languages`
| | |
| ------------------------- | ------------------------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Any type: allowed]](# "Additional Properties of any type are allowed.") |
**Description:** list of language
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
| ------------------------------------------ | ------- | ----- | ---------- | ---------- | ----------------- |
| - [^([a-z0-9_-]+)+$](#languages_pattern1 ) | Yes | array | No | - | - |
### 2.1. Pattern Property `^([a-z0-9_-]+)+$`
> All properties whose name matches the regular expression
```^([a-z0-9_-]+)+$``` ([Test](https://regex101.com/?regex=%5E%28%5Ba-z0-9_-%5D%2B%29%2B%24))
must respect the following conditions
| | |
| ------------ | ------- |
| **Type** | `array` |
| **Required** | No |
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| -------------------------------------------- | ---------------------- |
| [tool-definition](#languages_pattern1_items) | definition of the tool |
#### 2.1.1. tool-definition
| | |
| ------------------------- | ------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Not allowed]](# "Additional Properties not allowed.") |
| **Defined in** | #/definitions/tool-definition |
**Description:** definition of the tool
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
| --------------------------------------------------------------------------- | ------- | ---------------- | ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| - [prefix](#languages_pattern1_items_prefix ) | No | string | No | - | If `lint-source` doesn't work, you can set a prefix here instead, which will render the messages as "[prefix] message". |
| - [format-can-range](#languages_pattern1_items_format-can-range ) | No | boolean | No | - | Whether the formatting command handles range start and range end |
| - [format-command](#languages_pattern1_items_format-command ) | No | string | No | - | Formatting command. Input filename can be injected using `${INPUT}`, and flags can be injected using `${--flag:key}` (adds `--flag ` if value exists for key), `${--flag=key}` (adds `--flag=` if value exists for key), or `${--flag:!key}` (adds `--flag` if value for key is falsy).
`efm-langserver` may provide values for keys `charStart`, `charEnd`, `rowStart`, `rowEnd`, `colStart`, `colEnd`, or any key in [`interface FormattingOptions`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#formattingOptions).
Example: `prettier --stdin --stdin-filepath ${INPUT} ${--tab-width:tabWidth} ${--use-tabs:insertSpaces} ${--range-start=charStart} ${--range-start=charEnd}` |
| - [format-stdin](#languages_pattern1_items_format-stdin ) | No | boolean | No | - | use stdin for the format |
| - [hover-command](#languages_pattern1_items_hover-command ) | No | string | No | - | hover command |
| - [hover-stdin](#languages_pattern1_items_hover-stdin ) | No | boolean | No | - | use stdin for the hover |
| - [hover-type](#languages_pattern1_items_hover-type ) | No | enum (of string) | No | - | hover result type |
| - [hover-chars](#languages_pattern1_items_hover-chars ) | No | string | No | - | - |
| - [env](#languages_pattern1_items_env ) | No | array of string | No | - | command environment variables and values |
| - [lint-command](#languages_pattern1_items_lint-command ) | No | string | No | - | Lint command. Input filename can be injected using `${INPUT}`. |
| - [lint-offset-columns](#languages_pattern1_items_lint-offset-columns ) | No | number | No | - | offset value to skip columns |
| - [lint-category-map](#languages_pattern1_items_lint-category-map ) | No | object | No | - | Map linter categories to LSP categories |
| - [lint-formats](#languages_pattern1_items_lint-formats ) | No | array of string | No | - | List of Vim errorformats to capture. See: https://vimhelp.org/quickfix.txt.html#errorformats. If this is not expressive enough, you can edit the `lint-command` to do some preprocessing, e.g. using `sed` or `jq`.
`efm-langserver` uses a Go implementation to parse the errors, which comes with a CLI for quick testing: https://github.com/reviewdog/errorformat |
| - [lint-ignore-exit-code](#languages_pattern1_items_lint-ignore-exit-code ) | No | boolean | No | - | ignore exit code of lint |
| - [lint-offset](#languages_pattern1_items_lint-offset ) | No | number | No | - | offset value to skip lines |
| - [lint-on-save](#languages_pattern1_items_lint-on-save ) | No | boolean | No | - | only lint on save, i.e. don't lint on text changed |
| - [lint-severity](#languages_pattern1_items_lint-severity ) | No | number | No | - | default severity to show if violation doesn't provide severity. 1 = error, 2 = warning, 3 = info, 4 = hint |
| - [lint-source](#languages_pattern1_items_lint-source ) | No | string | No | - | show where the lint came from, e.g. 'eslint' |
| - [lint-stdin](#languages_pattern1_items_lint-stdin ) | No | boolean | No | - | use stdin for the lint |
| - [lint-workspace](#languages_pattern1_items_lint-workspace ) | No | boolean | No | - | indicates that the command lints the whole workspace and thus doesn't need a filename argument nor stdin |
| - [completion-command](#languages_pattern1_items_completion-command ) | No | string | No | - | completion command |
| - [completion-stdin](#languages_pattern1_items_completion-stdin ) | No | boolean | No | - | use stdin for the completion |
| - [symbol-command](#languages_pattern1_items_symbol-command ) | No | string | No | - | - |
| - [symbol-stdin](#languages_pattern1_items_symbol-stdin ) | No | boolean | No | - | - |
| - [symbol-formats](#languages_pattern1_items_symbol-formats ) | No | array of string | No | - | - |
| - [root-markers](#languages_pattern1_items_root-markers ) | No | array of string | No | - | markers to find root directory |
| - [require-marker](#languages_pattern1_items_require-marker ) | No | boolean | No | - | require a marker to run linter |
| - [commands](#languages_pattern1_items_commands ) | No | array of object | No | Same as [commands](#commands ) | list of commands |
##### 2.1.1.1. Property `prefix`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** If `lint-source` doesn't work, you can set a prefix here instead, which will render the messages as "[prefix] message".
##### 2.1.1.2. Property `format-can-range`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** Whether the formatting command handles range start and range end
##### 2.1.1.3. Property `format-command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** Formatting command. Input filename can be injected using `${INPUT}`, and flags can be injected using `${--flag:key}` (adds `--flag ` if value exists for key), `${--flag=key}` (adds `--flag=` if value exists for key), or `${--flag:!key}` (adds `--flag` if value for key is falsy).
`efm-langserver` may provide values for keys `charStart`, `charEnd`, `rowStart`, `rowEnd`, `colStart`, `colEnd`, or any key in [`interface FormattingOptions`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#formattingOptions).
Example: `prettier --stdin --stdin-filepath ${INPUT} ${--tab-width:tabWidth} ${--use-tabs:insertSpaces} ${--range-start=charStart} ${--range-start=charEnd}`
##### 2.1.1.4. Property `format-stdin`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** use stdin for the format
##### 2.1.1.5. Property `hover-command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** hover command
##### 2.1.1.6. Property `hover-stdin`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** use stdin for the hover
##### 2.1.1.7. Property `hover-type`
| | |
| ------------ | ------------------ |
| **Type** | `enum (of string)` |
| **Required** | No |
**Description:** hover result type
Must be one of:
* "markdown"
* "plaintext"
##### 2.1.1.8. Property `hover-chars`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
##### 2.1.1.9. Property `env`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** command environment variables and values
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ------------------------------------------------ | ----------- |
| [env items](#languages_pattern1_items_env_items) | - |
##### 2.1.1.9.1. env items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
| Restrictions | |
| --------------------------------- | ------------------------------------------------------------------- |
| **Must match regular expression** | ```^.+=.+$``` [Test](https://regex101.com/?regex=%5E.%2B%3D.%2B%24) |
##### 2.1.1.10. Property `lint-command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** Lint command. Input filename can be injected using `${INPUT}`.
##### 2.1.1.11. Property `lint-offset-columns`
| | |
| ------------ | -------- |
| **Type** | `number` |
| **Required** | No |
**Description:** offset value to skip columns
##### 2.1.1.12. Property `lint-category-map`
| | |
| ------------------------- | ------------------------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Any type: allowed]](# "Additional Properties of any type are allowed.") |
**Description:** Map linter categories to LSP categories
##### 2.1.1.13. Property `lint-formats`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** List of Vim errorformats to capture. See: https://vimhelp.org/quickfix.txt.html#errorformats. If this is not expressive enough, you can edit the `lint-command` to do some preprocessing, e.g. using `sed` or `jq`.
`efm-langserver` uses a Go implementation to parse the errors, which comes with a CLI for quick testing: https://github.com/reviewdog/errorformat
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ------------------------------------------------------------------ | ----------- |
| [lint-formats items](#languages_pattern1_items_lint-formats_items) | - |
##### 2.1.1.13.1. lint-formats items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
##### 2.1.1.14. Property `lint-ignore-exit-code`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
| **Default** | `true` |
**Description:** ignore exit code of lint
##### 2.1.1.15. Property `lint-offset`
| | |
| ------------ | -------- |
| **Type** | `number` |
| **Required** | No |
**Description:** offset value to skip lines
##### 2.1.1.16. Property `lint-on-save`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** only lint on save, i.e. don't lint on text changed
##### 2.1.1.17. Property `lint-severity`
| | |
| ------------ | -------- |
| **Type** | `number` |
| **Required** | No |
**Description:** default severity to show if violation doesn't provide severity. 1 = error, 2 = warning, 3 = info, 4 = hint
##### 2.1.1.18. Property `lint-source`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** show where the lint came from, e.g. 'eslint'
##### 2.1.1.19. Property `lint-stdin`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
| **Default** | `true` |
**Description:** use stdin for the lint
##### 2.1.1.20. Property `lint-workspace`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** indicates that the command lints the whole workspace and thus doesn't need a filename argument nor stdin
##### 2.1.1.21. Property `completion-command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** completion command
##### 2.1.1.22. Property `completion-stdin`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
| **Default** | `true` |
**Description:** use stdin for the completion
##### 2.1.1.23. Property `symbol-command`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
##### 2.1.1.24. Property `symbol-stdin`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
##### 2.1.1.25. Property `symbol-formats`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ---------------------------------------------------------------------- | ----------- |
| [symbol-formats items](#languages_pattern1_items_symbol-formats_items) | - |
##### 2.1.1.25.1. symbol-formats items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
##### 2.1.1.26. Property `root-markers`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** markers to find root directory
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ------------------------------------------------------------------ | ----------- |
| [root-markers items](#languages_pattern1_items_root-markers_items) | - |
##### 2.1.1.26.1. root-markers items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
##### 2.1.1.27. Property `require-marker`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** require a marker to run linter
##### 2.1.1.28. Property `commands`
| | |
| ---------------------- | --------------------- |
| **Type** | `array of object` |
| **Required** | No |
| **Same definition as** | [commands](#commands) |
**Description:** list of commands
## 3. Property `tools`
| | |
| ------------------------- | ------------------------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Any type: allowed]](# "Additional Properties of any type are allowed.") |
**Description:** definition of tools
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
| -------------------------------------- | ------- | ------ | ---------- | -------------------------------------------------------------- | ---------------------- |
| - [^([a-z0-9_-]+)+$](#tools_pattern1 ) | Yes | object | No | Same as [languages_pattern1_items](#languages_pattern1_items ) | definition of the tool |
### 3.1. Pattern Property `tool-definition`
> All properties whose name matches the regular expression
```^([a-z0-9_-]+)+$``` ([Test](https://regex101.com/?regex=%5E%28%5Ba-z0-9_-%5D%2B%29%2B%24))
must respect the following conditions
| | |
| ------------------------- | ------------------------------------------------------- |
| **Type** | `object` |
| **Required** | No |
| **Additional properties** | [[Not allowed]](# "Additional Properties not allowed.") |
| **Same definition as** | [languages_pattern1_items](#languages_pattern1_items) |
**Description:** definition of the tool
## 4. Property `version`
| | |
| ------------ | -------- |
| **Type** | `number` |
| **Required** | No |
**Description:** version of this yaml format
## 5. Property `root-markers`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** markers to find root directory
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ----------------------------------------- | ----------- |
| [root-markers items](#root-markers_items) | - |
### 5.1. root-markers items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
## 6. Property `log-file`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** (YAML only) path to log file
## 7. Property `log-level`
| | |
| ------------ | -------- |
| **Type** | `number` |
| **Required** | No |
**Description:** log level
| Restrictions | |
| ------------ | ------ |
| **Minimum** | ≥ 1 |
## 8. Property `format-debounce`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** duration to debounce calls to the formatter executable. e.g: 1s
## 9. Property `lint-debounce`
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
**Description:** duration to debounce calls to the linter executable. e.g.: 1s
## 10. Property `provide-definition`
| | |
| ------------ | --------- |
| **Type** | `boolean` |
| **Required** | No |
**Description:** (YAML only) Whether this language server should be used for go-to-definition requests
## 11. Property `trigger-chars`
| | |
| ------------ | ----------------- |
| **Type** | `array of string` |
| **Required** | No |
**Description:** trigger characters for completion
| | Array restrictions |
| -------------------- | ------------------ |
| **Min items** | N/A |
| **Max items** | N/A |
| **Items unicity** | False |
| **Additional items** | False |
| **Tuple validation** | See below |
| Each item of this array must be | Description |
| ------------------------------------------- | ----------- |
| [trigger-chars items](#trigger-chars_items) | - |
### 11.1. trigger-chars items
| | |
| ------------ | -------- |
| **Type** | `string` |
| **Required** | No |
----------------------------------------------------------------------------------------------------------------------------
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2023-09-06 at 04:43:26 -0700