From c9a88878db289e1cde2550ff8ca25de1a27cf56a Mon Sep 17 00:00:00 2001 From: EmilySeville7cfg Date: Thu, 6 Jul 2023 02:08:43 +1000 Subject: [PATCH 1/4] feat(snippets): zip, unzip support --- server/src/snippets.ts | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/server/src/snippets.ts b/server/src/snippets.ts index 5ecb2e3c..70806655 100644 --- a/server/src/snippets.ts +++ b/server/src/snippets.ts @@ -19,15 +19,14 @@ * - for Bash parameter expansions it's '[]', where: * - is one of 'set'/'error' * used when expansion modifies variable or prints error to stderr - * - is 'if-(set|unset)[-or-[not-]null]' + * - is 'if-(set|unset)[-or-[not-]null]' * - term delimiter: dash, like 'set-if-unset-or-null' * - for Bash brace expansion it's 'range' * - for Bash documentation it's one of 'documentation'/'' * - for Bash functions it's one of 'function'/'' * - for Bash builtins it's '' * - for Bash character classes it's '' - * - for Sed it's 'sed:' - * - for Awk it's 'awk:' + * - for external command it's ':' * - for anything else it's any string */ import { CompletionItemKind, InsertTextFormat, MarkupKind } from 'vscode-languageserver' @@ -351,6 +350,31 @@ export const SNIPPETS: BashCompletionItem[] = [ label: 'yq:print', insertText: "yq '.${1:path/to/node}' ${2:path/to/file}", }, + { + documentation: 'contents addition or replacement', + label: 'zip:add-or-replace', + insertText: "zip ${1:path/to/archive} ${2:path/to/file}", + }, + { + documentation: 'contents deletion', + label: 'zip:delete', + insertText: "zip ${1|--delete,-d|} ${2:path/to/archive} ${3:path/to/file}", + }, + { + documentation: 'contents update', + label: 'zip:update', + insertText: "zip ${1|--update,-u|} ${2:path/to/archive} ${3:path/to/file}", + }, + { + documentation: 'contents extraction', + label: 'unzip:extract', + insertText: "unzip ${1:path/to/archive} -d ${2:path/to/directory}", + }, + { + documentation: 'contents print', + label: 'unzip:print', + insertText: "unzip ${1:path/to/archive}", + }, { documentation: 'home directory', label: '~', From 6838d581686ce6701aebbeea99fdaa884d92a98e Mon Sep 17 00:00:00 2001 From: EmilySeville7cfg Date: Thu, 6 Jul 2023 02:24:56 +1000 Subject: [PATCH 2/4] feat(snippets): find support --- server/src/snippets.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/server/src/snippets.ts b/server/src/snippets.ts index 70806655..32914f0b 100644 --- a/server/src/snippets.ts +++ b/server/src/snippets.ts @@ -375,6 +375,31 @@ export const SNIPPETS: BashCompletionItem[] = [ label: 'unzip:print', insertText: "unzip ${1:path/to/archive}", }, + { + documentation: 'file characteristic filter', + label: 'find:filter-by-file-characteristic', + insertText: "find ${1:path/to/directory} -${2|readable,writable|}", + }, + { + documentation: 'file type filter', + label: 'find:filter-by-file-type', + insertText: "find ${1:path/to/directory} -type ${2|b,c,d,p,f,l,s,D|}", + }, + { + documentation: 'file name filter', + label: 'find:filter-by-file-name', + insertText: "find ${1:path/to/directory} -${2|name,iname|} ${3:path/to/file}", + }, + { + documentation: 'condition combination', + label: 'find:filter-by-file-combined-condition', + insertText: "find ${1:path/to/directory} ${2:condition} -${3|and,or,a,o|} ${4:condition}", + }, + { + documentation: 'modification', + label: 'find:modify-all', + insertText: "find ${1:path/to/directory} ${2:condition} -exec ${3:action} \;", + }, { documentation: 'home directory', label: '~', From c4ab6fe6a423ace5c9a254ea9034d7c5f7c76635 Mon Sep 17 00:00:00 2001 From: EmilySeville7cfg Date: Thu, 6 Jul 2023 02:27:20 +1000 Subject: [PATCH 3/4] feat(snippets): fix snippet label --- server/src/snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/snippets.ts b/server/src/snippets.ts index 32914f0b..4f8500d1 100644 --- a/server/src/snippets.ts +++ b/server/src/snippets.ts @@ -392,7 +392,7 @@ export const SNIPPETS: BashCompletionItem[] = [ }, { documentation: 'condition combination', - label: 'find:filter-by-file-combined-condition', + label: 'find:filter-by-combined-condition', insertText: "find ${1:path/to/directory} ${2:condition} -${3|and,or,a,o|} ${4:condition}", }, { From c8f4ce48b2309b2ca1825ba0756acf8e66932e35 Mon Sep 17 00:00:00 2001 From: EmilySeville7cfg Date: Sun, 9 Jul 2023 16:47:40 +1000 Subject: [PATCH 4/4] fix(snippets): format --- server/src/snippets.ts | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/server/src/snippets.ts b/server/src/snippets.ts index 4f8500d1..9ab5c8db 100644 --- a/server/src/snippets.ts +++ b/server/src/snippets.ts @@ -353,52 +353,53 @@ export const SNIPPETS: BashCompletionItem[] = [ { documentation: 'contents addition or replacement', label: 'zip:add-or-replace', - insertText: "zip ${1:path/to/archive} ${2:path/to/file}", + insertText: 'zip ${1:path/to/archive} ${2:path/to/file}', }, { documentation: 'contents deletion', label: 'zip:delete', - insertText: "zip ${1|--delete,-d|} ${2:path/to/archive} ${3:path/to/file}", + insertText: 'zip ${1|--delete,-d|} ${2:path/to/archive} ${3:path/to/file}', }, { documentation: 'contents update', label: 'zip:update', - insertText: "zip ${1|--update,-u|} ${2:path/to/archive} ${3:path/to/file}", + insertText: 'zip ${1|--update,-u|} ${2:path/to/archive} ${3:path/to/file}', }, { documentation: 'contents extraction', label: 'unzip:extract', - insertText: "unzip ${1:path/to/archive} -d ${2:path/to/directory}", + insertText: 'unzip ${1:path/to/archive} -d ${2:path/to/directory}', }, { documentation: 'contents print', label: 'unzip:print', - insertText: "unzip ${1:path/to/archive}", + insertText: 'unzip ${1:path/to/archive}', }, { documentation: 'file characteristic filter', label: 'find:filter-by-file-characteristic', - insertText: "find ${1:path/to/directory} -${2|readable,writable|}", + insertText: 'find ${1:path/to/directory} -${2|readable,writable|}', }, { documentation: 'file type filter', label: 'find:filter-by-file-type', - insertText: "find ${1:path/to/directory} -type ${2|b,c,d,p,f,l,s,D|}", + insertText: 'find ${1:path/to/directory} -type ${2|b,c,d,p,f,l,s,D|}', }, { documentation: 'file name filter', label: 'find:filter-by-file-name', - insertText: "find ${1:path/to/directory} -${2|name,iname|} ${3:path/to/file}", + insertText: 'find ${1:path/to/directory} -${2|name,iname|} ${3:path/to/file}', }, { documentation: 'condition combination', label: 'find:filter-by-combined-condition', - insertText: "find ${1:path/to/directory} ${2:condition} -${3|and,or,a,o|} ${4:condition}", + insertText: + 'find ${1:path/to/directory} ${2:condition} -${3|and,or,a,o|} ${4:condition}', }, { documentation: 'modification', label: 'find:modify-all', - insertText: "find ${1:path/to/directory} ${2:condition} -exec ${3:action} \;", + insertText: 'find ${1:path/to/directory} ${2:condition} -exec ${3:action} ;', }, { documentation: 'home directory',