From f52bcaa27fc125ab9ae583af466ba99c164169f3 Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Mon, 7 Aug 2023 12:30:15 -0500 Subject: Add fs.relative_to() Returns a relative path from arg 2 to arg 1 similar to os.path.relpath(). --- docs/markdown/snippets/fs_relative_to.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/markdown/snippets/fs_relative_to.md (limited to 'docs/markdown/snippets') diff --git a/docs/markdown/snippets/fs_relative_to.md b/docs/markdown/snippets/fs_relative_to.md new file mode 100644 index 0000000..82e6a42 --- /dev/null +++ b/docs/markdown/snippets/fs_relative_to.md @@ -0,0 +1,17 @@ +## `fs.relative_to()` + +The `fs` module now has a `relative_to` method. The method will return the +relative path from argument one to argument two, if one exists. Otherwise, the +absolute path to argument one is returned. + +```meson +assert(fs.relative_to('c:\\prefix\\lib', 'c:\\prefix\\bin') == '..\\lib') +assert(fs.relative_to('c:\\proj1\\foo', 'd:\\proj1\\bar') == 'c:\\proj1\\foo') +assert(fs.relative_to('prefix\\lib\\foo', 'prefix') == 'lib\\foo') + +assert(fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib') +assert(fs.relative_to('prefix/lib/foo', 'prefix') == 'lib/foo') +``` + +In addition to strings, it can handle files, custom targets, custom target +indices, and build targets. -- cgit v1.1