Coder Social home page Coder Social logo

Comments (6)

Andrew15-5 avatar Andrew15-5 commented on May 25, 2024 1

Yeah, --no-nvim-args is super confusing. Like, why do I care if "some"/"any" args are passed to nvim or not (I just need everything to work, nothing else). If the args are invalid, then I would see an error. But since using or not using --no-nvim-args doesn't cause any error, then what's the point of it? At the very least, the naming is bad. Maybe if a user could understand immediately what it does and how to use it, then maybe it's fine. The amount of places where user need to add many different options (flags and/or configs) is honestly overwhelming. I'm amazed that in the end everything does work. I think I could help you with some documentation as a non-author user of the plugin.

I'll answer your questions later.

from kitty-scrollback.nvim.

mikesmithgh avatar mikesmithgh commented on May 25, 2024

Hey thanks for the feedback, I am wondering if you may need to use the flag --no-nvim-args. I recently answered something similar here #48. I just gave this a quick read since I am away at the moment, I'll circle back and review with more details. I agree it is a lot of config and not quite obvious, I am trying to improve on that 👍

from kitty-scrollback.nvim.

Andrew15-5 avatar Andrew15-5 commented on May 25, 2024

Yes, this did help. Thanks. But I again had to build my simple config like a constructor.

Now, the problem is that all the plugins and all the custom Lua configs are enabled. By default, it's all disabled. I would assume that there is a switch of some sort or a way of pasting some more configuration to disable other plugins or something. I didn't see this in the doc either.

So there should be 2 examples (or if they are similar, then only a small comment or note about the differences):

  • example how to make and apply/use custom config that will expand the default kitty-scrollback.nvim behavior
  • as above, but that will expand the configured nvim behavior (all custom settings/plugins enabled).

To give an idea, I want to add a couple of additional keymap to the default kitty-scrollback.nvim behavior + override/remove already set keymaps + I want to at least have move/jump plugins enabled (leap.nvim).

from kitty-scrollback.nvim.

mikesmithgh avatar mikesmithgh commented on May 25, 2024

@Andrew15-5 gotcha, I have #52 as well which sounds similar.

Right now, I am thinking of two approaches that could let you use a custom config specific to kitty-scrollback.nvim

--nvim-args -u .lua

action_alias kitty_scrollback_nvim kitten /Users/mike/gitrepos/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py --nvim-args -u /Users/mike/.config/nvim/ksb-init.lua
  • add you config to /Users/mike/.config/nvim/ksb-init.lua
  • this will only load what is defined in nvim/ksb-init.lua

or

NVIM_APPNAME

action_alias kitty_scrollback_nvim kitten /Users/mike/gitrepos/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py --env NVIM_APPNAME=nvim-ksb --no-nvim-args
  • add you config to /Users/mike/.config/nvim-ksb/init.lua
  • this will only load what is defined in nvim-ksb/init.lua

This way you can keep your kitty-scrollback.nvim separate from your normal nvim config.

I think this covers your first bullet.

example how to make and apply/use custom config that will expand the default kitty-scrollback.nvim behavior

For the second bullet,

as above, but that will expand the configured nvim behavior (all custom settings/plugins enabled

It would be something like

action_alias kitty_scrollback_nvim kitten /Users/mike/gitrepos/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py --config custom --no-nvim-args

and it would use the custom config defined in your setup like

return {
  {
    'mikesmithgh/kitty-scrollback.nvim',
    enabled = true,
    lazy = true,
    cmd = { 'KittyScrollbackGenerateKittens', 'KittyScrollbackCheckHealth', 'KittyScrollbackTest' },
    event = { 'User KittyScrollbackLaunch' },
    dev = true,
    -- version = '*', -- latest stable version, may have breaking changes if major version changed
    -- version = '^1.0.0', -- pin major version, include fixes and features that do not have breaking changes
    config = function()
      vim.g.mapleader = ' '
      vim.g.maplocalleader = ','
      require('kitty-scrollback').setup({
        custom = function()
          vim.print('customstuff')
        end,
      })
    end,
  },
}

Have you checked out the Advanced Configuration section on the Wiki? There is a lot of good stuff there, it just doesn't have a written explanation on each config yet.

from kitty-scrollback.nvim.

mikesmithgh avatar mikesmithgh commented on May 25, 2024

@Andrew15-5
I keep having a recurring question that is getting asked around configuration. I think it is due to me defaulting to using --clean --noplugin -n which doesn't load any configurations.

So, when someone wants to use a config, they won't see any updates reflected until they override the Kitten with --no-nvim-args or --nvim-args. But, then that loads everything which may not be desired as well.

From you perspective, do you think it makes more sense to

  1. by default, kitty-scrollback.nvim loads your default nvim config?
  2. by default, kitty-scrollback.nvim does not load anything? ( current state - .e.g, passes --clean --noplugin -n)

I have gone back and forth about this, I am not sure which one makes the most sense to be honest because I can see both sides.

Also, do you prefer kitty-scrollback.nvim to basically be the same as your default nvim or more of slimmed down version where you pick what config/plugins get loaded?

I am not really happy with the --no-nvim-args flag right now because I think it is confusing for users.

from kitty-scrollback.nvim.

mikesmithgh avatar mikesmithgh commented on May 25, 2024

closed in favor of #69

from kitty-scrollback.nvim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.