-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Valdo extension for VS Code #3
Comments
I'll have to think about it. |
I think there was some discussion in a thread on GNOME Builder's issue page about templating too. I hope that, for now at least, a command-line interface is rather useful. |
@Prince781 will you mind if I make one |
@abdallah-moh feel free |
thanks |
is there any way to enter the app name and the rest when calling the command |
@abdallah-moh not currently. What context do you need to use this in? |
the vscode extention |
the user will be required to have valdo installed |
I mean more specifically, how to you plan to have the plugin interact with valdo? For example, are you going to rewrite the prompt in JS and intend to call valdo to instantiate the template? Walk me through your proposal. |
What I will do is get all the required info from the user then use a node module to run valdo |
@abdallah-moh how will you determine what information you need? Don't you need to analyze the template? |
Yes I will get the template type at the beginning |
@abdallah-moh so it looks like I'll need to make some changes to valdo for you. What do you think of this API? % valdo eos --list-vars
{
"PROGRAM_NAME": {
"summary": "the name of the program",
"default": "/${PROJECT_NAME}/\\w+/\\u\\0/(\\w)?\\W+(\\w)?(\\w*)/\\1\\u\\2\\L\\3\\E/^\\w/\\u\\0/",
"pattern": "^[[:word:]-]+$"
},
"PROJECT_SUMMARY": {
"summary": "a very short summary of the project",
"default": "a new app for elementary OS"
},
"PROJECT_CATEGORIES": {
"summary": "categories (semicolon-separated)",
"pattern": "^((AudioVideo|Audio|Video|Development|Education|Game|Graphics|Network|Office|Science|Settings|System|Utility);)+$"
},
"PROJECT_KEYWORDS": {
"summary": "keywords (semicolon-separated)",
"default": "/${PROJECT_NAME}/\\W+/;/^;+//\\w+/\\L\\0\\E/[^;]$/\\0;/",
"pattern": "^(\\w+;)+$"
}
} % valdo --list-builtin-vars
# will list all built-in variables % valdo eos -DPROGRAM_NAME='valdo' -DPROJECT_VERSION='1.0.0' \
-DPROJECT_SUMMARY='a templating engine for Vala' -DPROJECT_CATEGORIES='System;Utility;' \
-DPROJECT_KEYWORDS='vala,templating' -o $DIRECTORY Note, this is an example of how it would work with the |
looks nice for me |
@abdallah-moh checkout and build |
@Prince781 is there an arg to get a list of all the templates |
@abdallah-moh you can just run e.g.
|
Maybe it would be better to parse the output using JS for better running support on Windows. |
@pervoj Why would someone create a vala project on windows, |
@abdallah-moh Maybe someone can start working on Linux and continue working on Windows. Otherwise, I think it's a shame to have a non-multiplatform extension for the multiplatform Valdo. Yes, I know, I meant that I think it's better to parse the output right in the extension code. |
@pervoj The extension will need valdo to run and valdo is not available for windows |
@abdallah-moh You can compile Valdo on Windows without any problems. I also talked with @Prince781 about packaging for MSYS2 (where these commands but are available). It's up to you, it was just a suggestion. |
the extension will work if valdo is installed so yes it can work on windows if you install valdo |
@abdallah-moh the example command I gave demonstrates that it's simple to parse valdo's output using a regex. I did not intend for you to execute that command. |
I know |
Is the feature added? |
Try |
I was busy but now I have time to work on the extension you can find it here |
@Prince781 can this return an array of objects and each object will contain the name and the rest |
@abdallah-moh done. Do a |
@Prince781 The variable |
Try this: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions You can also init regex from string. let re = new RegExp('ab+c', 'g');
Than test with if (re.test(str)) {
…
} |
@pervoj I know how to test regex in js, What I mean is how to use this pattern |
@abdallah-moh read this carefully: https://github.com/Prince781/valdo#variable-substitution Basically, this says "take It's essentially (Edited comment to unquote the regex.) |
@Prince781 It looks like javascript literary searches for |
@abdallah-moh Yeah, you can replace |
Are you also planning to create a Valdo extension for VS Code?
The text was updated successfully, but these errors were encountered: