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

Cleaning up pull requests - Reviewed minor fixes and enhancements #1067

Closed
vidarh opened this issue Jan 17, 2019 · 25 comments
Closed

Cleaning up pull requests - Reviewed minor fixes and enhancements #1067

vidarh opened this issue Jan 17, 2019 · 25 comments
Labels
discussion-open stale-issue There has been no activity for a year.

Comments

@vidarh
Copy link
Contributor

vidarh commented Jan 17, 2019

@dblessing - as per e-mail here is a list of pull requests for bug fixes and enhancements I have reviewed that I consider fit to merge as is. As for #1063: I'm happy to create a single pull-request with squashed commits, one for each of these pull requests if you're ok with this list and if it'll help get them merged. As for #1063, sorting #1062 is a pre-requisite so we have CI working again.

Bug fixes

Enhancements

My own fixes

I consider these ok, but I'm the only one who has reviewed them:

EDIT: Added #1068
EDIT2: Added #1069

@hanklank
Copy link

@dblessing Any news on this?

@hanklank
Copy link

No commits since october for the project - it this unmaintained?

@alanqthomas
Copy link
Contributor

👆 Same, would like to know if this project is still considered active or not

@pyrmont
Copy link
Contributor

pyrmont commented May 11, 2019

I started pulling in PRs into a new branch of Rouge before coming across this PR and the great work @vidarh had already done. I intend to go through the PRs reviewed here and merge them in.

I use Rouge for my blog and would like to see it being maintained again. An actual fork seems less than ideal; I'm hopeful that if I can create a more up to date branch it can be merged back into this repo in due course.

I don't have much experience with this kind of situation and don't know what the best way to proceed is. Any thoughts?

@pyrmont
Copy link
Contributor

pyrmont commented May 12, 2019

With a couple of exceptions (mostly to do with missing file extension tests in the relevant spec), all the PRs identified above have been merged in. The other ones have PRs open with comments from me to the original authors requesting the relevant fixes.

@jneen
Copy link
Member

jneen commented May 12, 2019

I do remember that GitLab was committed to maintaining this library (by way of @dblessing), along with @gfx. I do not know what happened to that arrangement.

@jneen
Copy link
Member

jneen commented May 12, 2019

cc @stanhu

@vidarh
Copy link
Contributor Author

vidarh commented May 12, 2019

