Skip to content
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

v2.0.0 Tracking Issue #394

Open
3 of 7 tasks
Iron-E opened this issue Mar 29, 2023 · 5 comments
Open
3 of 7 tasks

v2.0.0 Tracking Issue #394

Iron-E opened this issue Mar 29, 2023 · 5 comments
Assignees
Labels
help wanted Extra attention is needed
Milestone

Comments

@Iron-E
Copy link
Collaborator

Iron-E commented Mar 29, 2023

In #386, there was discussion of breaking compatibility with ^1.0.0 by removing support for g:bufferline. This issue is to track what changes we are looking to make for a potential v2 release.

  • Remove plugin/barbar.lua to enable lazy-loading
  • Remove g:bufferline. We can use dictwatchers to deprecate it
  • Remove functionality annotated with utils.deprecate (e.g. state.set_offset, the icon_close_tab option).
  • Changes to setup. We don't actually have to do this, but it's worth considering:
    • exclude_name, exclude_fthide = {name = {}, ft = {}}
    • highlight_alternate, highlight_inactive_file_icons, highlight_visible
      highlight = {alternate = …, inactive_file_icons = …, visible = …}
    • insert_at_start, insert_at_endinsert_at = 'left'|'right'|'start'|'end'
    • maximum_padding, minimum_paddingpadding = {maximum = …, minimum = …}
    • maximum_length, no_name_titlefilename = {maximum_length = …, default = …}
  • Deprecate the autoload functions? e.g. bufferline#render
  • Should we raise the minimum Neovim version to 0.8? That would also let us remove more VimScript
  • Stop supporting require('bufferline'): Remove bufferline folder #535
@Iron-E Iron-E added the help wanted Extra attention is needed label Mar 29, 2023
@Iron-E Iron-E self-assigned this Mar 29, 2023
@otavioschwanck
Copy link
Contributor

i like the changes on setup, i think is worth

@romgrk
Copy link
Owner

romgrk commented Mar 30, 2023

I think we should aim to have a gradual non-breaking migration, until the last step of the process.

1..setup() would accept the exact same format as g:bufferline, we update the doc to use .setup() as the only documented method, but g:bufferline keeps working as before
2. we add a one-time notification when neovim opens announcing the change in format, with a clear migration path
3. we remove support, but show an error notification if g:bufferline is present telling users to .setup(vim.g.bufferline) please
4. remove support & notification

We should also mark our commit as breaking with the conventional commits notation (feat!: ...), I've seen some package managers display breaking notices when they detect those when the user upgrades their plugins.

@romgrk
Copy link
Owner

romgrk commented Mar 30, 2023

I'm cool with the bufferline => barbar rename as well, but let's try to migrate gradually as well.

@Iron-E
Copy link
Collaborator Author

Iron-E commented Mar 30, 2023

Thanks for the feedback. I'll keep this issue updated the transition can be monitlred item-by-item at a glance

@Iron-E Iron-E pinned this issue Apr 1, 2023
@ttytm
Copy link
Contributor

ttytm commented Apr 2, 2023

+1 on the neovim version upper from my side. 0.9 is coming up and supporting for the last two "stable" versions of an early project is fair enough.

Would adding a formatting standard / config that can be automated be something for that version release?

Could be stylua, lua_ls or .editorconfig. Adding any of these would introduce formatting changes. So why not now? Shouldn't be a lot of work either, adding the desired config and running one command on the full project should probably be it.

edit: Just saw there is #411

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants