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.mdsource 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()