Skills vim.lsp

Neovim LSP API Reference

install
source · Clone the upstream repo
git clone https://github.com/iiRoshdy/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/iiRoshdy/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/vim.lsp" ~/.claude/skills/iiroshdy-skills-vim-lsp && rm -rf "$T"
manifest: skills/vim.lsp/SKILL.md
source content

Neovim LSP API Reference

This document contains function definitions from Neovim's LSP help docs. Use this as a reference when working with LSP in Neovim Lua.


lsp

Functions extracted from

lsp.txt
.

vim.lsp.buf_attach_client({bufnr}, {client_id})
vim.lsp.buf_detach_client({bufnr}, {client_id})
vim.lsp.buf_is_attached({bufnr}, {client_id})
vim.lsp.buf_notify({bufnr}, {method}, {params})
vim.lsp.buf_request_all()
vim.lsp.buf_request_sync()
vim.lsp.client_is_stopped({client_id})
vim.lsp.config({name}, {cfg})
vim.lsp.enable({name}, {enable})
vim.lsp.foldclose({kind}, {winid})
vim.lsp.foldexpr({lnum})
vim.lsp.foldtext()
vim.lsp.formatexpr({opts})
vim.lsp.get_buffers_by_client_id()
vim.lsp.get_client_by_id({client_id})
vim.lsp.get_clients({filter})
vim.lsp.get_log_path()
vim.lsp.is_enabled({name})
vim.lsp.omnifunc({findstart}, {base})
vim.lsp.set_log_level({level})
vim.lsp.start({config}, {opts})
vim.lsp.status()
vim.lsp.stop_client({client_id}, {force})
vim.lsp.tagfunc({pattern}, {flags})
vim.lsp.buf.add_workspace_folder()
vim.lsp.buf.clear_references()
vim.lsp.buf.code_action({opts})
vim.lsp.buf.declaration({opts})
vim.lsp.buf.definition({opts})
vim.lsp.buf.document_highlight()
vim.lsp.buf.document_symbol({opts})
vim.lsp.buf.format({opts})
vim.lsp.buf.hover({config})
vim.lsp.buf.implementation({opts})
vim.lsp.buf.incoming_calls()
vim.lsp.buf.list_workspace_folders()
vim.lsp.buf.outgoing_calls()
vim.lsp.buf.references({context}, {opts})
vim.lsp.buf.remove_workspace_folder()
vim.lsp.buf.rename({new_name}, {opts})
vim.lsp.buf.signature_help({config})
vim.lsp.buf.type_definition({opts})
vim.lsp.buf.typehierarchy({kind})
vim.lsp.buf.workspace_symbol({query}, {opts})
vim.lsp.diagnostic.from({diagnostics})
vim.lsp.diagnostic.get_namespace()
vim.lsp.diagnostic.on_diagnostic()
vim.lsp.diagnostic.on_publish_diagnostics()
vim.lsp.codelens.clear({client_id}, {bufnr})
vim.lsp.codelens.display({lenses}, {bufnr}, {client_id})
vim.lsp.codelens.get({bufnr})
vim.lsp.codelens.on_codelens({err}, {result}, {ctx})
vim.lsp.codelens.refresh({opts})
vim.lsp.codelens.run()
vim.lsp.codelens.save({lenses}, {bufnr}, {client_id})
vim.lsp.completion.enable()
vim.lsp.completion.get({opts})
vim.lsp.inlay_hint.enable({enable}, {filter})
vim.lsp.inlay_hint.get({filter})
vim.lsp.inlay_hint.is_enabled({filter})
vim.lsp.semantic_tokens.force_refresh({bufnr})
vim.lsp.semantic_tokens.get_at_pos()
vim.lsp.semantic_tokens.highlight_token()
vim.lsp.semantic_tokens.start({bufnr}, {client_id}, {opts})
vim.lsp.semantic_tokens.stop({bufnr}, {client_id})
vim.lsp.util.apply_text_document_edit()
vim.lsp.util.apply_text_edits()
vim.lsp.util.apply_workspace_edit()
vim.lsp.util.buf_clear_references({bufnr})
vim.lsp.util.buf_highlight_references()
vim.lsp.util.character_offset()
vim.lsp.util.convert_input_to_markdown_lines()
vim.lsp.util.convert_signature_help_to_markdown_lines()
vim.lsp.util.get_effective_tabstop({bufnr})
vim.lsp.util.locations_to_items()
vim.lsp.util.make_floating_popup_options()
vim.lsp.util.make_formatting_params()
vim.lsp.util.make_given_range_params()
vim.lsp.util.make_position_params()
vim.lsp.util.make_range_params()
vim.lsp.util.make_text_document_params()
vim.lsp.util.make_workspace_params()
vim.lsp.util.open_floating_preview()
vim.lsp.util.preview_location({location}, {opts})
vim.lsp.util.rename({old_fname}, {new_fname}, {opts})
vim.lsp.util.show_document()
vim.lsp.util.stylize_markdown()
vim.lsp.util.symbols_to_items()
vim.lsp.log.get_filename()
vim.lsp.log.get_level()
vim.lsp.log.set_format_func({handle})
vim.lsp.log.set_level({level})
vim.lsp.log.should_log({level})
vim.lsp.rpc.connect({host_or_path}, {port})
vim.lsp.rpc.format_rpc_error({err})
vim.lsp.rpc.notify({method}, {params})
vim.lsp.rpc.request()
vim.lsp.rpc.rpc_response_error()
vim.lsp.rpc.start({cmd}, {dispatchers}, {extra_spawn_params})
vim.lsp.protocol.make_client_capabilities()
vim.lsp.protocol.resolve_capabilities()