diff options
Diffstat (limited to 'conformance/fixtures/reference-examples.json')
| -rw-r--r-- | conformance/fixtures/reference-examples.json | 5870 |
1 files changed, 5870 insertions, 0 deletions
diff --git a/conformance/fixtures/reference-examples.json b/conformance/fixtures/reference-examples.json new file mode 100644 index 0000000..6927b24 --- /dev/null +++ b/conformance/fixtures/reference-examples.json @@ -0,0 +1,5870 @@ +{ + "format_version": 1, + "scenarios": [ + { + "id": "SCN-1101-TIMEOUT-BOUNDARY", + "title": "Repeat timeout accepts equality and restarts the interval", + "source_refs": [ + "11.1" + ], + "requirements": [ + "CF-0508-003", + "CF-0602-004", + "CF-0702-009", + "CF-1101-001", + "CF-1101-002", + "CF-1101-004", + "CF-1101-005" + ], + "given": { + "buffer": { + "lines": [ + "aaaaa" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "repeat_timeout_ms": 100 + }, + "input_packets": [], + "time_values_ms": [ + 200, + 299.9 + ], + "events": [], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [], + "repeat_timestamp_ms": 100, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "time_value_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward", + "time_value_indexes": [ + 1 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "aaaaa" + ], + "final_position": { + "line": 1, + "byte_column": 4 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 1, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 4 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "repeat_timestamp_ms": 299.9 + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 3 + } + }, + { + "after_step": 1, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 4 + } + } + ] + } + }, + { + "id": "SCN-1101-TIMEOUT-EXPIRED", + "title": "Repeat timeout resets and reacquires above the threshold", + "source_refs": [ + "11.1" + ], + "requirements": [ + "CF-0508-003", + "CF-1101-002", + "CF-1101-003" + ], + "given": { + "buffer": { + "lines": [ + "ababa" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "repeat_timeout_ms": 100 + }, + "input_packets": [ + { + "kind": "text", + "text": "b" + } + ], + "time_values_ms": [ + 201 + ], + "events": [], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 100, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ], + "time_value_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "ababa" + ], + "final_position": { + "line": 1, + "byte_column": 4 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 4 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "b", + "first_code": 98 + } + } + }, + "last_input_context": "n", + "migemo_cache": [], + "repeat_timestamp_ms": 201 + }, + "retained_fields": [ + "previous_target", + "last_input_context", + "moved_forward" + ], + "cleared_fields": [ + "migemo_cache" + ] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 4 + } + } + ] + } + }, + { + "id": "SCN-1102-COMMAND-SUCCESS", + "title": "Command-path success commits landing and direction", + "source_refs": [ + "11.2" + ], + "requirements": [ + "CF-0200-005", + "CF-0301-007", + "CF-0303-002", + "CF-0304-001", + "CF-0601-002", + "CF-0601-003", + "CF-0602-002", + "CF-1102-001", + "CF-1102-002", + "CF-1102-003", + "CF-1102-005", + "CF-1102-007" + ], + "given": { + "buffer": { + "lines": [ + "abca" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "abca" + ], + "final_position": { + "line": 1, + "byte_column": 4 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 4 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 4 + } + } + ] + } + }, + { + "id": "SCN-1102-COMMAND-FAILURE", + "title": "First-step command failure preserves successful history", + "source_refs": [ + "10.6", + "11.2", + "14.4" + ], + "requirements": [ + "CF-0601-003", + "CF-0604-001", + "CF-1004-004", + "CF-1006-002", + "CF-1006-003", + "CF-1102-004", + "CF-1404-001" + ], + "given": { + "buffer": { + "lines": [ + "abc" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "z" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "failed_search", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": false, + "successful_steps": 0, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "abc" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "z", + "first_code": 122 + } + } + }, + "last_input_context": "n", + "target_overlays": [ + "char-1" + ], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_landing", + "first_move" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1, + "priority": "high", + "descriptor": "f", + "target_plan": "literal-sensitive-z" + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "register_finalizer", + "identity": "finalizer-1" + } + ] + } + }, + { + "id": "SCN-1103-VISUAL-SUCCESS", + "title": "Visual success preserves kind, direction state, and overlay anchor", + "source_refs": [ + "11.3" + ], + "requirements": [ + "CF-0200-005", + "CF-1005-002", + "CF-1103-001", + "CF-1103-002", + "CF-1103-003", + "CF-1103-004", + "CF-1103-005", + "CF-1206-004" + ], + "given": { + "buffer": { + "lines": [ + "abca" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "v", + "selection": { + "active": true, + "kind": "character", + "anchor": { + "line": 1, + "byte_column": 1 + }, + "focus": { + "line": 1, + "byte_column": 1 + }, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "c" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "abca" + ], + "final_position": { + "line": 1, + "byte_column": 3 + }, + "final_selection": { + "active": true, + "kind": "character", + "anchor": { + "line": 1, + "byte_column": 1 + }, + "focus": { + "line": 1, + "byte_column": 3 + }, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "v": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 3 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "c", + "first_code": 99 + } + } + }, + "moved_forward": true, + "target_overlays": [ + "char-1" + ] + }, + "retained_fields": [ + "moved_forward", + "target_overlays" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "preserve", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1 + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "apply_selection", + "position": { + "line": 1, + "byte_column": 3 + } + } + ] + } + }, + { + "id": "SCN-1104-DFE", + "title": "Forward FIND delete endpoint", + "source_refs": [ + "11.4" + ], + "requirements": [ + "CF-1104-003", + "CF-1104-001", + "CF-0200-005", + "CF-1102-001", + "CF-1205-007" + ], + "given": { + "buffer": { + "lines": [ + "hoge fuge piye poye" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "no", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": "delete", + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "e" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f", + "buffer_lines": [ + " fuge piye poye" + ] + } + ], + "final_buffer": [ + " fuge piye poye" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1104-DTE", + "title": "Forward TILL delete endpoint", + "source_refs": [ + "11.4" + ], + "requirements": [ + "CF-1104-004", + "CF-1104-001" + ], + "given": { + "buffer": { + "lines": [ + "hoge fuge piye poye" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "no", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": "delete", + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "e" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartTillForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "t", + "buffer_lines": [ + "e fuge piye poye" + ] + } + ], + "final_buffer": [ + "e fuge piye poye" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1104-DFE-BACKWARD", + "title": "Backward FIND delete endpoint", + "source_refs": [ + "11.4" + ], + "requirements": [ + "CF-1104-005", + "CF-1104-002" + ], + "given": { + "buffer": { + "lines": [ + "hoge fuge piye poye" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 19 + }, + "mode": "no", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": "delete", + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "e" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindBackward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 14 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F", + "buffer_lines": [ + "hoge fuge piye" + ] + } + ], + "final_buffer": [ + "hoge fuge piye" + ], + "final_position": { + "line": 1, + "byte_column": 14 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1104-DTE-BACKWARD", + "title": "Backward TILL delete endpoint", + "source_refs": [ + "11.4" + ], + "requirements": [ + "CF-1104-006", + "CF-1104-002", + "CF-0302-004", + "CF-1003-002" + ], + "given": { + "buffer": { + "lines": [ + "hoge fuge piye poye" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 19 + }, + "mode": "no", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": "delete", + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "e" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartTillBackward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 14 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "T", + "buffer_lines": [ + "hoge fuge piyee" + ] + } + ], + "final_buffer": [ + "hoge fuge piyee" + ], + "final_position": { + "line": 1, + "byte_column": 14 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1105-DOT-REPEAT", + "title": "Successive dfe dot repeats preserve the resolved payload", + "source_refs": [ + "11.5" + ], + "requirements": [ + "CF-0200-009", + "CF-1105-001", + "CF-1105-002", + "CF-1105-003", + "CF-1105-004", + "CF-1105-005" + ], + "given": { + "buffer": { + "lines": [ + "hoge fuge piye poye" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "no", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": "delete", + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "e" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "DotRepeat" + }, + { + "operation": "action", + "action": "DotRepeat" + }, + { + "operation": "action", + "action": "DotRepeat" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f", + "buffer_lines": [ + " fuge piye poye" + ], + "dot_payload": { + "descriptor": "f", + "target": { + "kind": "character", + "value": "e", + "first_code": 101 + } + } + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f", + "buffer_lines": [ + " piye poye" + ], + "dot_payload": { + "descriptor": "f", + "target": { + "kind": "character", + "value": "e", + "first_code": 101 + } + } + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f", + "buffer_lines": [ + " poye" + ], + "dot_payload": { + "descriptor": "f", + "target": { + "kind": "character", + "value": "e", + "first_code": 101 + } + } + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f", + "buffer_lines": [ + "" + ], + "dot_payload": { + "descriptor": "f", + "target": { + "kind": "character", + "value": "e", + "first_code": 101 + } + } + } + ], + "final_buffer": [ + "" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1501-SHARED-KEYS", + "title": "Four primary keys share one FIND sequence", + "source_refs": [ + "15.1" + ], + "requirements": [ + "CF-0200-002", + "CF-0200-003", + "CF-0200-004", + "CF-0302-005", + "CF-0303-003", + "CF-0303-004", + "CF-0303-005", + "CF-0504-002", + "CF-0604-003", + "CF-0801-001", + "CF-0801-002", + "CF-1501-001", + "CF-1501-002" + ], + "given": { + "buffer": { + "lines": [ + "hxhxh" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartTillForward" + }, + { + "operation": "action", + "action": "StartTillBackward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 4, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "hxhxh" + ], + "final_position": { + "line": 1, + "byte_column": 3 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 4, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 3 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + } + }, + "last_input_context": "n" + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1502-MODE-ISOLATION", + "title": "Normal and Visual histories are isolated while target reuse crosses contexts", + "source_refs": [ + "15.2" + ], + "requirements": [ + "CF-0305-001", + "CF-0305-003", + "CF-0305-004", + "CF-0510-003", + "CF-0601-001", + "CF-0601-004", + "CF-0602-001", + "CF-0702-007", + "CF-0704-002", + "CF-1502-001", + "CF-1502-002" + ], + "given": { + "buffer": { + "lines": [ + "ahha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + }, + { + "kind": "text", + "text": "\r" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "set_cursor", + "position": { + "line": 1, + "byte_column": 1 + } + }, + { + "operation": "set_mode", + "mode": "v" + }, + { + "operation": "set_selection", + "selection": { + "active": true, + "kind": "character", + "anchor": { + "line": 1, + "byte_column": 1 + }, + "focus": { + "line": 1, + "byte_column": 1 + }, + "option": "inclusive" + } + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 1 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 4, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "ahha" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": true, + "kind": "character", + "anchor": { + "line": 1, + "byte_column": 1 + }, + "focus": { + "line": 1, + "byte_column": 2 + }, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": null + } + }, + "last_input_context": "n" + }, + "retained_fields": [], + "cleared_fields": [] + }, + { + "after_step": 4, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + } + }, + "last_input_context": "v" + }, + "retained_fields": [ + "contexts.n" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 4, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1503-MULTILINE", + "title": "Buffer-wide primary repetition follows the specified multiline sequence", + "source_refs": [ + "15.3" + ], + "requirements": [ + "CF-0200-007", + "CF-0501-002", + "CF-1001-006", + "CF-1503-001" + ], + "given": { + "buffer": { + "lines": [ + "foo bar baz", + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 2, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 2, + "byte_column": 10 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 2, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 4, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "foo bar baz", + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 9 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1503-CURRENT-LINE", + "title": "Current-line scope stops at the last same-line occurrence", + "source_refs": [ + "15.3" + ], + "requirements": [ + "CF-0501-003", + "CF-1001-005", + "CF-1503-002" + ], + "given": { + "buffer": { + "lines": [ + "foo bar baz", + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "search_current_line_only": true + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "failed_search", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": false, + "successful_steps": 0, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "foo bar baz", + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 9 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1504-FIND-FORWARD", + "title": "Basic forward FIND sequence", + "source_refs": [ + "15.4" + ], + "requirements": [ + "CF-0302-001", + "CF-0303-001", + "CF-1001-002", + "CF-1002-001", + "CF-1002-002", + "CF-1504-001" + ], + "given": { + "buffer": { + "lines": [ + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindBackward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 6 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1504-FIND-BACKWARD", + "title": "Basic backward FIND sequence", + "source_refs": [ + "8.1", + "15.4" + ], + "requirements": [ + "CF-0302-002", + "CF-0801-004", + "CF-1001-003", + "CF-1002-001", + "CF-1504-002" + ], + "given": { + "buffer": { + "lines": [ + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 19 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "o" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindBackward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 17 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 14 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 14 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1505-TILL-FORWARD", + "title": "Basic forward TILL sequence", + "source_refs": [ + "8.1", + "15.5" + ], + "requirements": [ + "CF-0302-003", + "CF-0801-005", + "CF-1003-001", + "CF-1003-004", + "CF-1505-001" + ], + "given": { + "buffer": { + "lines": [ + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartTillForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartTillForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "t" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 10 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "t" + } + ], + "final_buffer": [ + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 10 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1505-TILL-NEW", + "title": "Fresh TILL followed by repeated adjacent-target exclusion", + "source_refs": [ + "15.5" + ], + "requirements": [ + "CF-1505-002" + ], + "given": { + "buffer": { + "lines": [ + "poge huga hiyo poyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 14 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "o" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartTillForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartTillForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 16 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "t" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 18 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "t" + } + ], + "final_buffer": [ + "poge huga hiyo poyo" + ], + "final_position": { + "line": 1, + "byte_column": 18 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1506-IGNORE-CASE", + "title": "ignore_case folds all literal target case", + "source_refs": [ + "15.6" + ], + "requirements": [ + "CF-0200-010", + "CF-0502-002", + "CF-0904-001", + "CF-1506-001" + ], + "given": { + "buffer": { + "lines": [ + "poge Guga hiyo Go;yo;" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "ignore_case": true + }, + "input_packets": [ + { + "kind": "text", + "text": "g" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindBackward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 8 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "poge Guga hiyo Go;yo;" + ], + "final_position": { + "line": 1, + "byte_column": 6 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1506-SMART-LOWER", + "title": "smart_case lower-case target visits both cases", + "source_refs": [ + "15.6" + ], + "requirements": [ + "CF-0502-004", + "CF-0904-002", + "CF-1506-002" + ], + "given": { + "buffer": { + "lines": [ + "poHe huga Hiyo hoyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "smart_case": true + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 16 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "poHe huga Hiyo hoyo" + ], + "final_position": { + "line": 1, + "byte_column": 16 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1506-SMART-UPPER", + "title": "smart_case upper-case target visits exact case", + "source_refs": [ + "15.6" + ], + "requirements": [ + "CF-0502-004", + "CF-0904-003", + "CF-1506-003" + ], + "given": { + "buffer": { + "lines": [ + "poHe huga Hiyo hoyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "smart_case": true + }, + "input_packets": [ + { + "kind": "text", + "text": "H" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "poHe huga Hiyo hoyo" + ], + "final_position": { + "line": 1, + "byte_column": 11 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1507-SYMBOLS", + "title": "Wildcard repeats traverse all 32 symbols in both directions", + "source_refs": [ + "9.3", + "15.7" + ], + "requirements": [ + "CF-0506-002", + "CF-0903-001", + "CF-0903-002", + "CF-0903-003", + "CF-0904-004", + "CF-1507-001" + ], + "given": { + "buffer": { + "lines": [ + "x!\"#$%&'()=~|\\-^@`[]{};:+*<>,.?_/" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "chars_match_any_signs": ";" + }, + "input_packets": [ + { + "kind": "text", + "text": ";" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + }, + { + "operation": "action", + "action": "StartFindBackward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 4, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 5, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 7 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 6, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 8 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 7, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 8, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 10 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 9, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 10, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 12 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 11, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 13 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 12, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 14 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 13, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 15 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 14, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 16 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 15, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 17 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 16, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 18 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 17, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 19 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 18, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 20 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 19, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 21 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 20, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 22 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 21, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 23 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 22, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 24 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 23, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 25 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 24, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 26 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 25, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 27 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 26, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 28 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 27, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 29 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 28, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 30 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 29, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 31 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 30, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 32 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 31, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 33 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 32, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 32 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 33, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 31 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 34, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 30 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 35, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 29 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 36, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 28 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 37, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 27 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 38, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 26 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 39, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 25 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 40, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 24 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 41, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 23 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 42, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 22 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 43, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 21 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 44, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 20 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 45, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 19 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 46, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 18 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 47, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 17 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 48, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 16 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 49, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 15 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 50, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 14 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 51, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 13 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 52, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 12 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 53, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 54, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 10 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 55, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 9 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 56, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 8 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 57, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 7 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 58, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 59, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 60, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 61, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + }, + { + "after_step": 62, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "x!\"#$%&'()=~|\\-^@`[]{};:+*<>,.?_/" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1508-DIRECT-ONE", + "title": "Direct preview count 1", + "source_refs": [ + "12.4", + "15.8" + ], + "requirements": [ + "CF-0511-002", + "CF-1004-001", + "CF-1204-003", + "CF-1204-004", + "CF-1204-008", + "CF-1508-001", + "CF-0702-003", + "CF-1204-001" + ], + "given": { + "buffer": { + "lines": [ + "pOge huga Hiyo pOyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": 1, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": true, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ], + "count": 1 + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "pOge huga Hiyo pOyo" + ], + "final_position": { + "line": 1, + "byte_column": 6 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-set-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + }, + { + "line": 1, + "byte_column": 4 + }, + { + "line": 1, + "byte_column": 5 + }, + { + "line": 1, + "byte_column": 6 + }, + { + "line": 1, + "byte_column": 7 + }, + { + "line": 1, + "byte_column": 9 + }, + { + "line": 1, + "byte_column": 11 + }, + { + "line": 1, + "byte_column": 12 + }, + { + "line": 1, + "byte_column": 13 + }, + { + "line": 1, + "byte_column": 14 + }, + { + "line": 1, + "byte_column": 16 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-set-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1508-DIRECT-TWO", + "title": "Direct preview count 2", + "source_refs": [ + "12.4", + "15.8" + ], + "requirements": [ + "CF-0511-002", + "CF-1004-001", + "CF-1204-003", + "CF-1204-004", + "CF-1204-008", + "CF-1508-002", + "CF-0200-006" + ], + "given": { + "buffer": { + "lines": [ + "pOge huga Hiyo pOyo" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": 2, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": true, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ], + "count": 2 + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 11 + }, + "complete": true, + "successful_steps": 2, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "pOge huga Hiyo pOyo" + ], + "final_position": { + "line": 1, + "byte_column": 11 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-set-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 8 + }, + { + "line": 1, + "byte_column": 10 + }, + { + "line": 1, + "byte_column": 17 + }, + { + "line": 1, + "byte_column": 18 + }, + { + "line": 1, + "byte_column": 19 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-set-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1508-DIRECT-MULTIBYTE", + "title": "Direct preview emits valid UTF-8 byte columns in both directions", + "source_refs": [ + "10.7", + "15.8" + ], + "requirements": [ + "CF-0200-008", + "CF-0301-002", + "CF-0301-003", + "CF-0301-004", + "CF-1007-001", + "CF-1007-002", + "CF-1204-002", + "CF-1508-003" + ], + "given": { + "buffer": { + "lines": [ + "x\u3042x\u3044x" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": true, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "x" + }, + { + "kind": "text", + "text": "x" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "Reset" + }, + { + "operation": "set_cursor", + "position": { + "line": 1, + "byte_column": 9 + } + }, + { + "operation": "action", + "action": "StartFindBackward", + "input_packet_indexes": [ + 1 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "neutral", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + }, + { + "after_step": 3, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "F" + } + ], + "final_buffer": [ + "x\u3042x\u3044x" + ], + "final_position": { + "line": 1, + "byte_column": 5 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-forward", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 5 + }, + { + "line": 1, + "byte_column": 6 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-forward", + "window": "window-1" + }, + { + "after_step": 3, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-backward", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 6 + }, + { + "line": 1, + "byte_column": 5 + }, + { + "line": 1, + "byte_column": 2 + } + ], + "priority": "ordinary" + }, + { + "after_step": 3, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-backward", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 3, + "kind": "screen" + } + ], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1509-MACRO", + "title": "Each fax macro iteration acquires and removes the next a", + "source_refs": [ + "7.3", + "15.9" + ], + "requirements": [ + "CF-0604-002", + "CF-0703-001", + "CF-0703-002", + "CF-0703-003", + "CF-1509-001" + ], + "given": { + "buffer": { + "lines": [ + "1a 2a 3a 4a 5a" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + }, + { + "kind": "text", + "text": "a" + }, + { + "kind": "text", + "text": "a" + }, + { + "kind": "text", + "text": "a" + }, + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": "q", + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "editor_key", + "key": "x" + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 1 + ] + }, + { + "operation": "editor_key", + "key": "x" + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 2 + ] + }, + { + "operation": "editor_key", + "key": "x" + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 3 + ] + }, + { + "operation": "editor_key", + "key": "x" + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 4 + ] + }, + { + "operation": "editor_key", + "key": "x" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 4, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 6 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 6, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 8 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 8, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 10 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "1 2 3 4 5" + ], + "final_position": { + "line": 1, + "byte_column": 9 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [ + { + "after_step": 0, + "kind": "suppressed" + }, + { + "after_step": 2, + "kind": "suppressed" + }, + { + "after_step": 4, + "kind": "suppressed" + }, + { + "after_step": 6, + "kind": "suppressed" + }, + { + "after_step": 8, + "kind": "suppressed" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 2, + "operation": "read_input" + }, + { + "after_step": 4, + "operation": "read_input" + }, + { + "after_step": 6, + "operation": "read_input" + }, + { + "after_step": 8, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1510-OVERLAY-LIFECYCLE", + "title": "Persistent feedback stays on line and migrates across lines", + "source_refs": [ + "12.5", + "12.6", + "12.7", + "15.10" + ], + "requirements": [ + "CF-0200-010", + "CF-0509-002", + "CF-0702-010", + "CF-1102-006", + "CF-0602-006", + "CF-1205-001", + "CF-1205-002", + "CF-1206-001", + "CF-1206-003", + "CF-1207-001", + "CF-1207-002", + "CF-1510-001", + "CF-1510-002" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [ + { + "name": "CursorMoved", + "cursor": { + "line": 2, + "byte_column": 2 + } + } + ], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "event", + "event_index": 0 + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 1, + "kind": "movement", + "position": { + "line": 2, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "aha", + "aha" + ], + "final_position": { + "line": 2, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 2, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 2, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + } + }, + "target_overlays": [ + "char-2" + ], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_landing", + "target_overlays", + "finalizers" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1, + "priority": "high", + "descriptor": "f", + "target_plan": "literal-sensitive-h" + }, + { + "after_step": 0, + "operation": "preserve", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1 + }, + { + "after_step": 1, + "operation": "rebuild", + "group": "CleverFChar", + "identity": "char-2", + "window": "window-1", + "anchor_line": 2, + "priority": "high", + "descriptor": "f", + "target_plan": "literal-sensitive-h" + }, + { + "after_step": 2, + "operation": "preserve", + "group": "CleverFChar", + "identity": "char-2", + "window": "window-1", + "anchor_line": 2 + } + ], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "register_finalizer", + "identity": "finalizer-1" + } + ] + } + }, + { + "id": "SCN-1510-TIMEOUT", + "title": "Highlight timeout clears feedback and primary repeat restores it", + "source_refs": [ + "12.8", + "15.10" + ], + "requirements": [ + "CF-0509-007", + "CF-1208-001", + "CF-1208-004", + "CF-1208-005", + "CF-1510-004" + ], + "given": { + "buffer": { + "lines": [ + "ahaha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 50 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + }, + { + "operation": "timer_callback", + "timer_identity": "timer-1" + }, + { + "operation": "action", + "action": "StartFindForward" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "ahaha" + ], + "final_position": { + "line": 1, + "byte_column": 4 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 1, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + } + }, + "highlight_timer": null, + "target_overlays": [] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "previous_landing", + "first_move" + ], + "cleared_fields": [] + }, + { + "after_step": 2, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 4 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + } + }, + "highlight_timer": "timer-2", + "target_overlays": [ + "char-2" + ] + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1, + "priority": "high" + }, + { + "after_step": 1, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + }, + { + "after_step": 2, + "operation": "create", + "group": "CleverFChar", + "identity": "char-2", + "window": "window-1", + "anchor_line": 1, + "priority": "high" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "start", + "identity": "timer-1", + "delay_ms": 50 + }, + { + "after_step": 1, + "operation": "fire", + "identity": "timer-1" + }, + { + "after_step": 1, + "operation": "set_inactive", + "identity": "timer-1" + }, + { + "after_step": 2, + "operation": "start", + "identity": "timer-2", + "delay_ms": 50 + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1511-FOLDS", + "title": "Primary action opens all enclosing horizontal-motion folds before input", + "source_refs": [ + "7.1", + "15.11" + ], + "requirements": [ + "CF-0701-001", + "CF-0701-002", + "CF-0701-003", + "CF-1511-001" + ], + "given": { + "buffer": { + "lines": [ + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [ + "horizontal" + ], + "closed_fold_levels": 3, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "aha" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "open_fold", + "fold_level": 3 + }, + { + "after_step": 0, + "operation": "open_fold", + "fold_level": 2 + }, + { + "after_step": 0, + "operation": "open_fold", + "fold_level": 1 + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 2 + } + } + ] + } + } + ] +} |
