From 12d25e487abf203d2e815880b03ef375460abdc8 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 14 Jan 2023 19:08:50 +0100 Subject: [PATCH] Visual Studio Code prompts to snippets converter --- converters/csv_to_vs_snippets.py | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 converters/csv_to_vs_snippets.py diff --git a/converters/csv_to_vs_snippets.py b/converters/csv_to_vs_snippets.py new file mode 100644 index 0000000..2aefccc --- /dev/null +++ b/converters/csv_to_vs_snippets.py @@ -0,0 +1,38 @@ +import csv +import json +import sys + +snippets = [] + +# Open the CSV file and read the data +with open("../prompts.csv", "r") as file: + reader = csv.reader(file) + for row in reader: + # Extract the snippet information from the row + name = row[0] + description = row[1] + # Create the snippet template + snippet = {name.lower():''} + snippet[name.lower()] = { + "scope": "markdown,python,txt", + "prefix": name.lower(), + "body": [description], + "description": name + } + # Add the snippet to the list + snippets.append(snippet) + +# Write the snippets to the Visual Studio Code snippets file +# Where sys.argv[1] is the location of your snippets config file. +# Usually in .vscode folder +# Example: python3 csv_to_vs_snippets.py ./.vscode/chat_gpt_snippets.code-snippets +with open(sys.argv[1], "w") as file: + file.write('{') + for snippet in snippets: + snippet_key = list(snippet.keys())[0] + if snippet_key == 'act': + continue # Skips CSV fields. + file.write(f'"{snippet_key}":') + file.write(json.dumps(snippet[snippet_key], indent=4)) + file.write(',') + file.write('}')