mikesmithgh / kitty-scrollback.nvim

😽 Open your Kitty scrollback buffer with Neovim. Ameowzing!
Apache License 2.0
438 stars 11 forks source link

feat: add command-line editing for bash, fish, zsh #253

Open mikesmithgh opened 4 months ago

mikesmithgh commented 4 months ago

closes #245

TODO:

IndianBoy42 commented 4 months ago

related feature we might want is being able to scroll the scrollback buffer, or more generally a way to go to the scrollback buffer and keep the prompt window open at the same time, and then go back to the prompt window.

IndianBoy42 commented 4 months ago

oh I just noticed the prompt window buffer filetype is bash, in this case we can use the correct filetype based on the shell. i think in general we can figure out what shell is running using kitten @ ls right?

mikesmithgh commented 4 months ago

oh I just noticed the prompt window buffer filetype is bash, in this case we can use the correct filetype based on the shell. i think in general we can figure out what shell is running using kitten @ ls right?

good catch. so it pulls it from vim.o.shell https://github.com/mikesmithgh/kitty-scrollback.nvim/blob/main/lua/kitty-scrollback/windows.lua#L104

I think that may just be what your SHELL environment variable is set to? What results do you get for echo $SHELL.

There is an option to override this in kitty-scrollback.nvim opts.paste_window.filetype. But, I agree this looks like a bug even without this functionality. If I am in bash and then go to fish and open kitty-scrollback.nvim it has the wrong shell. I opened the issue #254 for this.

mikesmithgh commented 4 months ago

related feature we might want is being able to scroll the scrollback buffer, or more generally a way to go to the scrollback buffer and keep the prompt window open at the same time, and then go back to the prompt window.

interesting, yeah I'd have to think about this.

I suppose I could have the ability to not autoclose the floating paste window or an option to open a regular window instead of a floating window. Then you can just navigate back and forth. I opened #255 for this feature.

mikesmithgh commented 4 months ago

@IndianBoy42 thanks for the feedback! I like the ideas

mikesmithgh commented 4 months ago

oh I just noticed the prompt window buffer filetype is bash, in this case we can use the correct filetype based on the shell. i think in general we can figure out what shell is running using kitten @ ls right?

good catch. so it pulls it from vim.o.shell https://github.com/mikesmithgh/kitty-scrollback.nvim/blob/main/lua/kitty-scrollback/windows.lua#L104

I think that may just be what your SHELL environment variable is set to? What results do you get for echo $SHELL.

There is an option to override this in kitty-scrollback.nvim opts.paste_window.filetype. But, I agree this looks like a bug even without this functionality. If I am in bash and then go to fish and open kitty-scrollback.nvim it has the wrong shell. I opened the issue #254 for this.

@IndianBoy42 FYI I just pushed a fix for this. It should pull the filetype from the shell that is configured in Kitty now.

IndianBoy42 commented 4 months ago

oh I just noticed the prompt window buffer filetype is bash, in this case we can use the correct filetype based on the shell. i think in general we can figure out what shell is running using kitten @ ls right?

good catch. so it pulls it from vim.o.shell https://github.com/mikesmithgh/kitty-scrollback.nvim/blob/main/lua/kitty-scrollback/windows.lua#L104

I think that may just be what your SHELL environment variable is set to? What results do you get for echo $SHELL.

Oh I just remembered about this, I manually set shell=bash because sometimes plugins assume that shell is posix compatible, or bash compatible and try to use it to run scripts. So if set shell=fish they error out. Using vim.env.SHELL or kitty's shell detection makes sense. it works now though so all good :+1: