Update: Georg accepted the pull request into pygments a few minutes ago. Next: I'll keep an eye on the progress pulling into Github and Bitbucket.
On the Github side, I *think* the relevant repo is <https://github.com/tmm1/pygments.rb>. It looks like they pull from pygments every 1-3 months. The most recent pull was about 2 months ago: <https://github.com/tmm1/pygments.rb/commit/7b35292815a709d151add6ef8d2c2f7b20a5c749>. As a result, I'm hopeful the next pull will be soon. On Fri, Aug 17, 2012 at 9:12 PM, Greg Hendershott <greghendersh...@gmail.com> wrote: >> I clicked on "Like" for your pull request, in hopes that it would help speed >> the process… but the website is just spinning on me. < > > Thanks. It probably won't hurt if Georg Brandl sees more votes. > > Also, I linked to this mailing list thread in the pull request comments. > >> I'm guessing that once this is in the pygments-main repo, we can request >> that github update? < > > I'm probably the last person to ask about how the process will work. > This is my first open-source contribution, ever. And I wouldn't have > predicted my first contribution toward Racket would be by way of > Python and Mercurial. So what do I know. :) > > Seriously, I'll follow up periodically with pygments. When that's > pulled, I'll focus on Github and Bitbucket. > > On Fri, Aug 17, 2012 at 11:15 AM, John Clements > <cleme...@brinckerhoff.org> wrote: >> >> On Aug 14, 2012, at 7:36 PM, Greg Hendershott wrote: >> >>> I submitted a pull request, >>> <https://bitbucket.org/birkenfeld/pygments-main/pull-request/94/add-lexer-for-racket-language>. >> >> Many thanks for this work. >> >> I clicked on "Like" for your pull request, in hopes that it would help speed >> the process… but the website is just spinning on me. Ah well. I'm guessing >> that once this is in the pygments-main repo, we can request that github >> update? >> >> John >> >>> >>> On Mon, Aug 13, 2012 at 11:25 AM, Greg Hendershott >>> <greghendersh...@gmail.com> wrote: >>>>> And a terrible shame that you cannot reuse the syntax colorer we >>>>> already have! (but you may find the source code in >>>>> collects/syntax-color/scheme-lexer.rkt to be useful?) >>>> >>>> Yes I suppose there's duplication among DrRacket, Quack, pygments, et >>>> al. A central web service could be a neat way to go in some >>>> always-connected future. >>>> >>>> Meanwhile, Jens helped me again (thanks!) pointing me to how to >>>> generate the `keywords' and `built-ins' lists using >>>> `namespace-mapped-symbols'. I incorporated that. Noticed and fixed a >>>> few bugs. >>>> >>>> I'll marinade in it for a day or two, then consider giving pygments a >>>> pull request. >>>> >>>> BTW I'm trying to keep in mind this is a syntax highlighter, not >>>> checker. I want something better than the Scheme highlighter, but >>>> sometimes "the perfect is the enemy of the good". Trying to handle >>>> every number literal variation perfectly, is me probably already >>>> trying too hard. >>>> >>>> On Mon, Aug 13, 2012 at 8:53 AM, Robby Findler >>>> <ro...@eecs.northwestern.edu> wrote: >>>>> Its great to see someone working on this! >>>>> >>>>> And a terrible shame that you cannot reuse the syntax colorer we >>>>> already have! (but you may find the source code in >>>>> collects/syntax-color/scheme-lexer.rkt to be useful?) >>>>> >>>>> Robby >>>>> >>>>> On Mon, Aug 13, 2012 at 7:46 AM, Greg Hendershott >>>>> <greghendersh...@gmail.com> wrote: >>>>>> I spent more time on this, including trying to recognzie all the >>>>>> variations of numbers like these: >>>>>> >>>>>> (values >>>>>> ;; #b >>>>>> #b1.1 >>>>>> #b-1.1 >>>>>> #b1e1 >>>>>> #b1/1 >>>>>> #b0/1 >>>>>> #b1e-1 >>>>>> #b101 >>>>>> #b2 ;highlight as error >>>>>> >>>>>> ;; #d >>>>>> #d-1.23 >>>>>> #d1.123 >>>>>> #d1e3 >>>>>> #d1e-22 >>>>>> #d1/2 >>>>>> #d-1/2 >>>>>> #d1 >>>>>> #d-1 >>>>>> #dZ ;highlight as error >>>>>> >>>>>> ;; No # reader prefix -- same as #d >>>>>> -1.23 >>>>>> 1.123 >>>>>> 1e3 >>>>>> 1e-22 >>>>>> 1/2 >>>>>> -1/2 >>>>>> 1 >>>>>> -1 >>>>>> >>>>>> ;; #e >>>>>> #e-1.23 >>>>>> #e1.123 >>>>>> #e1e3 >>>>>> #e1e-22 >>>>>> #e1 >>>>>> #e-1 >>>>>> #e1/2 >>>>>> #e-1/2 >>>>>> #eZ ;highlight as error >>>>>> >>>>>> ;; #i always float >>>>>> #i-1.23 >>>>>> #i1.123 >>>>>> #i1e3 >>>>>> #i1e-22 >>>>>> #i1/2 >>>>>> #i-1/2 >>>>>> #i1 >>>>>> #i-1 >>>>>> #iZ ;highlight as error >>>>>> >>>>>> ;; #o >>>>>> #o777.777 >>>>>> #o-777.777 >>>>>> #o777e777 >>>>>> #o777e-777 >>>>>> #o3/7 >>>>>> #o-3/7 >>>>>> #o777 >>>>>> #o-777 >>>>>> #08 ;highlight as error >>>>>> >>>>>> ;; #x >>>>>> #x-f.f >>>>>> #xf.f >>>>>> #x-f >>>>>> #xf >>>>>> #xG ;highlight as error >>>>>> >>>>>> ) >>>>>> >>>>>> In this way (Python): >>>>>> >>>>>> ## numbers: Keep in mind Racket reader hash prefixes, >>>>>> ## which can denote the base or the type. These don't map >>>>>> ## neatly onto pygment token types; some judgment calls >>>>>> ## here. Note that none of these regexps attempt to >>>>>> ## exclude identifiers that start with a number, such as a >>>>>> ## variable named "100-Continue". >>>>>> >>>>>> # #b >>>>>> (r'#b[-+]?[01]+\.[01]+', Number.Float), >>>>>> (r'#b[01]+e[-+]?[01]+', Number.Float), >>>>>> (r'#b[-+]?[01]/[01]+', Number), >>>>>> (r'#b[-+]?[01]+', Number.Integer), >>>>>> (r'#b\S*', Error), >>>>>> >>>>>> # #d OR no hash prefix >>>>>> (r'(#d)?[-+]?\d+\.\d+', Number.Float), >>>>>> (r'(#d)?\d+e[-+]?\d+', Number.Float), >>>>>> (r'(#d)?[-+]?\d+/\d+', Number), >>>>>> (r'(#d)?[-+]?\d+', Number.Integer), >>>>>> (r'#d\S*', Error), >>>>>> >>>>>> # #e >>>>>> (r'#e[-+]?\d+\.\d+', Number.Float), >>>>>> (r'#e\d+e[-+]?\d+', Number.Float), >>>>>> (r'#e[-+]?\d+/\d+', Number), >>>>>> (r'#e[-+]?\d+', Number), >>>>>> (r'#e\S*', Error), >>>>>> >>>>>> # #i is always inexact-real, i.e. float >>>>>> (r'#i[-+]?\d+\.\d+', Number.Float), >>>>>> (r'#i\d+e[-+]?\d+', Number.Float), >>>>>> (r'#i[-+]?\d+/\d+', Number.Float), >>>>>> (r'#i[-+]?\d+', Number.Float), >>>>>> (r'#i\S*', Error), >>>>>> >>>>>> # #o >>>>>> (r'#o[-+]?[0-7]+\.[0-7]+', Number.Oct), >>>>>> (r'#o[0-7]+e[-+]?[0-7]+', Number.Oct), >>>>>> (r'#o[-+]?[0-7]+/[0-7]+', Number.Oct), >>>>>> (r'#o[-+]?[0-7]+', Number.Oct), >>>>>> (r'#o\S*', Error), >>>>>> >>>>>> # #x >>>>>> (r'#x[-+]?[0-9a-fA-F]+\.[0-9a-fA-F]+', Number.Hex), >>>>>> # the exponent variation (e.g. #x1e1) is N/A >>>>>> (r'#x[-+]?[0-9a-fA-F]+/[0-9a-fA-F]+', Number.Hex), >>>>>> (r'#x[-+]?[0-9a-fA-F]+', Number.Hex), >>>>>> (r'#x\S*', Error), >>>>>> >>>>>> Talk about brain burn. :) >>>>>> >>>>>> Also, Jens pointed out I should also handle curly braces. () = [] = {} >>>>>> >>>>>> https://bitbucket.org/greghendershott/pygments-main >>>>>> >>>>>> On Sun, Aug 12, 2012 at 6:50 PM, Sam Tobin-Hochstadt <sa...@ccs.neu.edu> >>>>>> wrote: >>>>>>> Wonderful! This will make the github experience much nicer. >>>>>>> >>>>>>> On Sun, Aug 12, 2012 at 6:36 PM, Greg Hendershott >>>>>>> <greghendersh...@gmail.com> wrote: >>>>>>>> So I followed up on this. >>>>>>>> >>>>>>>> https://bitbucket.org/greghendershott/pygments-main/changeset/240e51e2da13b079482f6b61c215280224f89f06 >>>>>>>> >>>>>>>> ~~~~~ >>>>>>>> Add RacketLexer. >>>>>>>> >>>>>>>> Previously Racket files were handled by SchemeLexer. Instead, use a >>>>>>>> proper RacketLexer, which handles Racket more appropriately: >>>>>>>> >>>>>>>> 1. Treat square brackets like parentheses. >>>>>>>> 2. Expanded list of keywords. >>>>>>>> 3. Different file extensions, MIME types, etc. >>>>>>>> 4. Handle #:keyword arguments. >>>>>>>> 5. Handle more number literals (e.g. #xFF, #o777, 2e2, #e232, etc.). >>>>>>>> 6. Handle #| ... |# multiline comments (although NOT nested). >>>>>>>> ~~~~~ >>>>>>>> >>>>>>>> Before I give them a pull request, I wanted to give folks here a >>>>>>>> chance to critique it (or even flatly veto it). >>>>>>>> >>>>>>>> Again, the goal is that eventually this would flow through to GitHub, >>>>>>>> and improve the readability of Racket repos and gists. >>>>>>>> >>>>>>>> On Thu, Jun 2, 2011 at 12:49 PM, John Clements >>>>>>>> <cleme...@brinckerhoff.org> wrote: >>>>>>>>> >>>>>>>>> On Jun 2, 2011, at 6:43 AM, Eli Barzilay wrote: >>>>>>>>> >>>>>>>>>> An hour ago, Vincent St-Amour wrote: >>>>>>>>>>> At Thu, 2 Jun 2011 06:30:00 -0400, >>>>>>>>>>> Greg Hendershott wrote: >>>>>>>>>>>> aliases = ['scheme', 'scm', 'ss', 'racket', 'rkt'] >>>>>>>>>>> >>>>>>>>>>> rktl would probably fit in there too. >>>>>>>>>> >>>>>>>>>> (This is just in case someone takes it on more seriously: IIRC, >>>>>>>>>> another issue with pygments was either ignoring square brackets, or >>>>>>>>>> highlighting them as errors.) >>>>>>>>> >>>>>>>>> Gosh, sounds complicated. I don't think any of us could handle that! >>>>>>>>> >>>>>>>>> >>>>>>>>> John (goad, goad) Clements >>>>>>>>> >>>>>>>>> >>>>>>>>> _________________________________________________ >>>>>>>>> For list-related administrative tasks: >>>>>>>>> http://lists.racket-lang.org/listinfo/users >>>>>>>> ____________________ >>>>>>>> Racket Users list: >>>>>>>> http://lists.racket-lang.org/users >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> sam th >>>>>>> sa...@ccs.neu.edu >>>>>> ____________________ >>>>>> Racket Users list: >>>>>> http://lists.racket-lang.org/users >>> ____________________ >>> Racket Users list: >>> http://lists.racket-lang.org/users >> ____________________ Racket Users list: http://lists.racket-lang.org/users