No description
Find a file
Barrett Ruth 8bb6a81d1f
perf: async cache initialization and remove deepcopy
Problem: first completion request blocked the UI with a synchronous
vim.system():wait() call, and every subsequent key completion
unnecessarily deep-copied the entire cache.

Solution: use vim.system with an async callback to initialize the cache
without blocking. Queue pending completion requests during loading and
serve them once parsing finishes. Return cached keys directly instead
of deep-copying.
2026-02-20 20:16:33 -05:00
.github feat: initial release 2026-02-20 16:55:55 -05:00
lua perf: async cache initialization and remove deepcopy 2026-02-20 20:16:33 -05:00
spec perf: async cache initialization and remove deepcopy 2026-02-20 20:16:33 -05:00
.busted feat: initial release 2026-02-20 16:55:55 -05:00
.editorconfig feat: initial release 2026-02-20 16:55:55 -05:00
.gitignore fix: dont commit envrc 2026-02-20 17:22:29 -05:00
.luarc.json feat: initial release 2026-02-20 16:55:55 -05:00
.pre-commit-config.yaml feat: initial release 2026-02-20 16:55:55 -05:00
.prettierignore feat: initial release 2026-02-20 16:55:55 -05:00
.prettierrc feat: initial release 2026-02-20 16:55:55 -05:00
blink-cmp-ghostty-scm-1.rockspec feat: initial release 2026-02-20 16:55:55 -05:00
flake.lock feat: initial release 2026-02-20 16:55:55 -05:00
flake.nix feat: initial release 2026-02-20 16:55:55 -05:00
LICENSE feat: initial release 2026-02-20 16:55:55 -05:00
README.md fix(ci): format 2026-02-20 18:38:54 -05:00
selene.toml feat: initial release 2026-02-20 16:55:55 -05:00
stylua.toml feat: initial release 2026-02-20 16:55:55 -05:00
vim.toml feat: initial release 2026-02-20 16:55:55 -05:00

blink-cmp-ghostty

Ghostty configuration completion source for blink.cmp.

blink-cmp-ghostty preview

Features

  • Completes Ghostty configuration keys with documentation
  • Provides enum values for configuration options
  • Documentation extracted from ghostty +show-config --docs

Requirements

Installation

Install via luarocks:

luarocks install blink-cmp-ghostty

Or with lazy.nvim:

{
  'saghen/blink.cmp',
  dependencies = {
    'barrettruth/blink-cmp-ghostty',
  },
  opts = {
    sources = {
      default = { 'ghostty' },
      providers = {
        ghostty = {
          name = 'Ghostty',
          module = 'blink-cmp-ghostty',
        },
      },
    },
  },
}