{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D3","name":"God Classes","shortDescription":{"text":"God Classes"},"helpUri":"https://codehealth.canine.dev/dimensions/D3"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D28","name":"Secrets (history)","shortDescription":{"text":"Secrets (history)"},"helpUri":"https://codehealth.canine.dev/dimensions/D28","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29","relationships":[{"target":{"id":"CWE-79","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-89","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-94","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-77","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-79","CWE-89","CWE-78","CWE-94","CWE-77"]}},{"id":"D31","name":"IaC \u0026 Container Security","shortDescription":{"text":"IaC \u0026 Container Security"},"helpUri":"https://codehealth.canine.dev/dimensions/D31","relationships":[{"target":{"id":"CWE-1032","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-732","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-16","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1032","CWE-732","CWE-16"]}},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D36","name":"Supply-chain Provenance \u0026 Signing","shortDescription":{"text":"Supply-chain Provenance \u0026 Signing"},"helpUri":"https://codehealth.canine.dev/dimensions/D36","relationships":[{"target":{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-494","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1357","CWE-494"]}},{"id":"D38","name":"OSV Dependency Vulnerabilities","shortDescription":{"text":"OSV Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D38","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"]}}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"KeyMapKey::fmt (cyclomatic 240): KeyMapKey::fmt has cyclomatic complexity 240 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/keypress/keymap.rs"},"region":{"startLine":349}}}],"partialFingerprints":{"codehealthFindingId/v1":"589bdacfb8595af9c95b080ca1e94615a9546b9fc4d6bc84a41b0075aded189c"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowTabData::run_workbench_command (cyclomatic 194): WindowTabData::run_workbench_command has cyclomatic complexity 194 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":716}}}],"partialFingerprints":{"codehealthFindingId/v1":"22ac709a9a0c4afd3902c02a5ce8d174221abcd6e77a2d18c014dc93b65a72f4"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowTabData::run_internal_command (cyclomatic 81): WindowTabData::run_internal_command has cyclomatic complexity 81 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":1580}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee4ad1ff86ac46ede91511656651a5deb29df0c81ebf723c890e1cca2352026a"}},{"ruleId":"D1","level":"warning","message":{"text":"MainSplitData::get_editor_tab_child (cyclomatic 78): MainSplitData::get_editor_tab_child has cyclomatic complexity 78 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"06e5261213e673a357ac89f85807b4406af0a56b8fe894d4115028e06d914f1c"}},{"ruleId":"D1","level":"warning","message":{"text":"EditorData::run_focus_command (cyclomatic 71): EditorData::run_focus_command has cyclomatic complexity 71 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":856}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ac0fd8084496550353cd3083a074e79b1af1fba959dc53fec9e3b9e5243ad4f"}},{"ruleId":"D1","level":"warning","message":{"text":"Dispatcher::handle_notification (cyclomatic 70): Dispatcher::handle_notification has cyclomatic complexity 70 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"93a5b82008f46ef94ad55865b67de3991942ba99971c08062aca72ef82bec908"}},{"ruleId":"D1","level":"warning","message":{"text":"buffer::language_id_from_path (cyclomatic 66): buffer::language_id_from_path has cyclomatic complexity 66 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/buffer.rs"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"afd12555ab6669fbabf506e9f3e52e7d28b3584f16afa60dbd8fd5d5e2d09db9"}},{"ruleId":"D1","level":"warning","message":{"text":"Dispatcher::handle_request (cyclomatic 65): Dispatcher::handle_request has cyclomatic complexity 65 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1aea5645e892fa5afda9b86c9be7a712d843b505c1d8e0f5ca1941af810ae6b"}},{"ruleId":"D1","level":"warning","message":{"text":"PluginCatalog::handle_notification (cyclomatic 57): PluginCatalog::handle_notification has cyclomatic complexity 57 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/catalog.rs"},"region":{"startLine":476}}}],"partialFingerprints":{"codehealthFindingId/v1":"ffe09971e700ad5049c41250e7a5248faea656c887022d2975906a7e863a3d22"}},{"ruleId":"D1","level":"warning","message":{"text":"TerminalData::resolve_key_event (cyclomatic 51): TerminalData::resolve_key_event has cyclomatic complexity 51 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/data.rs"},"region":{"startLine":452}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f41dca2e126dcf33172d5b7caf27da64e5ff3da3c4bbac37d046b2625045088"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowTabData::handle_core_notification (cyclomatic 47): WindowTabData::handle_core_notification has cyclomatic complexity 47 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":2076}}}],"partialFingerprints":{"codehealthFindingId/v1":"841213f08845cfcbe328207d50c005adbef0bf793da69318f2a9b29db2cc8ab4"}},{"ruleId":"D1","level":"warning","message":{"text":"TerminalData::run_command (cyclomatic 44): TerminalData::run_command has cyclomatic complexity 44 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/data.rs"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"f88bd8d50009aae8c5a4f7729ad9eeae20964fdbc7f44a668bd035cd1e5fb6c2"}},{"ruleId":"D1","level":"warning","message":{"text":"HighlightIter::next (cyclomatic 41): HighlightIter::next has cyclomatic complexity 41 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/highlight.rs"},"region":{"startLine":487}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5bf5414cd54be143d964c9892022ee5304c7c63a0a9eee6bf685ce43c17c45f"}},{"ruleId":"D1","level":"warning","message":{"text":"PluginHostHandler::method_registered (cyclomatic 41): PluginHostHandler::method_registered has cyclomatic complexity 41 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/psp.rs"},"region":{"startLine":698}}}],"partialFingerprints":{"codehealthFindingId/v1":"2447352e8634993353d557c9059d0c209509118eb0aed7450840827b57009906"}},{"ruleId":"D1","level":"warning","message":{"text":"SyntaxLayers::update (cyclomatic 38): SyntaxLayers::update has cyclomatic complexity 38 (threshold 15). Of this number, 36 points are the body\u0027s own statements and 2 belong to 2 function items declared inside it. To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":502}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5709d0d622129f27ff289b8fe0da417b1bd05bd5bc30363401a1fe81d3e8581"}},{"ruleId":"D1","level":"warning","message":{"text":"app::editor_tab (cyclomatic 36): app::editor_tab has cyclomatic complexity 36 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1429}}}],"partialFingerprints":{"codehealthFindingId/v1":"6547940367c349f300e79b4d7190af6e614fd4aa559f6056b08cadeb1ec65e50"}},{"ruleId":"D1","level":"warning","message":{"text":"app::launch (cyclomatic 36): app::launch has cyclomatic complexity 36 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":3715}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bbd8b5424099748e28d466bfc8c5a21e71728f23af2ea29ef20a1f121a64fe0"}},{"ruleId":"D1","level":"warning","message":{"text":"editor::compute_screen_lines (cyclomatic 30): editor::compute_screen_lines has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":3103}}}],"partialFingerprints":{"codehealthFindingId/v1":"830e76655fd11698504a051fa7bc75d0788535604e7dfb4d4e3eb3c1c8b409e9"}},{"ruleId":"D1","level":"warning","message":{"text":"PaletteData::select (cyclomatic 29): PaletteData::select has cyclomatic complexity 29 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":1124}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5d7abef8e4f23b2c00eb8661b1d537b759e499acfee5290ab4e8fb46f38b135"}},{"ruleId":"D1","level":"warning","message":{"text":"status::status (cyclomatic 28): status::status has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/status.rs"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"858d28f4b46a7579a17ba746db79192ed98d032b6d0f4ae79c2d8d00bc7717da"}},{"ruleId":"D1","level":"warning","message":{"text":"EditorData::run_multi_selection_command (cyclomatic 26): EditorData::run_multi_selection_command has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":611}}}],"partialFingerprints":{"codehealthFindingId/v1":"438bba15159aad0ddcfbae17ab0a2a205758c1731e03dfdaca658db058435e06"}},{"ruleId":"D1","level":"warning","message":{"text":"app::editor_tab_header (cyclomatic 26): app::editor_tab_header has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":683}}}],"partialFingerprints":{"codehealthFindingId/v1":"800a6f0b1b531cef1250bd7312863024d7d7ae783db3f007ff874f809242f916"}},{"ruleId":"D1","level":"warning","message":{"text":"markdown::parse_markdown (cyclomatic 26): markdown::parse_markdown has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/markdown.rs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"701ae2fa3b1454948f6905e8f3175b4815789e837eccb8a49a72ab750cb0efcf"}},{"ruleId":"D1","level":"warning","message":{"text":"DapClient::handle_host_event (cyclomatic 26): DapClient::handle_host_event has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/dap.rs"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dc20e5f5b7d311b2e5548c90c1dcd6a0824087d377c1d533e36d99601594f05"}},{"ruleId":"D1","level":"warning","message":{"text":"view::panel_picker (cyclomatic 25): view::panel_picker has cyclomatic complexity 25 (threshold 15). To reduce it, name the conditions: bind each compound test to a well-named local or a small predicate function, so the body reads as a sequence of named decisions rather than a chain of operators."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/view.rs"},"region":{"startLine":535}}}],"partialFingerprints":{"codehealthFindingId/v1":"47cda13547776c62211690287f65aa80da48245379b5471957691cbf94c00407"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowData::run_window_command (cyclomatic 24): WindowData::run_window_command has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window.rs"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc815d6cf7272ee0f20a4f4e82070be8d468c5a3311c9d68db8219398f10ae56"}},{"ruleId":"D1","level":"warning","message":{"text":"app::split_resize_border (cyclomatic 24): app::split_resize_border has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1633}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d1ebb8823cdb95d263fa8f116ad8257a83d765bf9de7c110b26620c67d4ce48"}},{"ruleId":"D1","level":"warning","message":{"text":"PaletteData::preview (cyclomatic 23): PaletteData::preview has cyclomatic complexity 23 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":1349}}}],"partialFingerprints":{"codehealthFindingId/v1":"db06ec788119a96c3e201c32a9f6ac1b2f4b958768b9a9ea8f9a9c3a9fbccd9a"}},{"ruleId":"D1","level":"warning","message":{"text":"app::editor_tab_content (cyclomatic 23): app::editor_tab_content has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1222}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e5ae6234d68f52cd55b65673ad6e86817573f39e8158c4de3e62f108303afa5"}},{"ruleId":"D1","level":"warning","message":{"text":"remote::start_remote (cyclomatic 23): remote::start_remote has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/proxy/remote.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"9255d4103cb12aff405e1241fc4f2e04fdb28e1e03bac600f2fe9dc9e1b99a42"}},{"ruleId":"D1","level":"warning","message":{"text":"Find::next (cyclomatic 22): Find::next has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/find.rs"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c5d0b575a422aa81ac396b96133a22ea9f170237a791bd3ceba8af2e415f961"}},{"ruleId":"D1","level":"warning","message":{"text":"dispatch::git_diff_new (cyclomatic 22): dispatch::git_diff_new has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":1517}}}],"partialFingerprints":{"codehealthFindingId/v1":"386aac59c73ede9e0db51945b229f7a09b63f0f1235ba4fe361d15c29d4cd5a1"}},{"ruleId":"D1","level":"warning","message":{"text":"app::workspace_tab_header (cyclomatic 21): app::workspace_tab_header has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":3375}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a54b119ee741c92d2da7a828ccd22a6d585aff34095a5d82acdd32e549d5a33"}},{"ruleId":"D1","level":"warning","message":{"text":"settings::settings_item_view (cyclomatic 21): settings::settings_item_view has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":547}}}],"partialFingerprints":{"codehealthFindingId/v1":"2699d87b8151706613c702f2b700d8560af287516de7fa1aac0ee0434fa19b0a"}},{"ruleId":"D1","level":"warning","message":{"text":"settings::color_section_list (cyclomatic 21): settings::color_section_list has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":818}}}],"partialFingerprints":{"codehealthFindingId/v1":"e47a93e017085a6c9339973aa0f1714ce474594d99504ec6b20984f21841543c"}},{"ruleId":"D1","level":"warning","message":{"text":"Doc::phantom_text (cyclomatic 20): Doc::phantom_text has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":1622}}}],"partialFingerprints":{"codehealthFindingId/v1":"98d7e464162ad144483e80858845afc062d80403f1bae5f94f3952f5ec8ab6fe"}},{"ruleId":"D1","level":"warning","message":{"text":"app::palette_item (cyclomatic 19): app::palette_item has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":2219}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a14e5eda0c9af2a6557cc25fdd58c823b69abaf6c40de44b3314f7eb3cbc716"}},{"ruleId":"D1","level":"warning","message":{"text":"view::panel_container_view (cyclomatic 19): view::panel_container_view has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/view.rs"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"00d94f289b2ba6bc5336eb8b14e2f22129eb99b89c9acdb9f46ade2719b9dac2"}},{"ruleId":"D1","level":"warning","message":{"text":"TerminalView::paint_content (cyclomatic 18): TerminalView::paint_content has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/view.rs"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dde2012130e74a7f23e6c5a8158cf3ec0dfec39e50d1bd692bbb0508cdec9c5"}},{"ruleId":"D1","level":"warning","message":{"text":"Terminal::run (cyclomatic 18): Terminal::run has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/terminal.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"49fcedc792e6d75afdec065d836d68f326c5ca769e657d61cdcabe2dea7bdf3a"}},{"ruleId":"D1","level":"warning","message":{"text":"EditorTabChild::view_info (cyclomatic 17): EditorTabChild::view_info has cyclomatic complexity 17 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor_tab.rs"},"region":{"startLine":201}}}],"partialFingerprints":{"codehealthFindingId/v1":"5617ad580a696e91003afb2437724df85be0231a27e9c9ffc6596061dfa72104"}},{"ruleId":"D1","level":"warning","message":{"text":"MainSplitData::editor_tab_child_close (cyclomatic 17): MainSplitData::editor_tab_child_close has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":2006}}}],"partialFingerprints":{"codehealthFindingId/v1":"28cb760dbcb89e0bfb9a6e8d94a189f959dcb37c11292221334f4a0d4b12ba29"}},{"ruleId":"D1","level":"warning","message":{"text":"terminal_view::terminal_tab_header (cyclomatic 17): terminal_view::terminal_tab_header has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/terminal_view.rs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"95d13246a3eac1b111093d469c2ddb72eaf71eef8216a825953b3dadd286d8ed"}},{"ruleId":"D1","level":"warning","message":{"text":"LspClient::new (cyclomatic 17): LspClient::new has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/lsp.rs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"af8a600982249b560c2f6672fcff2d681f4293343cef0a2d12539171036be3a3"}},{"ruleId":"D1","level":"warning","message":{"text":"velocirust_proxy::mainloop (cyclomatic 17): velocirust_proxy::mainloop has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/lib.rs"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"754f72824b5c3a63ef5438747c2542cb5b647209ce0958cf0ff4d661901b3ea7"}},{"ruleId":"D1","level":"warning","message":{"text":"AppData::create_windows (cyclomatic 16): AppData::create_windows has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"160c81d0d4d416ddad731ac97cceaab3d44f4ea8ee1bafd1b6562b810ba49035"}},{"ruleId":"D1","level":"warning","message":{"text":"VelocirustDb::new (cyclomatic 16): VelocirustDb::new has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/db.rs"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"853422e1661adec3d1c6c95fe0a16313fea6addb4b39ec1798cf9071440f8858"}},{"ruleId":"D1","level":"warning","message":{"text":"MainSplitData::split_move (cyclomatic 16): MainSplitData::split_move has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":1605}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd76eac20ba3acac8f5a5c29ad734d2ca5c54db549b6de5f3c160f8a66373cbf"}},{"ruleId":"D1","level":"warning","message":{"text":"PaletteData::new (cyclomatic 16): PaletteData::new has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e19c75386ba8fef82f13d6ab80da9604d2a433730112d3c2c89aea0a747de04"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowTabData::run_workbench_command (cognitive 223): WindowTabData::run_workbench_command has cognitive complexity 223 (threshold 15). Drivers by points: if/else 212, match/switch 9, loops 2 (nesting depth added 128). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":716}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cd71efec391f8aa9be5779b1503e6e657cf4ef2fa99205a4f92c53d81735e09"}},{"ruleId":"D2","level":"warning","message":{"text":"MainSplitData::get_editor_tab_child (cognitive 132): MainSplitData::get_editor_tab_child has cognitive complexity 132 (threshold 15). Drivers by points: if/else 107, match/switch 16, boolean chains 5, loops 4 (nesting depth added 67). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"2320e95470fe69935e6e316a76bd9a82bcb2c6644a1c612a030ca1f23549224f"}},{"ruleId":"D2","level":"warning","message":{"text":"editor::compute_screen_lines (cognitive 120): editor::compute_screen_lines has cognitive complexity 120 (threshold 15). Drivers by points: if/else 104, loops 12, match/switch 4 (nesting depth added 89). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":3103}}}],"partialFingerprints":{"codehealthFindingId/v1":"f15f25ef4a964464c22cbb44703556b3b8a2e1e79965c9dfb5028bde40501f94"}},{"ruleId":"D2","level":"warning","message":{"text":"HighlightIter::next (cognitive 116): HighlightIter::next has cognitive complexity 116 (threshold 15). Drivers by points: if/else 90, loops 22, boolean chains 4 (nesting depth added 72). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/highlight.rs"},"region":{"startLine":487}}}],"partialFingerprints":{"codehealthFindingId/v1":"b93d16915432f70697fa0ec60c9d6436d57e9d4ef8099703451bb1abc0db8117"}},{"ruleId":"D2","level":"warning","message":{"text":"SyntaxLayers::update (cognitive 116): SyntaxLayers::update has cognitive complexity 116 (threshold 15). Drivers by points: if/else 76, loops 27, match/switch 11, boolean chains 2 (nesting depth added 77). Of this number, 112 points are the body\u0027s own statements and 4 belong to 2 function items declared inside it. To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":502}}}],"partialFingerprints":{"codehealthFindingId/v1":"102b596ca0dc113f0965631a9f6d5f3930758d18ba84f1703feadd3261fdc297"}},{"ruleId":"D2","level":"warning","message":{"text":"PluginCatalog::handle_notification (cognitive 85): PluginCatalog::handle_notification has cognitive complexity 85 (threshold 15). Drivers by points: if/else 63, loops 13, match/switch 9 (nesting depth added 49). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/catalog.rs"},"region":{"startLine":476}}}],"partialFingerprints":{"codehealthFindingId/v1":"65ed91a5178f425e2b7e99c23a9ebbf24aba0998fb072c2bc2cf58e24e99919f"}},{"ruleId":"D2","level":"warning","message":{"text":"Dispatcher::handle_notification (cognitive 84): Dispatcher::handle_notification has cognitive complexity 84 (threshold 15). Drivers by points: if/else 60, match/switch 22, loops 2 (nesting depth added 46). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfb3502d869929d76db7c155a71ff684fc4ffa83ca313b550629ca67807f6d53"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorData::run_multi_selection_command (cognitive 81): EditorData::run_multi_selection_command has cognitive complexity 81 (threshold 15). Drivers by points: if/else 58, loops 18, boolean chains 4, match/switch 1 (nesting depth added 56). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":611}}}],"partialFingerprints":{"codehealthFindingId/v1":"40127f2139e00ee6d3c888fd5e4338beae091edd150fc3b2ad4898bb1bf2b203"}},{"ruleId":"D2","level":"warning","message":{"text":"Dispatcher::handle_request (cognitive 74): Dispatcher::handle_request has cognitive complexity 74 (threshold 15). Drivers by points: if/else 57, match/switch 11, loops 6 (nesting depth added 40). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"baa2b30787852559907eeb6b0cb799d203830f785797be640a763d46f274ef59"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowTabData::run_internal_command (cognitive 72): WindowTabData::run_internal_command has cognitive complexity 72 (threshold 15). Drivers by points: if/else 52, match/switch 17, loops 3 (nesting depth added 38). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":1580}}}],"partialFingerprints":{"codehealthFindingId/v1":"eda58175f0d8448b643f63a6bc9c801ff97a4d9e21e89dda16706352931e5e88"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorData::run_focus_command (cognitive 71): EditorData::run_focus_command has cognitive complexity 71 (threshold 15). Drivers by points: if/else 62, loops 6, boolean chains 2, match/switch 1 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":856}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9007163fb08d8ff02bef051f2276faab93832fb3e5c631feb037e8124e8f2db"}},{"ruleId":"D2","level":"warning","message":{"text":"app::editor_tab_content (cognitive 60): app::editor_tab_content has cognitive complexity 60 (threshold 15). Drivers by points: if/else 56, boolean chains 3, match/switch 1 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1222}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8657f6054fe7d8af94c582bdb88e9ad2b237028d2b25960fe06fba16bdf86e6"}},{"ruleId":"D2","level":"warning","message":{"text":"app::split_resize_border (cognitive 58): app::split_resize_border has cognitive complexity 58 (threshold 15). Drivers by points: if/else 38, match/switch 12, loops 8 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1633}}}],"partialFingerprints":{"codehealthFindingId/v1":"f624aa1da75e70a327a8481d2e51e2d5ff7811aee30723a71ac885b17a811d8e"}},{"ruleId":"D2","level":"warning","message":{"text":"app::launch (cognitive 57): app::launch has cognitive complexity 57 (threshold 15). Drivers by points: if/else 38, loops 10, match/switch 9 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":3715}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2be1e08cca5b790e91aeedeb3ee753cd25483c9a80e521571d56f64d281b889"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowTabData::handle_core_notification (cognitive 54): WindowTabData::handle_core_notification has cognitive complexity 54 (threshold 15). Drivers by points: if/else 38, loops 11, match/switch 5 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":2076}}}],"partialFingerprints":{"codehealthFindingId/v1":"35662d4e6b0e1f545d378f33dcde0256b485512adc4a57805cf654939d5976b1"}},{"ruleId":"D2","level":"warning","message":{"text":"Terminal::run (cognitive 53): Terminal::run has cognitive complexity 53 (threshold 15). Drivers by points: if/else 44, match/switch 6, loops 3 (nesting depth added 37). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/terminal.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"44aa9e9023a792d30d29fd13f747369c04a8e92f703ea8eee09de0d413b98b06"}},{"ruleId":"D2","level":"warning","message":{"text":"Find::next (cognitive 50): Find::next has cognitive complexity 50 (threshold 15). Drivers by points: if/else 36, loops 10, boolean chains 4 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/find.rs"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"0641680e8d3c1442bdf100591356ce6bc5a6bc96e7b11cfa678a38691b1f72cd"}},{"ruleId":"D2","level":"warning","message":{"text":"highlight::intersect_ranges (cognitive 49): highlight::intersect_ranges has cognitive complexity 49 (threshold 15). Drivers by points: if/else 40, loops 6, match/switch 3 (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/highlight.rs"},"region":{"startLine":744}}}],"partialFingerprints":{"codehealthFindingId/v1":"799e969732b98b60453feee08454e54d0bce0592bb2733fbd4958a3e59431c42"}},{"ruleId":"D2","level":"warning","message":{"text":"app::editor_tab_header (cognitive 46): app::editor_tab_header has cognitive complexity 46 (threshold 15). Drivers by points: if/else 42, boolean chains 2, loops 1, match/switch 1 (nesting depth added 9). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":683}}}],"partialFingerprints":{"codehealthFindingId/v1":"2703f63792879480bb6ec2e0f06185adeec7400e7fb106ca2787ad5832b10b5f"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalData::run_command (cognitive 45): TerminalData::run_command has cognitive complexity 45 (threshold 15). Drivers by points: if/else 33, match/switch 12 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/data.rs"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e8fb5ab7b7e420a66f652b9d4dee2613170dc81461f580314965929feb9426a"}},{"ruleId":"D2","level":"warning","message":{"text":"markdown::parse_markdown (cognitive 44): markdown::parse_markdown has cognitive complexity 44 (threshold 15). Drivers by points: if/else 37, match/switch 6, loops 1 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/markdown.rs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"8116cbb3a3de721d138bfd1b20e88c7bb6b44d797f168fde1db2ea4705580012"}},{"ruleId":"D2","level":"warning","message":{"text":"main_split::next_in_file_errors_offset (cognitive 42): main_split::next_in_file_errors_offset has cognitive complexity 42 (threshold 15). Drivers by points: if/else 34, loops 6, boolean chains 2 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":3041}}}],"partialFingerprints":{"codehealthFindingId/v1":"55305474401998f4c7449bcec371ad644074bf340b9e3e329a4d52a1e522994b"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowData::run_window_command (cognitive 40): WindowData::run_window_command has cognitive complexity 40 (threshold 15). Drivers by points: if/else 37, boolean chains 2, match/switch 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window.rs"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9cf033724e173d8b8bdbea8b36a8e3f5a0342e669514a5f1c71324af8c2b0a3"}},{"ruleId":"D2","level":"warning","message":{"text":"status::status (cognitive 40): status::status has cognitive complexity 40 (threshold 15). Drivers by points: if/else 29, match/switch 8, loops 3 (nesting depth added 12). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/status.rs"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"5185c9a0d01590bfa76f0726b2b756d16eae194953c9604bdf161584b662ce1f"}},{"ruleId":"D2","level":"warning","message":{"text":"view::get_sticky_header_info (cognitive 40): view::get_sticky_header_info has cognitive complexity 40 (threshold 15). Drivers by points: if/else 38, boolean chains 2 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor/view.rs"},"region":{"startLine":1164}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcc769433ca7621352fb020c9e3603d29b1a413df274ca5aed42687a3aab05c9"}},{"ruleId":"D2","level":"warning","message":{"text":"DapClient::handle_host_event (cognitive 38): DapClient::handle_host_event has cognitive complexity 38 (threshold 15). Drivers by points: if/else 24, loops 10, match/switch 4 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/dap.rs"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"29149726b21fd3ff4cb3ffd1275b2d98ce639cefa40732306250f37f146dc25d"}},{"ruleId":"D2","level":"warning","message":{"text":"app::palette_item (cognitive 37): app::palette_item has cognitive complexity 37 (threshold 15). Drivers by points: if/else 34, match/switch 3 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":2219}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce25d543fd5cc033d962844097c032da077f368b2cbf91bf3135dbedb4cfffdc"}},{"ruleId":"D2","level":"warning","message":{"text":"app::workspace_tab_header (cognitive 37): app::workspace_tab_header has cognitive complexity 37 (threshold 15). Drivers by points: if/else 34, boolean chains 2, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":3375}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a2067639e13456938d2501a2f1b738289699df03a675be6079aadc9e46c72c6"}},{"ruleId":"D2","level":"warning","message":{"text":"remote::start_remote (cognitive 37): remote::start_remote has cognitive complexity 37 (threshold 15). Drivers by points: if/else 24, match/switch 10, loops 2, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/proxy/remote.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0b2f4f1b029886fd2072939d000056a7d0d6362108269da2aa5e9e0069c3f50"}},{"ruleId":"D2","level":"warning","message":{"text":"view::panel_container_view (cognitive 34): view::panel_container_view has cognitive complexity 34 (threshold 15). Drivers by points: if/else 27, match/switch 4, boolean chains 3 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/view.rs"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4a6ca5be7553c3d5543478ef33c2d43bb84e11a8788c202e116f09fbc05f049"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorData::go_to_definition (cognitive 33): EditorData::go_to_definition has cognitive complexity 33 (threshold 15). Drivers by points: if/else 29, match/switch 4 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":1317}}}],"partialFingerprints":{"codehealthFindingId/v1":"900a69f80ea6844605c39cda5fae300ee998b5cd2a62e0872491e2b420052219"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalPanelData::terminal_stopped (cognitive 33): TerminalPanelData::terminal_stopped has cognitive complexity 33 (threshold 15). Drivers by points: if/else 31, boolean chains 2 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/panel.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"256794366d4d98949d28f9c823cd015962e16aeb057c900cba02af78bf7f8b31"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalView::paint_content (cognitive 33): TerminalView::paint_content has cognitive complexity 33 (threshold 15). Drivers by points: if/else 27, boolean chains 5, loops 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/view.rs"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"c206c5a0084734f0f9d834ff9e8e3411d97d9242de11a9990c87ba69f13fe1ae"}},{"ruleId":"D2","level":"warning","message":{"text":"event::terminal_update_process (cognitive 33): event::terminal_update_process has cognitive complexity 33 (threshold 15). Drivers by points: if/else 27, match/switch 5, loops 1 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/event.rs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5507c04fff8b17f5d14fc6f6ba9c01d684186554a60fb9084d3d31a2bd47b21"}},{"ruleId":"D2","level":"warning","message":{"text":"LspClient::new (cognitive 33): LspClient::new has cognitive complexity 33 (threshold 15). Drivers by points: if/else 25, match/switch 5, loops 3 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/lsp.rs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fd1c825528e78c68c5cdc14e58ec80d4018957069c602611c06ecb28e454989"}},{"ruleId":"D2","level":"warning","message":{"text":"dispatch::git_diff_new (cognitive 33): dispatch::git_diff_new has cognitive complexity 33 (threshold 15). Drivers by points: if/else 15, loops 12, match/switch 5, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":1517}}}],"partialFingerprints":{"codehealthFindingId/v1":"2339a2b9c907ea322c28fd4cb73b0dab21ea66e304120a38c318cf78545209a8"}},{"ruleId":"D2","level":"warning","message":{"text":"AppData::create_windows (cognitive 32): AppData::create_windows has cognitive complexity 32 (threshold 15). Drivers by points: if/else 21, loops 5, boolean chains 4, match/switch 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"4437f92c7147b48b6e9e7d6320361a7e3b37b0a5abb823266e3bf380057ff997"}},{"ruleId":"D2","level":"warning","message":{"text":"PaletteData::select (cognitive 31): PaletteData::select has cognitive complexity 31 (threshold 15). Drivers by points: if/else 15, match/switch 15, boolean chains 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":1124}}}],"partialFingerprints":{"codehealthFindingId/v1":"40dce901f089e846f681021d7dfb1a409d66da870dd3beb3ac5c03944e93a269"}},{"ruleId":"D2","level":"warning","message":{"text":"FileExplorerData::reveal_in_file_tree (cognitive 30): FileExplorerData::reveal_in_file_tree has cognitive complexity 30 (threshold 15). Drivers by points: if/else 26, loops 4 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/file_explorer/data.rs"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"e827fa8a0830ec27e3d00429715a8d9dfa310795ca2f7ba705fdd3ae822db57d"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalPanelData::get_stopped_run_debug_terminal (cognitive 30): TerminalPanelData::get_stopped_run_debug_terminal has cognitive complexity 30 (threshold 15). Drivers by points: if/else 21, match/switch 5, loops 3, boolean chains 1 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/panel.rs"},"region":{"startLine":429}}}],"partialFingerprints":{"codehealthFindingId/v1":"76a6fa2dd47530f8008dc1a5498ed387255879a815d7428beff898ae971e45ba"}},{"ruleId":"D2","level":"warning","message":{"text":"Doc::phantom_text (cognitive 29): Doc::phantom_text has cognitive complexity 29 (threshold 15). Drivers by points: if/else 26, boolean chains 2, match/switch 1 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":1622}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3698a2964062eac7fecb6ea56bba47ab9f4453b35400b3cdfd7e5020bd18371"}},{"ruleId":"D2","level":"warning","message":{"text":"app::editor_tab (cognitive 29): app::editor_tab has cognitive complexity 29 (threshold 15). Drivers by points: if/else 19, match/switch 10 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1429}}}],"partialFingerprints":{"codehealthFindingId/v1":"e054f68907ea19f05c803c9a02735094f954dfed4ce5cbfbf5b68756dbec1da8"}},{"ruleId":"D2","level":"warning","message":{"text":"PluginCatalog::check_unactivated_volts (cognitive 29): PluginCatalog::check_unactivated_volts has cognitive complexity 29 (threshold 15). Drivers by points: if/else 14, loops 8, match/switch 7 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/catalog.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc60d6ab9729a534ee76c531c30872965772ab8ceabd0260d0f14362a6aab809"}},{"ruleId":"D2","level":"warning","message":{"text":"velocirust_proxy::mainloop (cognitive 28): velocirust_proxy::mainloop has cognitive complexity 28 (threshold 15). Drivers by points: if/else 19, match/switch 7, loops 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/lib.rs"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb5b7e0db9b01eabe11a893c1d5bf28da7c25c1fa77682bd554a72b0d4cbcf40"}},{"ruleId":"D2","level":"warning","message":{"text":"FileNodeItem::append_children_view_slice (cognitive 28): FileNodeItem::append_children_view_slice has cognitive complexity 28 (threshold 15). Drivers by points: if/else 26, boolean chains 1, loops 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-rpc/src/file.rs"},"region":{"startLine":513}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f3236ecb3cbf704c84f7a9228dcbd6ee0fec909ff09f8f05407913370a682f3"}},{"ruleId":"D2","level":"warning","message":{"text":"KeyMapLoader::load_from_str (cognitive 27): KeyMapLoader::load_from_str has cognitive complexity 27 (threshold 15). Drivers by points: if/else 15, loops 7, match/switch 4, boolean chains 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/keypress/loader.rs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"816e5da9452a5f069fb2fe6b8785934de27e1f7bbf0028b7fcd0b369d24c19a4"}},{"ruleId":"D2","level":"warning","message":{"text":"KeyPressData::handle_keymatch (cognitive 27): KeyPressData::handle_keymatch has cognitive complexity 27 (threshold 15). Drivers by points: if/else 24, loops 2, match/switch 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/keypress.rs"},"region":{"startLine":331}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bb5dfc4987f916cbc94ff840da96277cab1d36e447a90d1605ccead1607be7b"}},{"ruleId":"D2","level":"warning","message":{"text":"MainSplitData::editor_tab_child_close (cognitive 27): MainSplitData::editor_tab_child_close has cognitive complexity 27 (threshold 15). Drivers by points: if/else 23, match/switch 4 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":2006}}}],"partialFingerprints":{"codehealthFindingId/v1":"3414288bc18a208575314c793be11779d34d7760dbc510cb18562222db2aa06f"}},{"ruleId":"D2","level":"warning","message":{"text":"wasi::start_volt (cognitive 27): wasi::start_volt has cognitive complexity 27 (threshold 15). Drivers by points: if/else 25, loops 1, match/switch 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/wasi.rs"},"region":{"startLine":416}}}],"partialFingerprints":{"codehealthFindingId/v1":"10fb0861b2e6eb74de720ce2701a62646436dc7ccf8e8abc073ee113bd949aba"}},{"ruleId":"D2","level":"warning","message":{"text":"VelocirustDb::new (cognitive 25): VelocirustDb::new has cognitive complexity 25 (threshold 15). Drivers by points: if/else 22, match/switch 2, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/db.rs"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a4237dec59955a2fa1d8e18c60def7b2afb861b066bf8a7ff356f045c287db8"}},{"ruleId":"D2","level":"warning","message":{"text":"MainSplitData::split_move (cognitive 25): MainSplitData::split_move has cognitive complexity 25 (threshold 15). Drivers by points: if/else 12, loops 8, boolean chains 4, match/switch 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":1605}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d464edfae9685076446deb98371f5d6997be3991bba81711fe82173aa247f3d"}},{"ruleId":"D2","level":"warning","message":{"text":"settings::settings_item_view (cognitive 25): settings::settings_item_view has cognitive complexity 25 (threshold 15). Drivers by points: if/else 22, match/switch 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":547}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fa3b95082339c86686ad6ed055f4161f522ea593da4244a1723ae8ac77a1b6e"}},{"ruleId":"D2","level":"warning","message":{"text":"keymap::keyboard_picker_view (cognitive 25): keymap::keyboard_picker_view has cognitive complexity 25 (threshold 15). Drivers by points: if/else 24, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/keymap.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"8366688c6c98ef5c00498ac7aa7513a81bc9ed7e1cf70d782c99607729790831"}},{"ruleId":"D2","level":"warning","message":{"text":"remote::host_specification (cognitive 25): remote::host_specification has cognitive complexity 25 (threshold 15). Drivers by points: match/switch 21, if/else 4 (nesting depth added 17). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/proxy/remote.rs"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd161b1e4302fb183ab67dbdade98db2a4584f3ed58440c732d8a8d7f6105939"}},{"ruleId":"D2","level":"warning","message":{"text":"BracketParser::update_code (cognitive 25): BracketParser::update_code has cognitive complexity 25 (threshold 15). Drivers by points: if/else 17, match/switch 4, loops 3, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52ca46801632a30348f662c633b7593fab98faec1317cdddff4957a965bf082"}},{"ruleId":"D2","level":"warning","message":{"text":"ExpandedRunDebug::expand (cognitive 23): ExpandedRunDebug::expand has cognitive complexity 23 (threshold 15). Drivers by points: if/else 21, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/data.rs"},"region":{"startLine":771}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cc8321569424d2ad95eceeca61e2302829df8b30b809c79af8ea6306c83407b"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalConfig::get_indexed_colors (cognitive 22): TerminalConfig::get_indexed_colors has cognitive complexity 22 (threshold 15). Drivers by points: if/else 15, loops 7 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/config/terminal.rs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbe44fc136385107c87bbfe54834568f3429dfedbf21645bf280a4696a998ebd"}},{"ruleId":"D2","level":"warning","message":{"text":"lsp::path_from_url (cognitive 22): lsp::path_from_url has cognitive complexity 22 (threshold 15). Drivers by points: if/else 14, match/switch 7, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/lsp.rs"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"09de7d4da9704af45a2ca4605a4567f3929831a49862d65b4b291e7292fb977f"}},{"ruleId":"D2","level":"warning","message":{"text":"remote::download_remote (cognitive 22): remote::download_remote has cognitive complexity 22 (threshold 15). Drivers by points: if/else 13, match/switch 9 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/proxy/remote.rs"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8ddae117844f57160d0a4d0f2f325d7e153c6ab72dc41a50d2b32e85b17e46c"}},{"ruleId":"D2","level":"warning","message":{"text":"FocusText::set_text_layout (cognitive 21): FocusText::set_text_layout has cognitive complexity 21 (threshold 15). Drivers by points: if/else 18, loops 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/focus_text.rs"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9fda23ac0766c24424a304c5b42785bf556e6ceeb3080827c7b712707f4e7b1"}},{"ruleId":"D2","level":"warning","message":{"text":"MainSplitData::editor_tab_remove (cognitive 21): MainSplitData::editor_tab_remove has cognitive complexity 21 (threshold 15). Drivers by points: if/else 20, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":1778}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2ff2ec97b3cf9762d6baf445f990cc6c7526d6632852d91fdda4f5282a29af6"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalView::event_before_children (cognitive 21): TerminalView::event_before_children has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, match/switch 3, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/view.rs"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8782d8d1a161c2ddfa791308c0205c853dc7d35918d6319bfc17cc9d0e5bcb7"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalView::paint (cognitive 21): TerminalView::paint has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, boolean chains 2, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/view.rs"},"region":{"startLine":629}}}],"partialFingerprints":{"codehealthFindingId/v1":"f49bdd9d1e6d0da2802e4163fc4bea01099a6bd331e416dc4cb0ea751a6bddca"}},{"ruleId":"D2","level":"warning","message":{"text":"terminal_view::terminal_tab_header (cognitive 21): terminal_view::terminal_tab_header has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, match/switch 3, loops 1 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/terminal_view.rs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b757ee70a515302aad3b768ce4afa9c30b08a3eae6abd9af06dce4e746a26b6"}},{"ruleId":"D2","level":"warning","message":{"text":"view::editor_view (cognitive 21): view::editor_view has cognitive complexity 21 (threshold 15). Drivers by points: if/else 20, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor/view.rs"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"3979d9bc1520d2881190c990361cfe8947d99a9594f2fc9eaed78f2e69a90666"}},{"ruleId":"D2","level":"warning","message":{"text":"TerminalPanelData::run_debug_process (cognitive 20): TerminalPanelData::run_debug_process has cognitive complexity 20 (threshold 15). Drivers by points: if/else 10, loops 10 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/panel.rs"},"region":{"startLine":595}}}],"partialFingerprints":{"codehealthFindingId/v1":"0add4468e471fb6e91640af5fd67688e9eaae656d7e2ef13ee2630aaff10d08a"}},{"ruleId":"D2","level":"warning","message":{"text":"settings::color_section_list (cognitive 20): settings::color_section_list has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, match/switch 4 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":818}}}],"partialFingerprints":{"codehealthFindingId/v1":"fed81550bedd1be083996a3966d60b1e3918356bb9b4cc52931621b376ca46ad"}},{"ruleId":"D2","level":"warning","message":{"text":"HighlightIter::sort_layers (cognitive 20): HighlightIter::sort_layers has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, loops 4 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/highlight.rs"},"region":{"startLine":450}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9e7b4f16915232515a8f2f5fc649f97daec8294363cc6dc4322bb7b115e4e23"}},{"ruleId":"D2","level":"warning","message":{"text":"Syntax::parse (cognitive 20): Syntax::parse has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, match/switch 4, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":952}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f0655ab0b1f71470e1158b8dee9fbd067c84561234a10bcd0ada0b5df3fa4a6"}},{"ruleId":"D2","level":"warning","message":{"text":"dispatch::search_in_path (cognitive 20): dispatch::search_in_path has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":1677}}}],"partialFingerprints":{"codehealthFindingId/v1":"052aa6370dbfd22cc2841f3d13987930e384e67434c30d9934fad3e7acea61a6"}},{"ruleId":"D2","level":"warning","message":{"text":"PaletteData::new (cognitive 19): PaletteData::new has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, boolean chains 3 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b1dab50b62b0f829571673beae5a370edb28190aec0d059ba116387911dcbb8"}},{"ruleId":"D2","level":"warning","message":{"text":"editor::find_hint (cognitive 19): editor::find_hint has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, boolean chains 2, loops 2, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":3274}}}],"partialFingerprints":{"codehealthFindingId/v1":"e02f2198bb007c7b7053b911127c1726fbe177ae752301e9117f86b7283f5c68"}},{"ruleId":"D2","level":"warning","message":{"text":"view::file_explorer_view (cognitive 19): view::file_explorer_view has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, match/switch 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/file_explorer/view.rs"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c37b77c4bd4ebbfc040d46548d01ff2bde9580022c766c35e4ee150418e7acb"}},{"ruleId":"D2","level":"warning","message":{"text":"view::editor_gutter_breakpoint_view (cognitive 19): view::editor_gutter_breakpoint_view has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor/view.rs"},"region":{"startLine":1378}}}],"partialFingerprints":{"codehealthFindingId/v1":"82a8c4f9d0c4e5e3da14f86b696e056841f94bcdcc70dad5989db591379389e9"}},{"ruleId":"D2","level":"warning","message":{"text":"DapData::stopped (cognitive 18): DapData::stopped has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/debug.rs"},"region":{"startLine":250}}}],"partialFingerprints":{"codehealthFindingId/v1":"971d088d0e82bc1167a2d16babc9106b8b579eadaa44e71dfe9337ac5dc6cc2e"}},{"ruleId":"D2","level":"warning","message":{"text":"DocStyling::apply_layout_styles (cognitive 18): DocStyling::apply_layout_styles has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, match/switch 4, boolean chains 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":2016}}}],"partialFingerprints":{"codehealthFindingId/v1":"458da1991b5774b300c455e004f00e1c90697bbdbf18df6b96dfc23a898dcaf4"}},{"ruleId":"D2","level":"warning","message":{"text":"FileExplorerData::secondary_click (cognitive 18): FileExplorerData::secondary_click has cognitive complexity 18 (threshold 15). Drivers by points: if/else 18 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/file_explorer/data.rs"},"region":{"startLine":482}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f5e19b2a68567f15db68a33df09476088a332263f75e582993aad388a8182e6"}},{"ruleId":"D2","level":"warning","message":{"text":"MainSplitData::editor_tab_child_close_by_kind (cognitive 18): MainSplitData::editor_tab_child_close_by_kind has cognitive complexity 18 (threshold 15). Drivers by points: if/else 11, loops 5, boolean chains 1, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":1952}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d7c76f69e222a55a65f216efe4aac5cc21a956cfbfa9cddbbfcc2354794b2de"}},{"ruleId":"D2","level":"warning","message":{"text":"text_input::text_input_full (cognitive 18): text_input::text_input_full has cognitive complexity 18 (threshold 15). Drivers by points: if/else 18 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/text_input.rs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"05c626bd3cc06522dd01930d167b9130b70888e7837ab714386993f09458876e"}},{"ruleId":"D2","level":"warning","message":{"text":"Syntax::find_enclosing_parentheses (cognitive 18): Syntax::find_enclosing_parentheses has cognitive complexity 18 (threshold 15). Drivers by points: if/else 16, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":1171}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ae64d9534f373c8d0b1a28981a6c0f4b37cf28940794972acd73104daeb1ed9"}},{"ruleId":"D2","level":"warning","message":{"text":"Syntax::find_enclosing_pair (cognitive 18): Syntax::find_enclosing_pair has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":1206}}}],"partialFingerprints":{"codehealthFindingId/v1":"a613c549255f065463ede6884498191c35af94199bf506015828ec8002ee428b"}},{"ruleId":"D2","level":"warning","message":{"text":"DapRpcHandler::mainloop (cognitive 18): DapRpcHandler::mainloop has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, match/switch 2, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/dap.rs"},"region":{"startLine":465}}}],"partialFingerprints":{"codehealthFindingId/v1":"cde34f44e57c77803b328ab7e5ca2b57ebc620987304060f574db9d62febf96d"}},{"ruleId":"D2","level":"warning","message":{"text":"PluginHostHandler::method_registered (cognitive 18): PluginHostHandler::method_registered has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18 (nesting depth added 8). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/psp.rs"},"region":{"startLine":698}}}],"partialFingerprints":{"codehealthFindingId/v1":"4df3ec07b1b508f346710b673abaab9178d73c816ff2231ebfe0af01587f6085"}},{"ruleId":"D2","level":"warning","message":{"text":"Doc::get_semantic_styles (cognitive 17): Doc::get_semantic_styles has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":861}}}],"partialFingerprints":{"codehealthFindingId/v1":"66c988da7c28b4f99b946ac8a20c25818a1ba3c395f386f7b48736f70523577d"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorView::paint_current_line (cognitive 17): EditorView::paint_current_line has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12, loops 3, boolean chains 1, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor/view.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bb0618a8c971a6d4b80b479bb0f5feb682c3d2fc438530928af8424e3fe526f"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorData::pointer_move (cognitive 17): EditorData::pointer_move has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, boolean chains 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":2805}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dd9d9b7cc44870f6c70201b4ae0592c8dab8eca8b377bc24d472ee7f9ee91bd"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorTabData::get_unconfirmed_editor_tab_child (cognitive 17): EditorTabData::get_unconfirmed_editor_tab_child has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, match/switch 2, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor_tab.rs"},"region":{"startLine":443}}}],"partialFingerprints":{"codehealthFindingId/v1":"c29ad96b31e677986b3b9cf04a7b6089ba64c3d49ad36e7ff93e4854e24126d7"}},{"ruleId":"D2","level":"warning","message":{"text":"FileWatchNotifier::handle_workspace_fs_event (cognitive 17): FileWatchNotifier::handle_workspace_fs_event has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 1, match/switch 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":1314}}}],"partialFingerprints":{"codehealthFindingId/v1":"74d22c95f9d504afa1989d38b63e9ee12e9ebd5b9399dd9a38058a7ee2641433"}},{"ruleId":"D2","level":"warning","message":{"text":"EditorData::pointer_down (cognitive 16): EditorData::pointer_down has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9, match/switch 4, boolean chains 3 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":2649}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fc92914ca35afd6cdedc035e5989f23ef05f76e85fcfde6cc00b20aa9aaaab8"}},{"ruleId":"D2","level":"warning","message":{"text":"problem_view::file_view (cognitive 16): problem_view::file_view has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, match/switch 2 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/problem_view.rs"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"c229b0881f4e7c9fe4380e74a77884581ecb50a101804e0b9a45d68b0843933a"}},{"ruleId":"D2","level":"warning","message":{"text":"plugin::plugin_info_view (cognitive 16): plugin::plugin_info_view has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, match/switch 4 (nesting depth added 3). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/plugin.rs"},"region":{"startLine":713}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ecf83be8e9efa0c1f53caf1ec683113eedb9031c4f699e36e3e6f6554dd8105"}},{"ruleId":"D2","level":"warning","message":{"text":"app::listen_local_socket (cognitive 16): app::listen_local_socket has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":4131}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e28b14d2387530a66dbf79c38dade8a54309579d278654759711e971b27793d"}},{"ruleId":"D2","level":"warning","message":{"text":"settings::settings_view (cognitive 16): settings::settings_view has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 4, boolean chains 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":325}}}],"partialFingerprints":{"codehealthFindingId/v1":"85b8bb81f4bd1bbfa5a0b62db2f70d032a79ee16975b88bfa5907edd6a99549d"}},{"ruleId":"D2","level":"warning","message":{"text":"view::panel_picker (cognitive 16): view::panel_picker has cognitive complexity 16 (threshold 15). Drivers by points: boolean chains 13, if/else 2, match/switch 1. To reduce it, name the conditions: bind each compound test to a well-named local or a small predicate function, so the body reads as a sequence of named decisions rather than a chain of operators."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/view.rs"},"region":{"startLine":535}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e525e440beb9a947fc6a2eb289a3ef292935dc4ef31046bc6f970c0236e02e5"}},{"ruleId":"D2","level":"warning","message":{"text":"BracketParser::parse_bracket (cognitive 16): BracketParser::parse_bracket has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, boolean chains 1, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/mod.rs"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"204cd596ff164573a43ba2b1934dd07e3022891289d516d8462f44ae071a3b51"}},{"ruleId":"D2","level":"warning","message":{"text":"FileWatcher::unwatch (cognitive 16): FileWatcher::unwatch has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 3, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/watcher.rs"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"e400984e4b447b4394ff5a899cb61584dc3c8b9a983c4208387ff7ff55e68915"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/app.rs: FileTooLong \u2014 3220 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4aa8bd3b7e1d530ffa189688e777caad4b22bf8442224cb0afa1e476d617d5d3"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/editor.rs: FileTooLong \u2014 2374 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"23555bd3d20d58ad9e0ca8e66d23aca7b33b62c344eea63e4634af0a810d351b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/main_split.rs: FileTooLong \u2014 2202 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d8fa74bf15475d410c6af3886e274f3e23b717243cedfdb0fadf5d83b02553b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/window_tab.rs: FileTooLong \u2014 2075 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/window_tab.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"246774e90b09429420dfbfe06653b71661730bf552e1d016a57daa315cc6319b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editor/view.rs: FileTooLong \u2014 1925 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor/view.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fc3c46377440bba8935ad8f62d7c54bae56b99bc039c697aff58cacdd087816"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/language.rs: FileTooLong \u2014 1671 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/language.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fb522e282d7869c38099e6c4c9ee4eac9966129e1bb7432a76078dffcfd108c"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/doc.rs: FileTooLong \u2014 1464 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ec5f029c218d76805c24549b5fe8eac0bba7a9c0e02e2a5c7bbb7bb5105ee08"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: EditorData: TooManyMethods \u2014 83 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":216}}}],"partialFingerprints":{"codehealthFindingId/v1":"0685dc018ad02f70b7a756b789ae093ebb8ce2c1394c7af59269ba06b6431ed0"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: plugin/mod.rs: FileTooLong \u2014 1353 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/mod.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac734ffa2e98064af640d8936842c25060e180a0c5d852494537efe46319cd0f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ProxyRpcHandler: TooManyMethods \u2014 80 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-rpc/src/proxy.rs"},"region":{"startLine":508}}}],"partialFingerprints":{"codehealthFindingId/v1":"e04acf1251896824895a86d506d980333c93f6c295c32bae815a8d4753fe350e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/dispatch.rs: FileTooLong \u2014 1246 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/dispatch.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"efd8d4cd8bd0140bda68a2527815c06508b76a02a1cda8ce767d0509b4b790cd"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/palette.rs: FileTooLong \u2014 1190 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"77480ef1b62aa1e8d6c91eec11ee16688c690b13a2859932bdbe75345322bd81"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: plugin/psp.rs: FileTooLong \u2014 1053 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/psp.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c3433d2315845294c4de81f5a13ea5438382c5d0992531e4594825f37dcc0d3"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/settings.rs: FileTooLong \u2014 1036 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/settings.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"40a30482b5a9349356e78b7e22b97823de3eab1b2336fe6bf527fbe2e9344fdd"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: Doc: TooManyMethods \u2014 61 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/doc.rs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3a0c6db569eb022faa5e7237bd71691510e5f2803919238374803c996e8f3af"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PluginCatalogRpcHandler: TooManyMethods \u2014 60 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/mod.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"624a06561691539d1b0b869732863101c4ddb6c2c8f124b473e180fbdc44a328"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MainSplitData: TooManyMethods \u2014 59 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/main_split.rs"},"region":{"startLine":391}}}],"partialFingerprints":{"codehealthFindingId/v1":"b256deb8e7358570288fa52ad419546e01ca1cc9cd9a13b38dda982a57af9f78"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/proxy.rs: FileTooLong \u2014 821 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-rpc/src/proxy.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8551bb9d9ac851b1d4859441e34827b89c357b2830c1c045be7858b88f11b3e7"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/plugin.rs: FileTooLong \u2014 725 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/plugin.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6bc7f214bd887a7422b13250dd8f49d893123b1be42b95fe17bb93a0391bdae"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: VelocirustConfig: TooManyMethods \u2014 43 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/config.rs"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"2196c4e8575c7351a4ebd71b5ae43cc6bd97df5ba170b4e82db05f2fdb9bc1bf"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/config.rs: FileTooLong \u2014 716 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/config.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c46dd76100771b14da853d133df8fa37afc85eca1505626300a9e20c1653992a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/dap_types.rs: FileTooLong \u2014 698 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-rpc/src/dap_types.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"68732e6eca9cc81765e3894e430c28b030589e26e22b692c9dabb42eeac81fb2"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PaletteData: TooManyMethods \u2014 39 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/palette.rs"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a8a105168bb579c824e11ed4c90b0dd0b47b757117e51db370d38fb0e055892"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: TerminalPanelData: TooManyMethods \u2014 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/panel.rs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"592e262eca4b2da3f86e1f43c61b14de771c12207cc7b0b6d2cafbba057cac0a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/command.rs: FileTooLong \u2014 592 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/command.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7365d5ea9d885891c6e64944a789f64b9035464626075f68c790cbbe751322a6"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyFunctions: crate::app: TooManyFunctions \u2014 35 free functions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/app.rs"},"region":{"startLine":683}}}],"partialFingerprints":{"codehealthFindingId/v1":"2db82e8942b7a9019b8e226110878f46600f6c157414338cc591dcce1d448207"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: keypress/keymap.rs: FileTooLong \u2014 581 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/keypress/keymap.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6d2502b92125be1411bcc9bc335ecf91d9d46b9bc84e0de31a592077b07e88f"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: terminal/data.rs: FileTooLong \u2014 576 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/data.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a15d29a2066b1a36de8be45cefe75d1b3ff35ba17174c8e2c11af4e9d3bd9d2"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: terminal/panel.rs: FileTooLong \u2014 570 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/panel.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"87843f9060272af1276b673c39bbd0df63a6c517ddfc4d33f08ffd2adf809a4d"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: plugin/dap.rs: FileTooLong \u2014 568 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/dap.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4abafc7dbbc0a7157401fa2c6f9d935f960038572bcfbc9b703c4edd288abb02"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/text_input.rs: FileTooLong \u2014 566 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/text_input.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac5e8fa1c34a1080c9f65ffaf232b27e64109be891a1518ddb3549e4ec7b52e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: panel/debug_view.rs: FileTooLong \u2014 555 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/panel/debug_view.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"53999cb035d44b3c01ea0b8cf998888be3dd4fd51e8f48abcde6d9dc3a71762d"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: terminal/view.rs: FileTooLong \u2014 542 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/terminal/view.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7d516fd3052053260d1b4f3b67866c0938518e975b45a8eac6cd877fce0143c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: CoreRpcHandler: TooManyMethods \u2014 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-rpc/src/core.rs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cb02b194e05de1362779d7013389efa2dfcb28c4028bbc56e79dfc7115d9298"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: plugin/catalog.rs: FileTooLong \u2014 526 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-proxy/src/plugin/catalog.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ad2bab415b0c1afa33fce9dfda264fc3ded6e06d53f041818854e2def5aa193"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: syntax/highlight.rs: FileTooLong \u2014 522 significant lines (blank, comment-only and punctuation-only lines excluded, and inline test code \u2014 #[cfg(test)] modules and bare #[test] functions \u2014 not counted)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-core/src/syntax/highlight.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd377b0d5ca0ac450e850d63c9d6bfc638f32ade771da74cfc416b1e823a4a41"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: velocirust-app/src/editor.rs: velocirust-app/src/editor.rs changed 2 times in last 90 days, max complexity 71."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"velocirust-app/src/editor.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c28a956a0e94e0c99148e031efcc72090e968faeefc9471ff10d9e555b658fde"}},{"ruleId":"D16","level":"warning","message":{"text":"single-maintainer \u2014 knowledge-concentration (bus factor) risk: single-maintainer \u2014 knowledge-concentration (bus factor) risk (1 author(s) across 10 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b4b49d961df742f0e507f4cc5c8094fb077ba0391a27fd015d18320865187719"}},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d5b8f11381d61a58459ffc7c595fd52d09c03c711894a63a9578043d2338412b"},"taxa":[{"id":"CWE-829","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"781846cbcb821ed821ae6516677e1c9e1967bb97d71ee8ada5b320fdaa476d8d"},"taxa":[{"id":"CWE-732","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f1b966c70d2e5f6ab697ac6d268d54938c60e802d8ea58ea6ff9cb7e10a35f70"},"taxa":[{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"86f2cfb2cc32d82d657295c4fcd1e6a40c50b9d9e79bc6e760ea1dd0687097c2"},"taxa":[{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D31","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4c07f203b9b4d9c93bcb822dc80559742b6b4ac77c960fb88d4d5f701abd5eff"}},{"ruleId":"D31","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bd9ab445f6aca982affbef879038ec245d71927b09cbc659b4a02bf46c0a729d"}},{"ruleId":"D31","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"240689073947255bd0b6a4b21a5127e3c4e04c98bdbb84de3c0c10c91a42f52d"}},{"ruleId":"D31","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"41eaa80e0bde49f1a1bf2b6b81e59078c6bdf05ff8a455524a6c2b067869d753"}},{"ruleId":"D31","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"df802168d176e8529f53230f7bf2ab454c1122f3031888f59716aba580f8c43d"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1b213f6eedd4b140d0bc37bdf1496f72811a643f34064f12518b32e9e83bcfc7"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"eb00976a698a5d68999b7ee6d27206fd374e916853e7ff1ead5eed42386f043f"}},{"ruleId":"D38","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b597a578aa3a23340cf6b6c2a63b65d11236585529c92be2be2e3d62b0637f41"}},{"ruleId":"D38","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d039fc5a61cf3ddb1c0cdc7022e9797a74b43caa7b4120777107bc9cf3b04772"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"21d29e9fc94997f2fc743f904945cce2fd777ddd42529b54762bd6b213569950"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"41dfc19f058dd5b7f97e899a86950c2a08c4c2a778f08843ecceb1f2519227ba"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d36cd020c91c6e7d7f4461cfbc433022937c7db5f00cb3d1395e18a467d58fd3"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"db26126d7b2af9e7377653d3a2d65c126fe85ae0865eceaec1c9d75200d1af59"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b2d85c4e40271b1f9d0237744d49ff021275126e0d8b46d239f3660296037519"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ae556831474c0742ffe782ea34a53e99ef464e9e7ed4d2760832a8b961da8606"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f1fabc28de3a591be4432828a9f5792fe602ceda94839b00d2573e946560675d"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2b79e3f60274805531c877c6c83555cce0a7eb48d0a42c8b6b4ebb74b4cd4b32"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"97adf7de416998f4bb30a053c020413b766c6ca2eaba3ada307c81e3061d51a9"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"456c4eb5e0b54dea9c5c8d1194bc4052303bbc48f95af23583274ae63c5fab86"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"5d3ebaca8c7baac8999c617756d4845f67869b2e7a6bb14f841a12e574d0af65"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"941063c73997bf5c5f4f27fd06f09905f5eeb8a46bf141b5058add995c586570"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7a2c6edea0cf1d0cae1cbe6b5ae064c75606f67704e89ab373170d0b9863107d"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"82b81c631ea592ffd8abe8003fae6e675aaeae7d21f89216bffa9d553378d213"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b234639fe2fdc0eebcea4a821195b3ab0e83f499db9ae03654a48b7cda46f00c"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"77c02758ef5f1f1dd7cf95bac86fc0f10049e0e0d1593a196f287a7503c06861"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"944e4b67a73f2f9ffa58ed3b6a6ee08e19fce53a26312fbce65809a24f577dc3"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3b2431bd37e5ac51ccd87d3bda954fefbe0b6f9e3dfa7a35aab724a2155ee3a9"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"32abcfaafac28329ce78c4dea320913cdb1359fce9fd0da6d17d3c770e7c2836"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"47cfac894464ca11ec1babdf19728d6979f4d48f0d16a2b48a0c82c804339022"}},{"ruleId":"D38","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"70452200f3c768c209b1a57226f2b2532239fc71fd0670f2ccfb287ed7bd7ffb"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","informationUri":"https://cwe.mitre.org/","isComprehensive":false,"shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-1032","guid":"5f21e517-68aa-a650-9a25-5771ef024637","name":"OWASP Top Ten \u2014 Security Misconfiguration category","shortDescription":{"text":"OWASP Top Ten \u2014 Security Misconfiguration category"},"helpUri":"https://cwe.mitre.org/data/definitions/1032.html"},{"id":"CWE-1357","guid":"e4d2e772-757e-0a5c-bd7d-77052949d866","name":"Reliance on Insufficiently Trustworthy Component","shortDescription":{"text":"Reliance on Insufficiently Trustworthy Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1357.html"},{"id":"CWE-1395","guid":"800e09e7-c11a-8654-9fa6-86f398995fed","name":"Dependency on Vulnerable Third-Party Component","shortDescription":{"text":"Dependency on Vulnerable Third-Party Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1395.html"},{"id":"CWE-16","guid":"659db3ea-affc-8453-8add-c1218fbfcb92","name":"Configuration","shortDescription":{"text":"Configuration"},"helpUri":"https://cwe.mitre.org/data/definitions/16.html"},{"id":"CWE-259","guid":"ae9ad959-fbb6-9d5e-892d-3dca66da0b69","name":"Use of Hard-coded Password","shortDescription":{"text":"Use of Hard-coded Password"},"helpUri":"https://cwe.mitre.org/data/definitions/259.html"},{"id":"CWE-494","guid":"b8a65e0d-e459-4a55-a931-fc1136482375","name":"Download of Code Without Integrity Check","shortDescription":{"text":"Download of Code Without Integrity Check"},"helpUri":"https://cwe.mitre.org/data/definitions/494.html"},{"id":"CWE-732","guid":"1da27e8f-b330-7650-ab63-bd61953eae5d","name":"Incorrect Permission Assignment for Critical Resource","shortDescription":{"text":"Incorrect Permission Assignment for Critical Resource"},"helpUri":"https://cwe.mitre.org/data/definitions/732.html"},{"id":"CWE-77","guid":"332c8ade-6612-9f56-a06b-d8d90b1a8750","name":"Command Injection","shortDescription":{"text":"Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/77.html"},{"id":"CWE-78","guid":"2e31ceaf-c7ae-2e5e-9661-cfb1362789cf","name":"OS Command Injection","shortDescription":{"text":"OS Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-79","guid":"fd45580b-e8c4-fc5e-8c2f-aa8fab0b4dbf","name":"Cross-site Scripting (XSS)","shortDescription":{"text":"Cross-site Scripting (XSS)"},"helpUri":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-798","guid":"5e8f057d-fee3-995a-a0cb-9fc5b0d174d1","name":"Use of Hard-coded Credentials","shortDescription":{"text":"Use of Hard-coded Credentials"},"helpUri":"https://cwe.mitre.org/data/definitions/798.html"},{"id":"CWE-829","guid":"13c33925-97fb-5a5e-b40c-56d328b8a4d7","name":"CWE-829","shortDescription":{"text":"CWE-829"},"helpUri":"https://cwe.mitre.org/data/definitions/829.html"},{"id":"CWE-89","guid":"6d08fdad-37eb-c150-bbf0-d7d946863407","name":"SQL Injection","shortDescription":{"text":"SQL Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/89.html"},{"id":"CWE-937","guid":"16f316ae-415c-b354-a59b-1f7905f756e9","name":"Using Components with Known Vulnerabilities","shortDescription":{"text":"Using Components with Known Vulnerabilities"},"helpUri":"https://cwe.mitre.org/data/definitions/937.html"},{"id":"CWE-94","guid":"75e7f50c-6c2f-dd52-bf40-bf6c52b861fd","name":"Code Injection","shortDescription":{"text":"Code Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/94.html"}]}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":34,"secretScannerRunsExcluded":0}},"redactionTokens":["A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."]}]}