public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: Bastien DUMONT <bastien.dumont-VwIFZPTo/vqsTnJN9+BGXg@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: requiring other lua files from parent directories from within filters
Date: Tue,  3 Oct 2023 16:50:26 +0000	[thread overview]
Message-ID: <ZRxGUn7zsP-pRL0O@localhost> (raw)
In-Reply-To: <ee1ceb10-3318-48d0-ae1a-0ca538a3cdc9n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

The argument of require() is not a path, but a string that is passed to a template. The template is composed of semi-colon separated strings where ? is stands for the argument of require() (after all . have been replaced with /). For instance, if the template is:

  ./?.lua;/usr/local/share/lua/5.4/?.lua

and you pass 'library.library' to it, Lua will search in ./library/library.lua and /usr/local/share/lua/5.4/library/library.lua

The path is controlled by environment variables. In your case, if all loaded files are in the ../library directory, I would advise to call your script with:

  LUA_PATH='../library/?.lua' pandoc-lua script.lua

and to write in inner/script.lua:

  library = require("library")

Of course, you can also set the path to '../?.lua;./?.lua' if you want to be able to load files from the current directory and to write explicitely the path to library.lua as library.library!

Le Tuesday 03 October 2023 à 09:17:04AM, ch_...-S0/GAf8tV78@public.gmane.org a écrit :
> I have the following file structure:
> 
> inner/script.lua
> library/library.lua
> 
> I try to load the library from within the script
> 
> library = require("../library/library.lua")
> 
> but get an error when running inside inner: pandoc lua script.lua
> 
> Error running Lua:
> script.lua:1: module '../library/library.lua' not found:
> no field package.preload['../library/library.lua']
> no file '/usr/local/share/lua/5.4////library/library/lua.lua'
> no file '/usr/local/share/lua/5.4////library/library/lua/init.lua'
> no file '/usr/local/lib/lua/5.4////library/library/lua.lua'
> no file '/usr/local/lib/lua/5.4////library/library/lua/init.lua'
> no file './///library/library/lua.lua'
> no file './///library/library/lua/init.lua'
> no file '/usr/local/lib/lua/5.4////library/library/lua.so'
> no file '/usr/local/lib/lua/5.4/loadall.so'
> no file './///library/library/lua.so'
> no file '/usr/local/lib/lua/5.4/.so'
> no file '/usr/local/lib/lua/5.4/loadall.so'
> no file './.so'
> stack traceback:
> script.lua:1: in main chunk
> 
> --
> You received this message because you are subscribed to the Google Groups
> "pandoc-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> to [1]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit [2]https://groups.google.com/d/msgid/
> pandoc-discuss/ee1ceb10-3318-48d0-ae1a-0ca538a3cdc9n%40googlegroups.com.
> 
> References:
> 
> [1] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> [2] https://groups.google.com/d/msgid/pandoc-discuss/ee1ceb10-3318-48d0-ae1a-0ca538a3cdc9n%40googlegroups.com?utm_medium=email&utm_source=footer

-- 
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/ZRxGUn7zsP-pRL0O%40localhost.


  parent reply	other threads:[~2023-10-03 16:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-03 16:17 ch_...-S0/GAf8tV78@public.gmane.org
     [not found] ` <ee1ceb10-3318-48d0-ae1a-0ca538a3cdc9n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-10-03 16:50   ` Bastien DUMONT [this message]
2023-10-04 13:54     ` jcr
     [not found]       ` <d94cef59-9869-4376-9d36-b38cab195025n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-10-05 10:11         ` Albert Krewinkel
     [not found]           ` <875y3lnzho.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2023-10-05 14:49             ` jcr
2023-10-05 15:00             ` jcr
     [not found]               ` <82dabe2b-28c9-4ea3-a299-36a8c01b31b6n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-10-05 20:34                 ` Albert Krewinkel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZRxGUn7zsP-pRL0O@localhost \
    --to=bastien.dumont-vwifzpto/vqstnjn9+bgxg@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).