[plt-scheme] word completion for module based languages

From: Robby Findler (robby at cs.uchicago.edu)
Date: Mon Jun 30 23:02:00 EDT 2008

[ Matthew? Greg? A debugger question below. ]

Is your language augmenting the capability-value method? Perhaps you
need something like this:

      (define/augment (capability-value key)
          [(eq? key 'drscheme:autocomplete-words)
          [else (drscheme:language:get-capability-default key)]))

You might want to check over the docs for


to see if there are other capabilities you want to enable.

For the debugger, it looks like you want to both respond with #t to
the 'gui-debugger:debug-button capability (add to the above method),
and define the debugger:supported? method, which should also return
#t. I'm just inferring that from the source, tho, so Matthew or Greg
may know better.


On Sat, Jun 28, 2008 at 2:20 AM, Robert Matovinovic
<robert.matovinovic at web.de> wrote:
> Yes, the language is in the language dialog and defined as module with
> "(module ..." and uses drscheme:language-configuration:add-language and
> drscheme:get/extend:extend-unit-frame. I will look at "#lang ...". So far I
> only know that one can use it as an abbreviation for module.
> Robert
> -----Ursprüngliche Nachricht-----
> Von: robby.findler at gmail.com [mailto:robby.findler at gmail.com] Im Auftrag von
> Robby Findler
> Gesendet: Freitag, 27. Juni 2008 22:16
> An: Robert Matovinovic
> Cc: plt-scheme at list.cs.brown.edu
> Betreff: Re: [plt-scheme] word completion for module based languages
> On Fri, Jun 27, 2008 at 2:47 PM, Robert Matovinovic
> <robert.matovinovic at web.de> wrote:
>> Finally I could test what you have checked in, Robby. Word completion
>> now shows also all commands of my module language in version 4.0.1
>> [3m](Yippieh), thank you very much. But unfortunately it works only if
>> one of the built-in languages are chosen but not when I switch to my
>> module language. So something is still missing which is important to
>> me. Maybe there is something I have to add to my module. I don't ask
>> for language specific filtering of the word completion, the whole list
>> would be alright, just that it works also with a module language.
> Can you tell me a little more about how you've added the language to
> DrScheme? Is it in the language dialog?
> If so, perhaps you might consider defining your language in a way that
> "#lang ..." works and then using DrScheme's module language. We're trying to
> migrate that way so that all of the information needed to run the program is
> in the program's text itself (as opposed to being in the environment).
>> I also like to use the debugger with my module language, but it
>> doesn't. Is there an easy fix?
> I suspect the answer here may be the same as the above, but I'm not sure.
> Robby

Posted on the users mailing list.