-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release plan for Lua rewrite #391
Comments
wincent
added a commit
that referenced
this issue
Jul 19, 2022
As per plan spelt out in: #391 Will need to rework all of this _a lot_ before this is all over, but this is a start at least.
wincent
added a commit
that referenced
this issue
Jul 23, 2022
According, more or less, to the release plan laid out here: #391 The idea is: 1. Ship both Ruby and Lua together with version 6.0. 2. Default to Ruby, but mark it as deprecated. 3. Provide mechanism to opt-in to staying with Ruby, or to opt-in to switching to Lua. 4. If you don't want to opt-in, you can suppress the deprecation notice (effectively this is equivalent to opting in to Ruby, so I am not sure whether I'll keep this; that would be more in line with what the linked issue actually proposes).
wincent
added a commit
that referenced
this issue
Jul 23, 2022
As noted in the previous commit, this seems like the right thing to do, allowing us to get rid of a potentially confusing and redundant setting. The only downside here is that we lose the prompt to automatically apply the setting. Strictly speaking, I didn't _have_ to remove that, but it felt a bit intrusive, and the `input()` call _did_ mess up the colors like I said. So, this means the user _has_ to take action in order to avoid seeing the message every time. That might be a bit annoying, forcing a choice on the user, but it will at least ensure awareness. Fingers crossed, I won't come to regret this decision. Oh well, a new prompt like this _is_ a breaking change no matter what, which is why this is going out with a major version bump (although as noted elsewhere, SemVer doesn't mean much in the Vim world). See: #391
Closed
6.0.0-a.0 is out and feedback issue is up, so I'm going to close this. |
Padmamanickam
added a commit
to Padmamanickam/command-t
that referenced
this issue
Feb 6, 2023
As per plan spelt out in: wincent/command-t#391 Will need to rework all of this _a lot_ before this is all over, but this is a start at least.
Padmamanickam
added a commit
to Padmamanickam/command-t
that referenced
this issue
Feb 6, 2023
According, more or less, to the release plan laid out here: wincent/command-t#391 The idea is: 1. Ship both Ruby and Lua together with version 6.0. 2. Default to Ruby, but mark it as deprecated. 3. Provide mechanism to opt-in to staying with Ruby, or to opt-in to switching to Lua. 4. If you don't want to opt-in, you can suppress the deprecation notice (effectively this is equivalent to opting in to Ruby, so I am not sure whether I'll keep this; that would be more in line with what the linked issue actually proposes).
Padmamanickam
added a commit
to Padmamanickam/command-t
that referenced
this issue
Feb 6, 2023
As noted in the previous commit, this seems like the right thing to do, allowing us to get rid of a potentially confusing and redundant setting. The only downside here is that we lose the prompt to automatically apply the setting. Strictly speaking, I didn't _have_ to remove that, but it felt a bit intrusive, and the `input()` call _did_ mess up the colors like I said. So, this means the user _has_ to take action in order to avoid seeing the message every time. That might be a bit annoying, forcing a choice on the user, but it will at least ensure awareness. Fingers crossed, I won't come to regret this decision. Oh well, a new prompt like this _is_ a breaking change no matter what, which is why this is going out with a major version bump (although as noted elsewhere, SemVer doesn't mean much in the Vim world). See: wincent/command-t#391
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here's an issue for me to think through the details of actually releasing the Lua rewrite (#380) that is going on right now in the
pu
branch.main
branch on 28 May 2022. Implementation is in Ruby, compatible with both Neovim and Vim.pu
("proposed updates") branch; at the moment, it co-exists with the Ruby code: all existing commands (eg.:CommandT
), mappings and settings point at the Ruby implementation, and completely separate (and temporary, and undocumented) commands (eg.:KommandT
) trigger the Lua implementation.main
/master
and periodically updating to the latestHEAD
without consulting release notes or changelogs), SemVer is basically useless.g:CommandTMaxFiles
, the Lua version will follow the Lua idiom and instead expect people to call thesetup()
function (eg. with something likerequire'wincent.commandt'.setup{max_files = ...}
).Given the above, this is what I provisionally think I'm going to do:
5-x-release
and5-x-devel
branches at currentmain
branch. Whatever happens, people who don't wish to accompany me into this brave new world can remain in the old one by tracking those branches instead. (Technically, they should track5-x-release
, which is the "stable" version of the 5.0.x series, corresponding to actual releases.)pu
andmain
indefinitely (or until some change in a dominant platform like macOS makes keeping the build alive too painful to continue).:CommandT
and so on will map onto the Ruby underpinnings.:CommandT
or use standard mappings. Specifically, the transition plan should look something like this:pu
intomain
, start printing a deprecation notice for the Ruby version; let users opt-in to the Lua version with a setting, or suppress the deprecation notice and stick with the Ruby version by applying an inversion setting. This setting might be something likelet g:CommandTPreferredVersion='ruby'
to opt-in to the Ruby version, orrequire'wincent.commandt'.setup{}
to opt-in to the Lua one. It's possible I might want both of those to be expressible in negative form too, to make load order a bit more flexible (eg.let g:CommandTPreferredVersion='lua'
could work from Vimscript, just asvim.g.CommandTPreferredVersion='ruby'
orrequire'wincent.commandt.setup{ruby=true}
could work on the Lua side).:KommandT
family of hack commands, which really only exist for me to be able to test the new implementation while simultaneously working inside Neovim and using the original implementation to get work done.doc/command-t.txt
) and the legacy/Ruby documentation (maybedoc/command-t-ruby.txt
). For sense of the kind of names Vim/Neovim uses, see:e $VIMRUNTIME/doc
; in short, they are all short names with underscores and a.txt
extension (eg.intro.txt
,nvim.txt
etc) — they're all findable because they have tags like*message.txt*
at the top.The text was updated successfully, but these errors were encountered: