tame/doc/notes/path-processing

66 lines
1.3 KiB
Plaintext

Path processing
---------------
Need rules that will work for both the existing scenario (B) and the new
scenario (A):
_
/ \
/ _ \
/ ___ \
/_/ \_\
---------
root = ../
package = suppliers/colony <--- /suppliers/colony
import = ../map/return/colony <--- /map/return/colony
mapimport = ../../suppliers/colony/gl <-- /suppliers/colony/gl
this is the root
/ \
v v
1) <..>/map/return/ | <..>/../suppliers/colony/gl
= ../suppliers/colony/gl
^^^^^^^^^^^^^^^^
\ /
package name
2) strip root||(package base) from package import
= ../map/return | <../suppliers/>colony/gl
= colony/gl
^^^^^^^^^
` The relative path from package
____
| __ )
| _ \
| |_) |
|____/
-------
what about normal includes?
root = ../
package = suppliers/colony <--- /suppliers/colony
import = ../common/foo <--- /common/foo
subimport = bar/baz <--- /common/foo/bar/baz
one has root, other does not
/
v
1) <..>/common/ | bar/baz
= ../common/bar/baz
2) strip root||(package base) from package import
= ../common/bar/baz
^^^^^^^^^^^^^^^^^
` no such prefix,
so this is the relative path