Neovim LSP API Reference
This document contains function definitions from Neovim's LSP help docs.
Best use case
Neovim LSP API Reference is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This document contains function definitions from Neovim's LSP help docs.
Teams using Neovim LSP API Reference should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/vim.lsp/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Neovim LSP API Reference Compares
| Feature / Agent | Neovim LSP API Reference | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This document contains function definitions from Neovim's LSP help docs.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# 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`.
```lua
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({bufnr}, {method}, {params}, {handler})
vim.lsp.buf_request_sync({bufnr}, {method}, {params}, {timeout_ms})
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({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({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({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({client_id}, {is_pull})
vim.lsp.diagnostic.on_diagnostic({error}, {result}, {ctx})
vim.lsp.diagnostic.on_publish_diagnostics({_}, {params}, {ctx})
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({enable}, {client_id}, {bufnr}, {opts})
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({bufnr}, {row}, {col})
vim.lsp.semantic_tokens.highlight_token({token}, {bufnr}, {client_id}, {hl_group}, {opts})
vim.lsp.semantic_tokens.start({bufnr}, {client_id}, {opts})
vim.lsp.semantic_tokens.stop({bufnr}, {client_id})
vim.lsp.util.apply_text_document_edit({text_document_edit}, {index}, {position_encoding})
vim.lsp.util.apply_text_edits({text_edits}, {bufnr}, {position_encoding})
vim.lsp.util.apply_workspace_edit({workspace_edit}, {position_encoding})
vim.lsp.util.buf_clear_references({bufnr})
vim.lsp.util.buf_highlight_references({bufnr}, {references}, {position_encoding})
vim.lsp.util.character_offset({buf}, {row}, {col}, {offset_encoding})
vim.lsp.util.convert_input_to_markdown_lines({input}, {contents})
vim.lsp.util.convert_signature_help_to_markdown_lines({signature_help}, {ft}, {triggers})
vim.lsp.util.get_effective_tabstop({bufnr})
vim.lsp.util.locations_to_items({locations}, {position_encoding})
vim.lsp.util.make_floating_popup_options({width}, {height}, {opts})
vim.lsp.util.make_formatting_params({options})
vim.lsp.util.make_given_range_params({start_pos}, {end_pos}, {bufnr}, {position_encoding})
vim.lsp.util.make_position_params({window}, {position_encoding})
vim.lsp.util.make_range_params({window}, {position_encoding})
vim.lsp.util.make_text_document_params({bufnr})
vim.lsp.util.make_workspace_params({added}, {removed})
vim.lsp.util.open_floating_preview({contents}, {syntax}, {opts})
vim.lsp.util.preview_location({location}, {opts})
vim.lsp.util.rename({old_fname}, {new_fname}, {opts})
vim.lsp.util.show_document({location}, {position_encoding}, {opts})
vim.lsp.util.stylize_markdown({bufnr}, {contents}, {opts})
vim.lsp.util.symbols_to_items({symbols}, {bufnr}, {position_encoding})
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({method}, {params}, {callback}, {notify_reply_callback})
vim.lsp.rpc.rpc_response_error({code}, {message}, {data})
vim.lsp.rpc.start({cmd}, {dispatchers}, {extra_spawn_params})
vim.lsp.protocol.make_client_capabilities()
vim.lsp.protocol.resolve_capabilities({server_capabilities})
```Related Skills
Neovim Treesitter API Reference
This document contains type stubs and API references for Neovim's treesitter Lua API.
Neovim Diagnostics API Reference
This document contains function definitions for Neovim's diagnostics Lua API.
foo
No description provided.
makepad-reference
This category provides reference materials for debugging, code quality, and advanced layout patterns.
reference-builder
Creates exhaustive technical references and API documentation. Generates comprehensive parameter listings, configuration guides, and searchable reference materials.
microsoft-code-reference
Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs.
Top 100 Web Vulnerabilities Reference
This skill should be used when the user asks to "identify web application vulnerabilities", "explain common security flaws", "understand vulnerability categories", "learn about injection attacks", "review access control weaknesses", "analyze API security issues", "assess security misconfigurations", "understand client-side vulnerabilities", "examine mobile and IoT security flaws", or "reference the OWASP-aligned vulnerability taxonomy". Use this skill to provide comprehensive vulnerability definitions, root causes, impacts, and mitigation strategies across all major web security categories.
omc-reference
OMC agent catalog, available tools, team pipeline routing, commit protocol, and skills registry. Auto-loads when delegating to agents, using OMC tools, orchestrating teams, making commits, or invoking skills.
paper-reference-checker
This skill should be used when the user asks to "check paper citations", "verify references", "detect fake citations", "validate bibliography", "check if papers exist", "查文献真伪", "检查论文引用", "验证参考文献", "识别虚假引用", or uploads a PDF/Overleaf document and wants to verify whether the cited papers genuinely exist. Provides systematic verification of academic references against Google Scholar, CNKI, arXiv, and other academic databases to detect AI-hallucinated or fabricated citations.
reference-style-sync
One-click synchronization and standardization of reference formats in literature management tools, intelligently fixing metadata errors.
VB.NET CODING AGENT SKILL REFERENCE
**Target**: Claude-Code, Codex, AI coding agents
figure-reference-checker
Check figure references in manuscripts