CLI Commands

fish-lsp [OPTIONS]
fish-lsp [SUBCOMMAND] [OPTIONS]

fish-lsp is driven by a small set of subcommands. The most important is start (used by editors); the rest help you configure, inspect, and debug the server.

Global Options

fish-lsp --version        # version information
fish-lsp --help           # help message
fish-lsp --help-all       # every subcommand and flag
fish-lsp --help-short     # shortened help
fish-lsp --help-man       # manpage-style output

start

Start the language server. This is the command your editor runs.

fish-lsp start
FlagDescription
--enable <handler...>Enable specific handlers
--disable <handler...>Disable specific handlers
--dumpPrint the resolved/enabled features as JSON and exit
--stdioUse stdin/stdout for communication (default)
--node-ipcUse Node IPC for communication
--socket <port>Use a TCP socket
--memory-limit <mb>Set a memory usage limit (MB)
--max-files <number>Override the max number of files to analyze
--webWeb mode (used by the playground)
# inspect which handlers are enabled, without actually running the server
fish-lsp start --disable complete signature --dump

Flags override their corresponding environment variables.

env

Generate the fish_lsp_* environment variables.

fish-lsp env --create                 # full template (commented)
fish-lsp env --show-default           # template with default values
fish-lsp env --show-default --confd   # conf.d-ready (sourced only if installed)
fish-lsp env --show-default --json    # JSON (for a VSCode settings.json)
FlagDescription
-c, --createCreate the environment variables
-s, --showShow the current environment variables
--show-defaultShow default values
--only <VAR>Limit output to specific variables
--confdOutput for conf.d/fish-lsp.fish
--jsonOutput as a JSON object
--no-commentsOmit explanatory comments
--no-global / --no-local / --no-exportControl variable scope/export

info

Show build info and run diagnostics. See Debugging for usage.

FlagDescription
--bin / --pathPath of the executable / installation
--version / --lsp-versionfish-lsp / vscode-languageserver version
--build-time / --build-typeBuild metadata
--capabilitiesLSP capabilities
--check-healthRun diagnostics and report health
--time-startup / --time-onlyTime the startup/indexing
--use-workspace <PATH>Scope --time-startup to a folder
--log-file / --man-filePath of the log / man file (--show to print contents)
--dump-parse-tree <FILE>tree-sitter AST for a file
--dump-symbol-tree <FILE>fish-lsp symbol tree for a file
--dump-semantic-tokens <FILE>Semantic tokens for a file
--short / --jsonCompact / JSON output
fish-lsp info --check-health
fish-lsp info --short --json

complete

Generate completions for the fish-lsp command itself.

fish-lsp complete > ~/.config/fish/completions/fish-lsp.fish
FlagDescription
--names / --names-with-summaryFeature names (optionally with summaries)
--fishOutput the fish completion script
--env-variables / --env-variable-namesfish_lsp_* completions
--abbreviationsSubcommand abbreviations

url

Print a helpful project URL.

fish-lsp url --repo          # GitHub repo
fish-lsp url --npm           # npm package
fish-lsp url --wiki          # GitHub wiki
fish-lsp url --discussions   # discussions
fish-lsp url --clients-repo  # client configuration examples

Man Page

# install the manpage on your system
fish-lsp info --man-file --show > $MANPATH[1]/man1/fish-lsp.1

You can also download fish-lsp.1 from the latest GitHub release.