👋 Hey all, first post on Lemmy.

I recently released v1.0.1 of kitty-scrollback.nvim. If you have any feedback, issues, or suggestions feel free to open an issue. I’m interested to get feedback if the setup easy or if there are any unclear/confusing steps. This requires Neovim nightly (v0.10) and Kitty v0.29.

kitty-scrollbakc.nvim

Features

  • 😻 Navigate Kitty’s scrollback buffer with Neovim
  • 🐱 Copy contents from Neovim to system clipboard
  • 😺 Send contents from Neovim to Kitty shell
  • 🙀 Execute shell command from Neovim to Kitty shell
  • sorrybookbroke@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    Sorry for the delay, but yeah I mean without the scrollback buffer. Right from the prompt, get a neovim buffer that excecutes. Thanks again for sharing btw, this is a fantastic project

    • nvimmike@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      9 months ago

      ah I gotcha. There is no option at the moment to completely disable the scrollback, but you could hook into some callbacks to trigger and customizations.

      For example,

      your_awesome_config.lua

      local M = {}
      
      M.config = function(kitty_data)
        return {
          paste_window = {
            winblend = 10,
            winopts_overrides = function(paste_winopts)
              local h = vim.o.lines - 5 -- TODO: magic number 3 for footer and 2 for border
              return {
                border = 'solid',
                row = 0,
                col = 0,
                height = h < 1 and 3 or h, -- TODO: magic number 3 for footer
                width = vim.o.columns,
              }
            end,
            footer_winopts_overrides = function(footer_winopts, paste_winopts)
              return {
                border = 'single',
                title = ' kitty-scrollback.nvim ',
                title_pos = 'center',
              }
            end,
          },
          kitty_get_text = {
            extent = 'screen',
            ansi = true,
          },
          callbacks = {
            after_ready = function(kitty_data, opts)
              vim.cmd.startinsert()
            end,
          },
        }
      end
      
      return M
      

      kitty.conf

      map f1 kitty_scrollback_nvim --config-file /your_awesome_config.lua
      

      I plan to document some of the advanced configurations, just haven’t had time to get to it 👍

      I could add an option to have no scrollback and a single buffer like you mentioned similar to `` behavior in bash. I’ll think on that one.

      Thanks for the kind words 🙂