<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Posts tagged: lsp</title>
  <id>https://dots.waylonwalker.com/tags/lsp/atom.xml</id>
  <updated>2026-02-07T00:00:00Z</updated>
  <link href="https://dots.waylonwalker.com" rel="alternate" type="text/html"></link>
  <link href="https://dots.waylonwalker.com/tags/lsp/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Waylon Walker</name>
    <uri>https://waylonwalker.com</uri>
  </author>
  <entry>
    <title>Neovim LSP Go-to-Definition Demo</title>
    <id>https://dots.waylonwalker.com/neovim-lsp-go-to-definition/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-lsp-go-to-definition/" rel="alternate" type="text/html"></link>
    <summary type="text">Demonstration of Neovim LSP go-to-definition and code navigation</summary>
    <content type="html">&lt;p&gt;A demonstration of Neovim&#39;s Language Server Protocol integration for code navigation and go-to-definition.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-shown&#34;&gt;What is Shown &lt;a href=&#34;#what-is-shown&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Opening a Python file in Neovim&lt;/li&gt;&#xA;&lt;li&gt;Navigating to a function call&lt;/li&gt;&#xA;&lt;li&gt;Using gd to jump to definition&lt;/li&gt;&#xA;&lt;li&gt;Using Ctrl+o to jump back&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-takeaway&#34;&gt;Key Takeaway &lt;a href=&#34;#key-takeaway&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;LSP transforms Neovim into a full IDE. Jump to definitions, see documentation, and refactor code with built-in intelligence.&lt;/p&gt;&#xA;&lt;p&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34;&gt;&lt;source src=&#34;/tapes/neovim-lsp-go-to-definition.mp4&#34; type=&#34;video/mp4&#34;&gt;neovim lsp demo&lt;/video&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;related&#34;&gt;Related &lt;a href=&#34;#related&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;embed-card&#34;&gt;&#xA;  &lt;a href=&#34;/neovim/&#34; class=&#34;embed-card-link&#34;&gt;&#xA;    &lt;div class=&#34;embed-card-content&#34;&gt;&#xA;      &lt;div class=&#34;embed-card-title&#34;&gt;Neovim Configuration&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-description&#34;&gt;Neovim configuration with lazy.nvim for plugin management&lt;/div&gt;&#xA;      &lt;div class=&#34;embed-card-meta&#34;&gt;Feb 7, 2026&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&lt;!-- embed not found: nvim-lspconfig --&gt;&#xA;&lt;p&gt;![[ nvim-lspconfig ]]&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>LSP and IntelliSense - Neovim Keybindings</title>
    <id>https://dots.waylonwalker.com/neovim-lsp/</id>
    <updated>2026-02-07T00:00:00Z</updated>
    <published>2026-02-07T00:00:00Z</published>
    <link href="https://dots.waylonwalker.com/neovim-lsp/" rel="alternate" type="text/html"></link>
    <summary type="text">LSP and IntelliSense keybindings for Neovim</summary>
    <content type="html">&lt;p&gt;Navigate code like an IDE. Jump to definitions, view documentation, and fix errors.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keybindings&#34;&gt;Keybindings &lt;a href=&#34;#keybindings&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Key&lt;/th&gt;&#xA;&lt;th&gt;Mode&lt;/th&gt;&#xA;&lt;th&gt;Description&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;visual_select&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gO&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.document_symbol()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grt&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.type_definition()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gri&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.implementation()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grr&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.references()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;grn&lt;/td&gt;&#xA;&lt;td&gt;normal&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.rename()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;gra&lt;/td&gt;&#xA;&lt;td&gt;visual&lt;/td&gt;&#xA;&lt;td&gt;vim.lsp.buf.code_action()&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
</feed>