nvimmike

joined 1 year ago
 

kitty-scrollback.nvim v5.0.0 is officially released! Check out the announcement here

What is kitty-scrollback.nvim?

A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.

demo

Check out the README for detailed information, the Wiki for additional configurations, and Advanced Configuration Examples for more demos!

What changed?

See Migrating to v5.0.0 for the detailed migration guide.

  • kitty-scrollback.nvim v5.0.0 uses Kitty's builtin --bracketed-paste option when sending commands to Kitty. The --bracketed-paste option was added in Kitty 0.32.2. If you are using an older version of Kitty, then upgrade to the latest version or at least 0.32.2.
  • Alternatively, if you are unable to upgrade Kitty, then you can still use tag v4.3.6 of kitty-scrollback.nvim.
  • See kitten-send-text for more information on the --bracketed-paste option.

Other minor version updates

What's next?

The next feature I plan to work on is adding command-line editing support (see #253). I also plan to complete the work necessary to move tmux support from experimental to stable.

If you have any questions, comments, or feedback feel free to create an issue or open a discussion.

[โ€“] nvimmike 2 points 9 months ago (1 children)

Thanks! No problem, let me know if you hit any other issues. It always gets tricky with the number of different configurations people have ๐Ÿ˜…

 

kitty-scrollback.nvim v4.0.0 is officially released! Check out the announcement here.

What is kitty-scrollback.nvim?

A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.

kitty_scrollback_screencapture_00_kitty_scrollback_nvim

Check out Advanced Configuration Examples for more demos!

What changed?

See Migrating to v4.0.0 for the detailed migration guide.

  • Previously, kitty-scrollback.nvim did not open Neovim with your Neovim configuration by default. This has changed to loading your Neovim configuration by default, with the ability to opt out. If you prefer to continue not loading your Neovim configuration, then follow the steps at No Configuration.
  • If you previously used the flag --no-nvim-args, then delete it from your configuration because it no longer has any effect. The flag --nvim-args remains unchanged and can still be used.
  • ksb_example configurations have been removed and can no longer be referenced by name. If you were previously referencing an example configuration by name, then you can manually copy it from ./tests/example.lua into your kitty-scrollback.nvim configuration. See Plugin Configuration for detailed instructions on configuration kitty-scrollback.nvim.
  • The command KittyScrollbackGenerateKittens and api generate_kittens no longer have an option to generate ksb_example configurations.
    • The command KittyScrollbackGenerateKittens no longer accepts the bang ! modifier
    • The api generate_kittens signature removed the all parameter
  • The reserved global configuration name has been removed and global options are now configured by the first element of the options table without a key. See Global Configuration for more details.
  • The undocumented reserved default configuration name has been removed. kitty-scrollback.nvim defaults to ksb_builtin_get_text_all if no configuration is provided.

Other minor version updates

  • You can now paste and execute commands directly from visual mode! Previously, this could only be done with the paste window that is used for editing commands. Check out the demos in the Features section.

kitty_scrollback_screencapture_03_should_paste_visual_selection_to_kitty

  • The environment variable KITTY_SCROLLBACK_NVIM was added and is set to true while kitty-scrollback.nvim is active. See Environment Variables.
  • Documented the filetype kitty-scrollback and provided an example of using it in an autocmd. See Filetypes.

What's next?

The next feature I plan to work on is adding tmux support (see #155).

If you have any questions, comments, or feedback feel free to create an issue or open a discussion.

[โ€“] nvimmike 3 points 10 months ago

Thanks! Yes the new default colorscheme is pretty nice ๐Ÿ˜Ž.

 

kitty-scrollback.nvim v3.0.0 is officially released! Check out the announcement here.

What is kitty-scrollback.nvim?

A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.

kitty_scrollback_screencapture_00_kitty_scrollback_nvim

Check out Advanced Configuration for more demos.

Migrating to v3.0.0

See Migrating to v3.0.0 for the detailed migration guide.

What changed?

  • The Neovim icon is now the default icon in the status window.
  • Added support for the new Neovim default colorscheme (available on Neovim nightly v0.10.0)
  • Added a lot of tests
  • New logo on the README

ksb-new-logo-small

Developing kitty-scrollback.nvim NeovimConf 2023

If you have any questions, comments, or feedback feel free to create an issue or open a discussion.

 

What is kitty-scrollback.nvim?

A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.

kitty-scrollback.nvim demo

v2.2.0 adds support for Neovim v0.9

kitty-scrollback.nvim was originally written only supporting Neovm v0.10 (nightly). Thanks to community interest, I have added support for Neovim v0.9 for those that prefer using a stable version of Neovim. If you have any problems or questions feel free to open an issue or discussion here https://github.com/mikesmithgh/kitty-scrollback.nvim

Neovim Conf 2023: Developing kitty-scrollback.nvim

kitty-scrollback.nvim neovimconf

I am doing a lightning talk at Neovim Conf this year about developing kitty-scrollback.nvim. https://neovimconf.live/speakers/mikesmith/

If you are interested in Neovim, block off your day on Dec 8th ๐Ÿ™‚ and register here https://neovimconf.live/

[โ€“] nvimmike 1 points 1 year ago

Yep you got it. Kitty is a terminal. The scrollback buffer is the screen + history of the terminal session. This plugin lets you open it with Neovim plus some extras ๐Ÿ‘

[โ€“] nvimmike 1 points 1 year ago
 

kitty-scrollback.nvim has officially released v2.0.0!

What is kitty-scrollback.nvim?

kitty-scrollback.nvim

A Neovim plugin (and Kitty Kitten) that allows you to navigate your Kitty scrollback buffer to quickly search, copy, and execute commands in Neovim.

Migrating to v2.0.0

See Migrating to v2.0.0 for the detailed migration guide.

What changed?

  • The --config-file option has been removed. Custom configurations are now supplied in the setup() function instead of separate config file. The config name corresponds to the key of the table provided to setup().
  • The default mapping keys changed from ctrl+shift to kitty_mod
  • 36 demos added to the Wiki Advanced-Configuration to exercise the different configuration options of kitty-scrollback.nvim. Here are a few.

ksb_example_status_win_autoclose ksb_example_status_win_autoclose

ksb_example_status_win_show_timer ksb_example_status_win_show_timer

ksb_example_highlight_overrides ksb_example_highlight_overrides

ksb_example_paste_win_winopts ksb_example_paste_win_winopts

ksb_example_nvim_args_tokyonight ksb_example_nvim_args_tokyonight

ksb_example_nvim_args_cellular_automation ksb_example_nvim_args_cellular_automation

If you have any questions, comments, or feedback feel free to let me know here or create an issue.

Breaking Changes ๐Ÿ˜ฟ Sorry breaking-changes-cat

[โ€“] nvimmike 2 points 1 year ago

haha yep ๐Ÿ™‚ took a couple attempts to get it to where it is but I'm happy with it now

[โ€“] nvimmike 3 points 1 year ago* (last edited 1 year ago) (2 children)

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

demo-kitty-exec

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 ๐Ÿ™‚

[โ€“] nvimmike 2 points 1 year ago (4 children)

thanks! when you say launch empty, do you mean without the scrollback buffer? or just with a blank window for the command?

 

๐Ÿ‘‹ 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