Hi Eric,
Somehow I was pretty sure you would answer ;)
I tried your example and it work great so far.
I have three points which I would like to discuss
1. I thought it might be nice to declare the package and class name for
the java-stuff as variable in a property node then I could do something
like:
* Coursework 1
:PROPERTIES:
:var: PKGNAME="cw1"
:var: CLASS="calc"
:END:
** Snippet 1
** Snippet 2
* Coursework 2
:PROPERTIES:
:var: PKGNAME="cw2"
:var: CLASS="string"
:END:
** Snippet 1
** Snippet 2
Unfortunately, org-mode does not allow multiple definition of the same
property. I know there is a work around with a table. However, I thought
I could use simply a list.
:var: vars="(cw1 calc)"
and use this in my shell script. However, this doesn't work. I can't
index them. Any idea? Should it work in principle? Could I e.g., use
:var: vars="{'x': 128, 'y': 210}"
and put this in a python block accessing them by vars['x'] and
vars['y']? That would be great!
2. I'm not totally sure but it seems that tangling creates the desired
file if it is not existing so fare but it does not create folders thus,
:tangle path/filename seems not to work.
Any reason for this or maybe good idea to add it as a feature?
For now, I added a little shell-based block "start" which takes care of
this.
3. Tangleing and executing the code via a shell blocks works great. I
saw somewhere that you could even tangle from the command line by
calling emacs in batch mode. That's maybe a bit overcomplex for my task
but some additional style to noweb might be nice. Instead of placing the
code block at the point of call, tangle the code block. Then I could call
<<start>>
<<snippet>>
<<execute>>
If I understood right, noweb for now only place the code of the block at
the particular place. Maybe, I could write a lisp-block "tangle" which
tangles the code and call it via
<<tangle(snippet)>>
Just want to know if this might be a good idea in general or if this
works already in some other way.
All the best
Totti