[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)
        (cond
          [(eq? key 'drscheme:autocomplete-words)
           (drscheme:language-configuration:get-all-manual-keywords)]
          [else (drscheme:language:get-capability-default key)]))

You might want to check over the docs for

  drscheme:language:register-capability

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.

Robby

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.