@jneen I've exchanged a few e-mails with @dblessing about it; that was actually what prompted me to go through and review and pull together this list and the other linked issues, but I believe he's also been extremely busy (I did get an e-mail in March telling me he'd not forgotten about it). I'd be happy to spend more time reviewing outstanding changesets etc. if we have a way of actually getting them merged.

I think really the project needs a few more approved committers, and offered myself up to @dblessing as he seemed to be more recently active than you, and he proposed I go through and review things with a view to demonstrating I'd do it seriously before verifying with you if you'd be ok with it, as I realise it's a big leap of trust to give people write access.

If you have enough time available to have a discussion about that now, then great [I also really don't care who is able to do this, as long as someone is - I offered to help out mostly out of frustration..]. If you don't have time, I'll nudge Drew again.

I'm also happy to go over @pyrmont 's PR and check it's all ok if that makes you or Drew more prepared to merge it. (thanks for nudging people to move this forward @pyrmont ..)

@mojavelinux
Copy link
Contributor

Given that Rouge is now the preferred/recommended syntax highlighter in Asciidoctor, the Asciidoctor project is willing to help keep an eye on the repository and review/merge PRs when needed. (In fact, we have several PRs outstanding). I would be happy to be that delegate, though perhaps we could have at least one other member of the Asciidoctor team designated as a committer as well. I'll post back when I have a name.

@jneen
Copy link
Member

jneen commented May 14, 2019

I appreciate the show of support! As I am currently writing my graduation thesis, I don't have a lot of time to devote, so I defer to the judgment of @dblessing and @gfx - if one of them would not mind passing along the direction and intentions of the project, I would be really happy. It's important with a project as large as this that new contributors do not take the shortcut of merging any pull request that comes along, as many will contain large amounts of copy-pasta and non-ruby-ish code (many contributors do not use ruby as their main language).

@mojavelinux
Copy link
Contributor

@jneen Thanks for following up. Rest assured, I'd never merge a PR without testing it extensively (in fact, I probably go overboard with the review process, as my reputation demonstrates). But even then, requiring good tests is really the key to maintaining quality because there's only so much we can check by sight alone.

@jneen
Copy link
Member

jneen commented May 14, 2019

Agreed! However - and this is important - unit-testing lexers is a well-known dead-end, which is why we have visual specs. The problem is that unit tests that expect an exact token stream as a result are incredibly brittle, and will break in difficult-to-fix ways the moment we incorporate a slightly different lexing strategy or a language version update, for example.

@jneen
Copy link
Member

jneen commented May 14, 2019

Also, due to the nature of programming languages and the explosion of cases, it is much easier to test in a way that gives immediate feedback. And we don't lose much because we can guarantee that the lexers are independent of one another.

@mojavelinux
Copy link
Contributor

mojavelinux commented May 14, 2019

Keep in mind with what I'm about to say that I don't maintain a syntax highlighting library, so I could be over my head here, but here goes...

If the concern is that the syntax highlighting would change unexpectedly, I would prefer those brittle tests over visual ones. It doesn't take that long to fix assertions in my experience. And if the assertions are breaking, I'd want to know why and be able to completely understand the change. Those brittle tests are, in fact, precise tests (/me ducks)

@jneen
Copy link
Member

jneen commented May 14, 2019

I don't maintain a syntax highlighting library

Right... if you add brittle tests, you will effectively block any possible future refactor of the code or the highlighting system. We do not, and should not, consider a change from Keyword to Name.Function a "breaking change", because to the end user the result is close enough. Instead we spec that all the examples run without error, and leave the specific category choices to be loosely defined. From the user's perspective, it is only a "breaking change" if they start seeing error tokens, or the code "looks wrong", which is not possible to define across languages.

Please do not go through every lexer and paste in a list of all tokens generated by the examples in the name of test coverage ><

@jneen
Copy link
Member

jneen commented May 14, 2019

(we do also spec that the concatentation of all tokens equals the source input, to make sure that we don't drop any text - i think... if not then we should, because that's a universal invariant)

@miparnisari
Copy link
Contributor

@jneen regarding "we do also spec that the concatentation of all tokens equals the source input, to make sure that we don't drop any text - i think... if not then we should, because that's a universal invariant".

When I wrote my lexer I realized that there was no way for me to know if my lexer was dropping any characters... that's why I submitted #852

@gfx
Copy link
Member

gfx commented May 17, 2019

Thanks to @pyrmont for telling me the situation.

I'll see PRs listed above, but I think it's the best if @jneen create a new GitHub org and add someones to admins/owners/collaborators. Maintaining Rouge is somewhat difficult because reviewers have to decide OK or not on unfamiliar languages, so I think we need more maintainers.

@dblessing
Copy link
Collaborator

I'm all for adding new maintainers to help out. I'm still working on getting more official assistance from GitLab but that process is moving slowly.

As we add maintainers I still think we need to be 'picky' and vet them, as via a process similar to this where someone reviews PRs for a while and pings existing maintainers for final approval. Once things look good then we can add as a maintainer.

@jneen
Copy link
Member

jneen commented May 18, 2019

@gfx welcome to rouge-ruby/rouge!

@dblessing
Copy link
Collaborator

Thanks @jneen !

@mojavelinux
Copy link
Contributor

Long live rouge-ruby/rouge!! Thanks @jneen! Thank you for extending the life of this fantastic project!

@pyrmont
Copy link
Contributor

pyrmont commented May 30, 2019

@vidarh Thanks again for this list. I hope you don't mind but I edited the OP to cross off the items that have been closed. I'll try to keep it up to date as we progress through the backlog :)

@vidarh
Copy link
Contributor Author

vidarh commented May 31, 2019

@pyrmont Of course - great to see things getting merged. Might have to take a stab at some of the remaining bugs now that things are happening..

@stale
Copy link

stale bot commented May 30, 2020

This issue has been automatically marked as stale because it has not had any activity for more than a year. It will be closed if no additional activity occurs within the next 14 days.
If you would like this issue to remain open, please reply and let us know if the issue is still reproducible.

@stale stale bot added the stale-issue There has been no activity for a year. label May 30, 2020
@pyrmont pyrmont closed this as completed Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion-open stale-issue There has been no activity for a year.
Projects
None yet
Development

No branches or pull requests

9 participants