Expand description
Eclipse project linked folders, as CS-Studio BOY workspaces use them.
BOY screens name each other through the workspace project: a .project
file links folder names to real directories, so ../mks937a/gauge.opi
from proj/vacuum/x.opi means the mks937a link of proj. A path
through such a project is kept as written (so .. keeps working across
links), and locate finds the real file when it is opened.
DLS modules have no .project on disk: the generated launcher
runcss.sh beside a module’s screens lists the links, and CS-Studio
builds the project from them when it starts. Such a launcher is read (not
run) as a project of its own, in a virtual directory below the script:
…/opi/opi/runcss.sh/vacuum_4-100 for project vacuum_4-100, which
cannot clash with a real file since runcss.sh is a file, not a folder.
See launcher_path.
Constants§
- LAUNCHER
- The DLS CS-Studio launcher that lists a module’s links.
Functions§
- forget
- Forget the projects read so far, so that changed
.projectandruncss.shfiles are read again. - is_
project - Whether
diris a project: it holds a.project(which is not read), or is one of a launcher’s. - launcher_
path - The virtual path of the real BOY screen
realthrough the projects of the launcher in its folder or up to two above, as CS-Studio would open it from there:…/opi/opi/x.opiis…/opi/opi/runcss.sh/vacuum_4-100/vacuum/x.opi.Nonefor a path that is not a real file, one in no launcher’s linked folders, and one that a.projectnearer than the launcher (or beside it) links: a.projectthat links nothing, as many DLS modules have, does not count. - links
- Linked folders of
dir’s project, by name, whendirholds a.projector is a project of a launcher (…/runcss.sh/PROJECT). - locate
- The real file for
path:pathitself when it exists, else the path through the linked folder of the Eclipse project it lies in, elsepathwith.and..removed (for the error message). - normalize
pathwith.and..removed, without looking at the file system.- project_
dir - The project that
-p DIRnames:dirwhen its.projectlinks folders, else the (first) project of the launcher indir(ordiritself, when that is aruncss.sh), elsedirwith a.projectthat links nothing. - through_
launcher - Whether
pathgoes through a launcher’s project. - virtual_
path - The virtual path of
realin the project atproject_dir: the first linked folder holding it, so its..names resolve through the project.