| src/workstack/__init__.py |
main |
1 |
1 |
0 |
0% |
| src/workstack/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
| src/workstack/__main__.py |
(no function) |
3 |
3 |
0 |
0% |
| src/workstack/cli/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
| src/workstack/cli/activation.py |
render_activation_script |
4 |
0 |
0 |
100% |
| src/workstack/cli/activation.py |
(no function) |
3 |
0 |
0 |
100% |
| src/workstack/cli/cli.py |
cli |
2 |
0 |
0 |
100% |
| src/workstack/cli/cli.py |
main |
1 |
1 |
0 |
0% |
| src/workstack/cli/cli.py |
(no function) |
48 |
0 |
0 |
100% |
| src/workstack/cli/commands/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
| src/workstack/cli/commands/completion.py |
completion_group |
0 |
0 |
0 |
100% |
| src/workstack/cli/commands/completion.py |
completion_bash |
7 |
7 |
0 |
0% |
| src/workstack/cli/commands/completion.py |
completion_zsh |
7 |
7 |
0 |
0% |
| src/workstack/cli/commands/completion.py |
completion_fish |
7 |
7 |
0 |
0% |
| src/workstack/cli/commands/completion.py |
(no function) |
13 |
0 |
0 |
100% |
| src/workstack/cli/commands/config.py |
_get_env_value |
7 |
0 |
0 |
100% |
| src/workstack/cli/commands/config.py |
_get_post_create_value |
15 |
6 |
0 |
60% |
| src/workstack/cli/commands/config.py |
config_group |
0 |
0 |
0 |
100% |
| src/workstack/cli/commands/config.py |
config_list |
30 |
0 |
0 |
100% |
| src/workstack/cli/commands/config.py |
config_get |
32 |
4 |
0 |
88% |
| src/workstack/cli/commands/config.py |
config_set |
27 |
4 |
0 |
85% |
| src/workstack/cli/commands/config.py |
(no function) |
21 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
sanitize_branch_component |
5 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
strip_plan_from_filename |
16 |
1 |
0 |
94% |
| src/workstack/cli/commands/create.py |
strip_plan_from_filename.replace_impl_plan |
18 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
strip_plan_from_filename.replace_plan |
7 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
strip_plan_from_filename.clean_separators |
5 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
sanitize_worktree_name |
6 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
default_branch_for_worktree |
1 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
add_worktree |
20 |
2 |
0 |
90% |
| src/workstack/cli/commands/create.py |
make_env_content |
9 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
quote_env_value |
2 |
0 |
0 |
100% |
| src/workstack/cli/commands/create.py |
create |
84 |
14 |
0 |
83% |
| src/workstack/cli/commands/create.py |
run_commands_in_worktree |
4 |
1 |
0 |
75% |
| src/workstack/cli/commands/create.py |
(no function) |
32 |
0 |
0 |
100% |
| src/workstack/cli/commands/down.py |
down_cmd |
15 |
2 |
0 |
87% |
| src/workstack/cli/commands/down.py |
(no function) |
10 |
0 |
0 |
100% |
| src/workstack/cli/commands/gc.py |
gc_cmd |
37 |
0 |
0 |
100% |
| src/workstack/cli/commands/gc.py |
gc_cmd.debug_print |
2 |
0 |
0 |
100% |
| src/workstack/cli/commands/gc.py |
(no function) |
8 |
0 |
0 |
100% |
| src/workstack/cli/commands/gt.py |
graphite_group |
1 |
1 |
0 |
0% |
| src/workstack/cli/commands/gt.py |
graphite_branches_cmd |
17 |
4 |
0 |
76% |
| src/workstack/cli/commands/gt.py |
_format_branches_as_tree |
12 |
12 |
0 |
0% |
| src/workstack/cli/commands/gt.py |
_format_branch_recursive |
19 |
19 |
0 |
0% |
| src/workstack/cli/commands/gt.py |
(no function) |
18 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
detect_root_project_name |
14 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
is_repo_named |
2 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
detect_graphite |
1 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
create_global_config |
2 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
discover_presets |
4 |
0 |
0 |
100% |
| src/workstack/cli/commands/init.py |
render_config_template |
6 |
1 |
0 |
83% |
| src/workstack/cli/commands/init.py |
_add_gitignore_entry |
8 |
2 |
0 |
75% |
| src/workstack/cli/commands/init.py |
get_shell_wrapper_content |
7 |
2 |
0 |
71% |
| src/workstack/cli/commands/init.py |
perform_shell_setup |
45 |
7 |
0 |
84% |
| src/workstack/cli/commands/init.py |
init_cmd |
65 |
1 |
0 |
98% |
| src/workstack/cli/commands/init.py |
(no function) |
26 |
0 |
0 |
100% |
| src/workstack/cli/commands/jump.py |
_format_worktree_info |
5 |
1 |
0 |
80% |
| src/workstack/cli/commands/jump.py |
_perform_jump |
28 |
11 |
0 |
61% |
| src/workstack/cli/commands/jump.py |
jump_cmd |
21 |
0 |
0 |
100% |
| src/workstack/cli/commands/jump.py |
(no function) |
16 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
_format_worktree_line |
13 |
3 |
0 |
77% |
| src/workstack/cli/commands/list.py |
_filter_stack_for_worktree |
14 |
1 |
0 |
93% |
| src/workstack/cli/commands/list.py |
_is_trunk_branch |
15 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
_get_pr_status_emoji |
11 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
_format_pr_info |
9 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
_format_plan_summary |
7 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
_display_branch_stack |
22 |
1 |
0 |
95% |
| src/workstack/cli/commands/list.py |
_list_worktrees |
61 |
3 |
0 |
95% |
| src/workstack/cli/commands/list.py |
list_cmd |
1 |
0 |
0 |
100% |
| src/workstack/cli/commands/list.py |
ls_cmd |
1 |
1 |
0 |
0% |
| src/workstack/cli/commands/list.py |
(no function) |
24 |
0 |
0 |
100% |
| src/workstack/cli/commands/move.py |
_get_worktree_branch |
6 |
1 |
0 |
83% |
| src/workstack/cli/commands/move.py |
_has_uncommitted_changes |
4 |
1 |
0 |
75% |
| src/workstack/cli/commands/move.py |
_find_worktree_containing_path |
10 |
0 |
0 |
100% |
| src/workstack/cli/commands/move.py |
_find_worktree_with_branch |
5 |
0 |
0 |
100% |
| src/workstack/cli/commands/move.py |
_resolve_current_worktree |
11 |
4 |
0 |
64% |
| src/workstack/cli/commands/move.py |
resolve_source_worktree |
20 |
2 |
0 |
90% |
| src/workstack/cli/commands/move.py |
detect_operation_type |
7 |
0 |
0 |
100% |
| src/workstack/cli/commands/move.py |
execute_move |
21 |
4 |
0 |
81% |
| src/workstack/cli/commands/move.py |
execute_swap |
21 |
5 |
0 |
76% |
| src/workstack/cli/commands/move.py |
move_cmd |
16 |
0 |
0 |
100% |
| src/workstack/cli/commands/move.py |
(no function) |
24 |
0 |
0 |
100% |
| src/workstack/cli/commands/prepare_cwd_recovery.py |
generate_recovery_script |
13 |
1 |
0 |
92% |
| src/workstack/cli/commands/prepare_cwd_recovery.py |
prepare_cwd_recovery_cmd |
4 |
0 |
0 |
100% |
| src/workstack/cli/commands/prepare_cwd_recovery.py |
(no function) |
9 |
0 |
0 |
100% |
| src/workstack/cli/commands/remove.py |
_try_git_worktree_remove |
5 |
2 |
0 |
60% |
| src/workstack/cli/commands/remove.py |
_prune_worktrees_safe |
4 |
2 |
0 |
50% |
| src/workstack/cli/commands/remove.py |
_find_worktree_branch |
5 |
5 |
0 |
0% |
| src/workstack/cli/commands/remove.py |
_get_non_trunk_branches |
12 |
12 |
0 |
0% |
| src/workstack/cli/commands/remove.py |
_get_branches_to_delete |
5 |
5 |
0 |
0% |
| src/workstack/cli/commands/remove.py |
_remove_worktree |
66 |
9 |
0 |
86% |
| src/workstack/cli/commands/remove.py |
remove_cmd |
1 |
1 |
0 |
0% |
| src/workstack/cli/commands/remove.py |
rm_cmd |
1 |
0 |
0 |
100% |
| src/workstack/cli/commands/remove.py |
(no function) |
29 |
0 |
0 |
100% |
| src/workstack/cli/commands/rename.py |
rename_cmd |
22 |
1 |
0 |
95% |
| src/workstack/cli/commands/rename.py |
(no function) |
13 |
0 |
0 |
100% |
| src/workstack/cli/commands/shell_integration.py |
hidden_shell_cmd |
7 |
0 |
0 |
100% |
| src/workstack/cli/commands/shell_integration.py |
(no function) |
5 |
0 |
0 |
100% |
| src/workstack/cli/commands/status.py |
status_cmd |
18 |
18 |
0 |
0% |
| src/workstack/cli/commands/status.py |
(no function) |
13 |
0 |
0 |
100% |
| src/workstack/cli/commands/switch.py |
_ensure_graphite_enabled |
3 |
0 |
0 |
100% |
| src/workstack/cli/commands/switch.py |
_activate_root_repo |
11 |
5 |
0 |
55% |
| src/workstack/cli/commands/switch.py |
_activate_worktree |
17 |
4 |
0 |
76% |
| src/workstack/cli/commands/switch.py |
_resolve_up_navigation |
12 |
1 |
0 |
92% |
| src/workstack/cli/commands/switch.py |
_resolve_down_navigation |
22 |
6 |
0 |
73% |
| src/workstack/cli/commands/switch.py |
complete_worktree_names |
11 |
2 |
0 |
82% |
| src/workstack/cli/commands/switch.py |
switch_cmd |
37 |
7 |
0 |
81% |
| src/workstack/cli/commands/switch.py |
(no function) |
22 |
0 |
0 |
100% |
| src/workstack/cli/commands/sync.py |
_emit |
1 |
0 |
0 |
100% |
| src/workstack/cli/commands/sync.py |
_return_to_original_worktree |
8 |
6 |
0 |
25% |
| src/workstack/cli/commands/sync.py |
sync_cmd |
81 |
2 |
0 |
98% |
| src/workstack/cli/commands/sync.py |
(no function) |
16 |
0 |
0 |
100% |
| src/workstack/cli/commands/tree.py |
tree_cmd |
7 |
2 |
0 |
71% |
| src/workstack/cli/commands/tree.py |
(no function) |
8 |
0 |
0 |
100% |
| src/workstack/cli/commands/up.py |
up_cmd |
13 |
2 |
0 |
85% |
| src/workstack/cli/commands/up.py |
(no function) |
10 |
0 |
0 |
100% |
| src/workstack/cli/config.py |
load_config |
11 |
0 |
0 |
100% |
| src/workstack/cli/config.py |
(no function) |
9 |
0 |
0 |
100% |
| src/workstack/cli/core.py |
discover_repo_context |
19 |
1 |
0 |
95% |
| src/workstack/cli/core.py |
ensure_workstacks_dir |
2 |
0 |
0 |
100% |
| src/workstack/cli/core.py |
worktree_path_for |
1 |
0 |
0 |
100% |
| src/workstack/cli/core.py |
validate_worktree_name_for_removal |
15 |
2 |
0 |
87% |
| src/workstack/cli/core.py |
(no function) |
13 |
0 |
0 |
100% |
| src/workstack/cli/debug.py |
is_debug |
1 |
0 |
0 |
100% |
| src/workstack/cli/debug.py |
debug_log |
6 |
4 |
0 |
33% |
| src/workstack/cli/debug.py |
(no function) |
5 |
0 |
0 |
100% |
| src/workstack/cli/graphite.py |
_load_graphite_cache |
2 |
0 |
0 |
100% |
| src/workstack/cli/graphite.py |
_load_branch_info |
15 |
1 |
0 |
93% |
| src/workstack/cli/graphite.py |
get_branch_stack |
26 |
2 |
0 |
92% |
| src/workstack/cli/graphite.py |
get_parent_branch |
6 |
2 |
0 |
67% |
| src/workstack/cli/graphite.py |
get_child_branches |
6 |
2 |
0 |
67% |
| src/workstack/cli/graphite.py |
find_worktrees_containing_branch |
10 |
0 |
0 |
100% |
| src/workstack/cli/graphite.py |
find_worktree_for_branch |
4 |
0 |
0 |
100% |
| src/workstack/cli/graphite.py |
(no function) |
16 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
_invoke_hidden_command |
22 |
6 |
0 |
73% |
| src/workstack/cli/shell_integration/handler.py |
handle_shell_request |
5 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
_build_passthrough_script |
6 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
_render_passthrough_script |
3 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
_render_posix_passthrough |
4 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
_quote_fish |
14 |
5 |
0 |
64% |
| src/workstack/cli/shell_integration/handler.py |
_render_fish_passthrough |
4 |
0 |
0 |
100% |
| src/workstack/cli/shell_integration/handler.py |
(no function) |
29 |
0 |
0 |
100% |
| src/workstack/cli/shell_utils.py |
render_cd_script |
4 |
0 |
0 |
100% |
| src/workstack/cli/shell_utils.py |
write_script_to_temp |
13 |
0 |
0 |
100% |
| src/workstack/cli/shell_utils.py |
cleanup_stale_scripts |
9 |
2 |
0 |
78% |
| src/workstack/cli/shell_utils.py |
(no function) |
11 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
build_workstack_tree |
8 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_get_worktree_mapping |
19 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_load_graphite_branch_graph |
21 |
1 |
0 |
95% |
| src/workstack/cli/tree.py |
_filter_graph_to_active_branches |
13 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_build_tree_from_graph |
2 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_build_tree_from_graph.build_node |
5 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
render_tree |
6 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
render_tree.render_node |
14 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_format_branch_name |
3 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
_format_worktree_annotation |
1 |
0 |
0 |
100% |
| src/workstack/cli/tree.py |
(no function) |
29 |
0 |
0 |
100% |
| src/workstack/core/__init__.py |
(no function) |
0 |
0 |
0 |
100% |
| src/workstack/core/branch_metadata.py |
(no function) |
8 |
0 |
0 |
100% |
| src/workstack/core/context.py |
create_context |
10 |
0 |
0 |
100% |
| src/workstack/core/context.py |
(no function) |
15 |
0 |
0 |
100% |
| src/workstack/core/file_utils.py |
_is_critical_system_file |
9 |
3 |
0 |
67% |
| src/workstack/core/file_utils.py |
atomic_write |
17 |
7 |
0 |
59% |
| src/workstack/core/file_utils.py |
extract_plan_title |
13 |
0 |
0 |
100% |
| src/workstack/core/file_utils.py |
(no function) |
10 |
0 |
0 |
100% |
| src/workstack/core/github_ops.py |
_parse_github_pr_url |
4 |
0 |
0 |
100% |
| src/workstack/core/github_ops.py |
GitHubOps.get_prs_for_repo |
0 |
0 |
1 |
100% |
| src/workstack/core/github_ops.py |
GitHubOps.get_pr_status |
0 |
0 |
1 |
100% |
| src/workstack/core/github_ops.py |
RealGitHubOps.get_prs_for_repo |
21 |
21 |
0 |
0% |
| src/workstack/core/github_ops.py |
RealGitHubOps.get_pr_status |
13 |
13 |
0 |
0% |
| src/workstack/core/github_ops.py |
RealGitHubOps._determine_checks_status |
11 |
11 |
0 |
0% |
| src/workstack/core/github_ops.py |
DryRunGitHubOps.__init__ |
1 |
0 |
0 |
100% |
| src/workstack/core/github_ops.py |
DryRunGitHubOps.get_prs_for_repo |
1 |
0 |
0 |
100% |
| src/workstack/core/github_ops.py |
DryRunGitHubOps.get_pr_status |
1 |
1 |
0 |
0% |
| src/workstack/core/github_ops.py |
(no function) |
29 |
0 |
3 |
100% |
| src/workstack/core/gitops.py |
GitOps.list_worktrees |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.get_current_branch |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.detect_default_branch |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.get_git_common_dir |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.has_staged_changes |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.add_worktree |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.move_worktree |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.remove_worktree |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.checkout_branch |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.checkout_detached |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.delete_branch_with_graphite |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.prune_worktrees |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.is_branch_checked_out |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.get_branch_head |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
GitOps.get_commit_message |
0 |
0 |
1 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.list_worktrees |
21 |
2 |
0 |
90% |
| src/workstack/core/gitops.py |
RealGitOps.get_current_branch |
7 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.detect_default_branch |
12 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.get_git_common_dir |
7 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.has_staged_changes |
5 |
5 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.add_worktree |
8 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.move_worktree |
2 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.remove_worktree |
5 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.checkout_branch |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
RealGitOps.checkout_detached |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.delete_branch_with_graphite |
4 |
4 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.prune_worktrees |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.is_branch_checked_out |
5 |
5 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.get_branch_head |
4 |
4 |
0 |
0% |
| src/workstack/core/gitops.py |
RealGitOps.get_commit_message |
4 |
4 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.__init__ |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.list_worktrees |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.get_current_branch |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.detect_default_branch |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.get_git_common_dir |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.checkout_branch |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.checkout_detached |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.has_staged_changes |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.add_worktree |
7 |
4 |
0 |
43% |
| src/workstack/core/gitops.py |
DryRunGitOps.move_worktree |
1 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.remove_worktree |
2 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.delete_branch_with_graphite |
2 |
0 |
0 |
100% |
| src/workstack/core/gitops.py |
DryRunGitOps.prune_worktrees |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.is_branch_checked_out |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.get_branch_head |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
DryRunGitOps.get_commit_message |
1 |
1 |
0 |
0% |
| src/workstack/core/gitops.py |
(no function) |
73 |
0 |
17 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_workstacks_root |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_use_graphite |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_shell_setup_complete |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_show_pr_info |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_show_pr_checks |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.set |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.exists |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
GlobalConfigOps.get_path |
0 |
0 |
1 |
100% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.__init__ |
2 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps._load_cache |
7 |
1 |
0 |
86% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps._ensure_cache |
3 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps._invalidate_cache |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_workstacks_root |
5 |
1 |
0 |
80% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_use_graphite |
5 |
5 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_shell_setup_complete |
5 |
5 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_show_pr_info |
5 |
5 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_show_pr_checks |
5 |
5 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.set |
24 |
7 |
0 |
71% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.exists |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
RealGlobalConfigOps.get_path |
1 |
1 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.__init__ |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_workstacks_root |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_use_graphite |
1 |
1 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_shell_setup_complete |
1 |
1 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_show_pr_info |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_show_pr_checks |
1 |
0 |
0 |
100% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.set |
13 |
3 |
0 |
77% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.exists |
1 |
1 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
DryRunGlobalConfigOps.get_path |
1 |
1 |
0 |
0% |
| src/workstack/core/global_config_ops.py |
(no function) |
48 |
0 |
10 |
100% |
| src/workstack/core/graphite_ops.py |
GraphiteOps.get_graphite_url |
0 |
0 |
1 |
100% |
| src/workstack/core/graphite_ops.py |
GraphiteOps.sync |
0 |
0 |
1 |
100% |
| src/workstack/core/graphite_ops.py |
GraphiteOps.get_prs_from_graphite |
0 |
0 |
1 |
100% |
| src/workstack/core/graphite_ops.py |
GraphiteOps.get_all_branches |
0 |
0 |
1 |
100% |
| src/workstack/core/graphite_ops.py |
RealGraphiteOps.get_graphite_url |
1 |
0 |
0 |
100% |
| src/workstack/core/graphite_ops.py |
RealGraphiteOps.sync |
4 |
4 |
0 |
0% |
| src/workstack/core/graphite_ops.py |
RealGraphiteOps.get_prs_from_graphite |
21 |
16 |
0 |
24% |
| src/workstack/core/graphite_ops.py |
RealGraphiteOps._graphite_url_to_github_url |
7 |
7 |
0 |
0% |
| src/workstack/core/graphite_ops.py |
RealGraphiteOps.get_all_branches |
26 |
26 |
0 |
0% |
| src/workstack/core/graphite_ops.py |
DryRunGraphiteOps.__init__ |
1 |
0 |
0 |
100% |
| src/workstack/core/graphite_ops.py |
DryRunGraphiteOps.get_graphite_url |
1 |
0 |
0 |
100% |
| src/workstack/core/graphite_ops.py |
DryRunGraphiteOps.get_prs_from_graphite |
1 |
0 |
0 |
100% |
| src/workstack/core/graphite_ops.py |
DryRunGraphiteOps.get_all_branches |
1 |
1 |
0 |
0% |
| src/workstack/core/graphite_ops.py |
DryRunGraphiteOps.sync |
5 |
1 |
0 |
80% |
| src/workstack/core/graphite_ops.py |
(no function) |
29 |
0 |
5 |
100% |
| src/workstack/core/shell_ops.py |
ShellOps.detect_shell |
0 |
0 |
1 |
100% |
| src/workstack/core/shell_ops.py |
ShellOps.check_tool_installed |
0 |
0 |
1 |
100% |
| src/workstack/core/shell_ops.py |
RealShellOps.detect_shell |
14 |
14 |
0 |
0% |
| src/workstack/core/shell_ops.py |
RealShellOps.check_tool_installed |
1 |
1 |
0 |
0% |
| src/workstack/core/shell_ops.py |
(no function) |
12 |
0 |
3 |
100% |
| src/workstack/status/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
| src/workstack/status/collectors/__init__.py |
(no function) |
3 |
0 |
0 |
100% |
| src/workstack/status/collectors/base.py |
StatusCollector.name |
0 |
0 |
1 |
100% |
| src/workstack/status/collectors/base.py |
StatusCollector.is_available |
0 |
0 |
1 |
100% |
| src/workstack/status/collectors/base.py |
StatusCollector.collect |
0 |
0 |
1 |
100% |
| src/workstack/status/collectors/base.py |
(no function) |
12 |
0 |
2 |
100% |
| src/workstack/status/collectors/git.py |
GitStatusCollector.name |
1 |
0 |
0 |
100% |
| src/workstack/status/collectors/git.py |
GitStatusCollector.is_available |
3 |
0 |
0 |
100% |
| src/workstack/status/collectors/git.py |
GitStatusCollector.collect |
8 |
5 |
0 |
38% |
| src/workstack/status/collectors/git.py |
GitStatusCollector._get_file_status |
16 |
16 |
0 |
0% |
| src/workstack/status/collectors/git.py |
GitStatusCollector._get_ahead_behind |
11 |
11 |
0 |
0% |
| src/workstack/status/collectors/git.py |
GitStatusCollector._get_recent_commits |
9 |
9 |
0 |
0% |
| src/workstack/status/collectors/git.py |
(no function) |
13 |
0 |
0 |
100% |
| src/workstack/status/collectors/github.py |
GitHubPRCollector.name |
1 |
1 |
0 |
0% |
| src/workstack/status/collectors/github.py |
GitHubPRCollector.is_available |
5 |
5 |
0 |
0% |
| src/workstack/status/collectors/github.py |
GitHubPRCollector.collect |
11 |
11 |
0 |
0% |
| src/workstack/status/collectors/github.py |
(no function) |
9 |
0 |
0 |
100% |
| src/workstack/status/collectors/graphite.py |
GraphiteStackCollector.name |
1 |
1 |
0 |
0% |
| src/workstack/status/collectors/graphite.py |
GraphiteStackCollector.is_available |
5 |
5 |
0 |
0% |
| src/workstack/status/collectors/graphite.py |
GraphiteStackCollector.collect |
15 |
15 |
0 |
0% |
| src/workstack/status/collectors/graphite.py |
(no function) |
10 |
0 |
0 |
100% |
| src/workstack/status/collectors/plan.py |
PlanFileCollector.name |
1 |
0 |
0 |
100% |
| src/workstack/status/collectors/plan.py |
PlanFileCollector.is_available |
2 |
0 |
0 |
100% |
| src/workstack/status/collectors/plan.py |
PlanFileCollector.collect |
18 |
0 |
0 |
100% |
| src/workstack/status/collectors/plan.py |
(no function) |
9 |
0 |
0 |
100% |
| src/workstack/status/models/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
| src/workstack/status/models/status_data.py |
(no function) |
67 |
0 |
0 |
100% |
| src/workstack/status/orchestrator.py |
StatusOrchestrator.__init__ |
2 |
0 |
0 |
100% |
| src/workstack/status/orchestrator.py |
StatusOrchestrator.collect_status |
35 |
11 |
0 |
69% |
| src/workstack/status/orchestrator.py |
StatusOrchestrator._get_worktree_info |
6 |
0 |
0 |
100% |
| src/workstack/status/orchestrator.py |
StatusOrchestrator._get_related_worktrees |
17 |
11 |
0 |
35% |
| src/workstack/status/orchestrator.py |
(no function) |
12 |
0 |
0 |
100% |
| src/workstack/status/renderers/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer.render |
6 |
0 |
0 |
100% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_file_list |
5 |
0 |
0 |
100% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_header |
8 |
1 |
0 |
88% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_plan |
8 |
0 |
0 |
100% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_stack |
24 |
3 |
0 |
88% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_pr_status |
18 |
16 |
0 |
11% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_git_status |
33 |
3 |
0 |
91% |
| src/workstack/status/renderers/simple.py |
SimpleRenderer._render_related_worktrees |
14 |
12 |
0 |
14% |
| src/workstack/status/renderers/simple.py |
(no function) |
11 |
0 |
0 |
100% |