MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / parse_workspace_service_process_line

Function parse_workspace_service_process_line

packages/server/src/main.rs:1737–1757  ·  view source on GitHub ↗
(line: &str)

Source from the content-addressed store, hash-verified

1735}
1736
1737fn parse_workspace_service_process_line(line: &str) -> Option<WorkspaceServiceProcess> {
1738 let (pid, rest) = take_ps_field(line)?;
1739 let (ppid, rest) = take_ps_field(rest)?;
1740 let (pgid, command) = take_ps_field(rest)?;
1741 if !command.contains(" service run ")
1742 || !command.contains(" --server-kind workspace")
1743 || !command.contains(" --metadata-path ")
1744 {
1745 return None;
1746 }
1747
1748 let project_root = command_arg_after(command, "--project-root")?;
1749 let metadata_path = command_arg_after(command, "--metadata-path")?;
1750 Some(WorkspaceServiceProcess {
1751 pid: pid.parse().ok()?,
1752 ppid: ppid.parse().ok()?,
1753 pgid: pgid.parse().ok()?,
1754 project_root: PathBuf::from(project_root),
1755 metadata_path: PathBuf::from(metadata_path),
1756 })
1757}
1758
1759fn take_ps_field(line: &str) -> Option<(&str, &str)> {
1760 let trimmed = line.trim_start();

Calls 3

take_ps_fieldFunction · 0.85
command_arg_afterFunction · 0.85
parseMethod · 0.45