Am 19.07.2011 um 14:27 schrieb Jaroslav Hajtmar:

> Hello ConTeXist.
> 
> I have done the module (for context), which is entirely written in Lua 
> (ConTeXt definitions are done through Lua too).
> 
> I wonder how it can be loaded into ConTeXt file. Have I to use the beginning 
> of the file:
> \startluacode
>  dofile ("my-module.lua")
> \stopluacode
> 
> to loading the module? I would like to use \usemodule [my-module.lua], but 
> there is a problem, that code must be inside \startluacode ... \stopluacode 
> environment.
> But when I put my luacode into \startluacode ... \stopluacode into 
> my-module.mkiv file, then I have a problem with catcodes inside strings 
> defining by  [[  ... ]].
> 
> Or must be module consists of two separate files (my-module.lua and 
> my-module.mkiv)? Must I to load the Lua module file (my-module.lua)  into 
> ConTeXt module file (my-module.mkiv) by command \ctxlua{dofile("my-module.lua 
> ");} and then load module file (my-module.mkiv) into my user file by command 
> \usemodule[my-module]?
> 
> Is there something like \useluamodule[....] or  
> \usemodule[anyluaswitch][modulefile] ???
> 
> How to proceed in these cases? I find it inappropriate to divide the module 
> into two separate files.

Use \usemodule:

<example>
\startbuffer[test]
function test(argument)
    context.quotation(argument)
end

interfaces.definecommand {
    name = "test",
    arguments = {
        { "content", "string" },
    },
    macro = test,
}
\stopbuffer

\savebuffer[test][p-test.lua]

\usemodule[test]

\starttext
\test{Hello}
\stoptext
</example>

Wolfgang

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to