---@meta

---@class _.lspconfig.settings.zls.Zls.Trace
---Traces the communication between VS Code and the language server.
---
---```lua
---default = "off"
---```
---@field server? "off" | "messages" | "verbose"

---@class _.lspconfig.settings.zls.Zls
---Path to the `build_runner.zig` file provided by zls. null is equivalent to `${executable_directory}/build_runner.zig`
---@field build_runner_path? string
---Path to 'builtin;' useful for debugging, automatically set if let null
---@field builtin_path? string
---Whether to automatically check for new updates
---
---```lua
---default = true
---```
---@field check_for_update? boolean
---Enable debug logging in release builds of zls.
---@field debugLog? boolean
---Whether to enable ast-check diagnostics
---
---```lua
---default = true
---```
---@field enable_ast_check_diagnostics? boolean
---Whether to automatically fix errors on save. Currently supports adding and removing discards.
---@field enable_autofix? boolean
---Whether to enable import/embedFile argument completions
---@field enable_import_embedfile_argument_completions? boolean
---Enables inlay hint support when the client also supports it
---@field enable_inlay_hints? boolean
---Enables semantic token support when the client also supports it
---
---```lua
---default = true
---```
---@field enable_semantic_tokens? boolean
---Enables snippet completions when the client also supports them
---@field enable_snippets? boolean
---Path to a directroy that will be used as zig's cache. null is equivalent to `${KnownFloders.Cache}/zls`
---@field global_cache_path? string
---Whether to highlight global var declarations
---@field highlight_global_var_declarations? boolean
---Whether the @ sign should be part of the completion of builtins
---@field include_at_in_builtins? boolean
---Don't show inlay hints for single argument calls
---
---```lua
---default = true
---```
---@field inlay_hints_exclude_single_argument? boolean
---Hides inlay hints when parameter name matches the identifier (e.g. foo: foo)
---@field inlay_hints_hide_redundant_param_names? boolean
---Hides inlay hints when parameter name matches the last token of a parameter node (e.g. foo: bar.foo, foo: &foo)
---@field inlay_hints_hide_redundant_param_names_last_token? boolean
---Enable inlay hints for builtin functions
---
---```lua
---default = true
---```
---@field inlay_hints_show_builtin? boolean
---The detail field of completions is truncated to be no longer than this (in bytes)
---
---```lua
---default = 1048576
---```
---@field max_detail_length? integer
---Enables `*` and `?` operators in completion lists
---
---```lua
---default = true
---```
---@field operator_completions? boolean
---Path to `zls` executable. Example: `C:/zls/zig-cache/bin/zls.exe`.
---@field path? string
---When true, skips searching for references in std. Improves lookup speed for functions in user's code. Renaming and go-to-definition will continue to work as is
---@field skip_std_references? boolean
---@field trace? _.lspconfig.settings.zls.Zls.Trace
---Whether to use the comptime interpreter
---@field use_comptime_interpreter? boolean
---Enables warnings for style guideline mismatches
---@field warn_style? boolean
---Zig executable path, e.g. `/path/to/zig/zig`, used to run the custom build runner. If `null`, zig is looked up in `PATH`. Will be used to infer the zig standard library path if none is provided
---@field zig_exe_path? string
---Zig library path, e.g. `/path/to/zig/lib/zig`, used to analyze std library imports
---@field zig_lib_path? string

---@class lspconfig.settings.zls
---@field zls? _.lspconfig.settings.zls.Zls
