http-codes.nvim/lua/http-codes/snacks.lua
2026-02-03 20:39:57 -05:00

35 lines
897 B
Lua

local codes = require 'http-codes.codes'
local cached_items = nil
local function codes_to_snack_items(codes)
if cached_items then return cached_items end
local items = {}
local idx = 1
for status, _ in pairs(codes) do
table.insert(items, { idx = idx, text = status })
idx = idx + 1
end
cached_items = items
return items
end
return {
pick = function(open_url)
require('snacks.picker').pick(nil, {
title = 'HTTP Codes',
items = codes_to_snack_items(codes),
format = 'text',
layout = {
preset = 'select',
hidden = { 'preview' },
},
confirm = function(picker, item)
local link = codes[item.text]
picker:close()
vim.fn.jobstart(open_url:format(link))
end,
})
end,
}