66 lines
1.3 KiB
Plaintext
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
|