Skip to content
Snippets Groups Projects
Commit c876966d authored by SeeBasTStick's avatar SeeBasTStick
Browse files

added optionAddedScript

parent 97184a19
No related branches found
No related tags found
No related merge requests found
......@@ -2,4 +2,5 @@
.vscode-test/**
.gitignore
media/**
optionAdder.py
vsc-extension-quickstart.md
import json
import sys
# Example: python3 optionAdder.py --add test '-p MEGATEST' 'A cool option' /home/sebastian/b-eventb-language-extension/
def modify_server(varName: str, comand: str, filename):
var_marker: str = '//PYTHONVAR'
if_marker: str = '//PYTHONIF'
setting_marker: str = '//PYTHONSETTING'
default_marker: str = '//PYTHONDEFAULT'
python_command: str = '/*PYTHONCMD*/'
with open(filename) as file:
# Get only numbers
file_handler = file.readlines()
new_file = []
for line in file_handler:
if setting_marker in line:
new_file.append('\t' + varName + ':boolean\n')
if default_marker in line:
new_file.append('\t' + varName + ':false,\n')
if var_marker in line:
new_file.append('\tlet ' + varName + '=""\n\t')
if if_marker in line:
new_file.append('\n\tif(settings.' + varName + ' == true){ \n\t\t' +
varName + '=' + ' "' + comand + '" ' + '\n' +
'\t}\n')
if python_command in line:
new_file.append('\t\t\t\t\t\t\t+ ' + varName + '\n')
new_file.append(line)
with open(filename, 'w') as f:
f.writelines(new_file)
def modify_package(varName: str, description: str, filename:str):
with open(filename) as file:
attribute_dict = {
'scope': 'window',
'type': 'boolean',
'default': 'false',
'description': description}
file_handler = json.load(file)
file_handler['contributes']['configuration']['properties']['languageServer.' + varName] = attribute_dict
json.dumps(file_handler)
with open(filename, 'w') as f:
json.dump(file_handler, f, indent=4)
def main():
if len(sys.argv) >= 2:
if sys.argv[1] == '--help':
print('Helper to add boolean options quickly')
print('Usage:')
print('python --add optionName optionCommand optionDescription dirOfPackage.json')
elif sys.argv[1] == '--add' and len(sys.argv) == 6:
print(sys.argv)
optionName = sys.argv[2]
optionCommand = sys.argv[3]
optionDescription = sys.argv[4]
homeDir = sys.argv[5]
modify_server(optionName, optionCommand, homeDir + '/server/src/server.ts')
modify_package(optionName, optionDescription, homeDir + '/package.json')
else:
print("Something went wrong")
if __name__ == "__main__":
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment