From e39907263f1f997ed6648c4309df82788fe1d140 Mon Sep 17 00:00:00 2001 From: gin-lsl Date: Tue, 24 Jun 2025 08:33:24 +0800 Subject: [PATCH 1/3] fix: npm completions --- custom-completions/npm/npm-completions.nu | 34 +++++++++++++++-------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/custom-completions/npm/npm-completions.nu b/custom-completions/npm/npm-completions.nu index 0195b18d4..4e5fdc3e6 100644 --- a/custom-completions/npm/npm-completions.nu +++ b/custom-completions/npm/npm-completions.nu @@ -1,21 +1,33 @@ -def "nu-complete npm" [] { - ^npm -l - |lines - |find 'Run "' - |str trim - |split column -c ' ' - |get column4 - |str replace '"' '' +def "nu-complete npm db cache" [] { + let db = stor open + + try { + # query commanders from in-mem db + $db | query db "SELECT * FROM npm_commanders_table" + } catch { + # if catched error, create table and insert all data + stor create --table-name npm_commanders_table --columns { value: str, description: str } + + let npm_commanders = ^npm -l + | lines + | where {|line| $line =~ '\s{4}[a-z\-]+.*\s{4,}' } + | parse -r '\s*(?P[^ ]+)\s*(?P\w.*)' + + $npm_commanders | stor insert --table-name npm_commanders_table + + $npm_commanders + } } export extern "npm" [ - command?: string@"nu-complete npm" + command?: string@"nu-complete npm db cache" ] def "nu-complete npm run" [] { open ./package.json - |get scripts - |columns + | get scripts + | transpose + | rename value description } export extern "npm run" [ From 2ed4f19feff4702ec78787ea154516ded6dddbc4 Mon Sep 17 00:00:00 2001 From: gin-lsl Date: Tue, 24 Jun 2025 09:08:52 +0800 Subject: [PATCH 2/3] Update npm-completions.nu --- custom-completions/npm/npm-completions.nu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom-completions/npm/npm-completions.nu b/custom-completions/npm/npm-completions.nu index 4e5fdc3e6..b17c9c763 100644 --- a/custom-completions/npm/npm-completions.nu +++ b/custom-completions/npm/npm-completions.nu @@ -1,4 +1,4 @@ -def "nu-complete npm db cache" [] { +def "nu-complete npm" [] { let db = stor open try { @@ -20,7 +20,7 @@ def "nu-complete npm db cache" [] { } export extern "npm" [ - command?: string@"nu-complete npm db cache" + command?: string@"nu-complete npm" ] def "nu-complete npm run" [] { From ac48ebf4f3d222c27565eeb966da263290cbe980 Mon Sep 17 00:00:00 2001 From: gin-lsl Date: Wed, 25 Jun 2025 05:53:26 +0800 Subject: [PATCH 3/3] Update --- custom-completions/npm/npm-completions.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom-completions/npm/npm-completions.nu b/custom-completions/npm/npm-completions.nu index b17c9c763..41d61cf53 100644 --- a/custom-completions/npm/npm-completions.nu +++ b/custom-completions/npm/npm-completions.nu @@ -10,7 +10,7 @@ def "nu-complete npm" [] { let npm_commanders = ^npm -l | lines - | where {|line| $line =~ '\s{4}[a-z\-]+.*\s{4,}' } + | where $it =~ '\s{4}[a-z\-]+.*\s{4,}' | parse -r '\s*(?P[^ ]+)\s*(?P\w.*)' $npm_commanders | stor insert --table-name npm_commanders_table