Skip to content
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

Full revision of README #53

Open
BradleyChatha opened this issue Feb 26, 2022 · 19 comments
Open

Full revision of README #53

BradleyChatha opened this issue Feb 26, 2022 · 19 comments
Labels
documentation Improvements or additions to documentation

Comments

@BradleyChatha
Copy link
Owner

With the large refactor, courtesy of @AntonC9018 , the README will need a complete look over to ensure it's still correct, and to also add in any new features that haven't been described yet.

@BradleyChatha BradleyChatha added the documentation Improvements or additions to documentation label Feb 26, 2022
@deavmi
Copy link

deavmi commented Jan 24, 2023

Yo, I am on the latest non-beta version, 0.24.0, and I cannot find ArgConfig.repeatableName, in which version may I find this as I desperately need it for my compiler (object linking).

@AntonC9018
Copy link
Contributor

Yo, I am on the latest non-beta version, 0.24.0, and I cannot find ArgConfig.repeatableName, in which version may I find this as I desperately need it for my compiler (object linking).

it's not released under a version, use the master branch, or make a fork and use it as a submodule

@deavmi
Copy link

deavmi commented Jan 24, 2023

@AntonC9018 Is there a way in dub to specify to use whatever the HEAD of the master branch is?

@deavmi
Copy link

deavmi commented Jan 24, 2023

I mean i could fork it but then I'd need to make it available on dub which is well, seems grifty.

@deavmi
Copy link

deavmi commented Jan 24, 2023

Is there no motivation to get an early beta out perhaps for these new features, I mean clearly marked as a beta such that users like me can use it but stable-enjoyers can stray away from it. Would help out a lot ❤️

@BradleyChatha
Copy link
Owner Author

Hey, there is in fact a beta out on dub :)

https://code.dlang.org/packages/jcli - 0.25.0-beta.1

If you ever need to use a branch inside dub, you can use "~BRANCH_NAME" as the version string.

@deavmi
Copy link

deavmi commented Jan 24, 2023

Thanks a tonne @BradleyChatha !

@deavmi
Copy link

deavmi commented Jan 24, 2023

Has the template instantiation changed quite a bit?

image

@BradleyChatha
Copy link
Owner Author

Ah yeah, 0.25.0-beta.1 is a large rewrite.

Sorry for the annoyances, I can go try and get a version tagged in the older code that has the feature implemented for you though, will update you shortly.

@BradleyChatha
Copy link
Owner Author

... Although I think I'm attempting to fix the wrong problem here.

The actual problem is I really need to get the README fully up to date to address the new changes. For now if you look at this example, it should help you get to where you're going: https://github.com/BradleyChatha/jcli/tree/master/new_examples/across_modules

🤕 Again, I know this is a subpar experience, so I would just like to apologise.

@deavmi
Copy link

deavmi commented Jan 25, 2023

No problem, I understand :). I will take a look at the code example you have posted and if I can get that working, else a tag that supports the feature I am looking for and the same templatised constructor would be the way to go :)

@deavmi
Copy link

deavmi commented Jan 25, 2023

Ah yeah, 0.25.0-beta.1 is a large rewrite.

Sorry for the annoyances, I can go try and get a version tagged in the older code that has the feature implemented for you though, will update you shortly.

This would be great, thanks - let me know what the tag is if you get this up.

I will eventually upgrade but trying to stay with things intact for this year atleast.

@deavmi
Copy link

deavmi commented Jan 25, 2023

I'm struggling with the example you posted above, I think a tagged version would be best for now @BradleyChatha , later - when the readme is updated - I will be able to transition over

@AntonC9018
Copy link
Contributor

I'm struggling with the example you posted above, I think a tagged version would be best for now @BradleyChatha , later - when the readme is updated - I will be able to transition over

what did you not understand in the examples, you can ask me directly, I'm the one who wrote them

@deavmi
Copy link

deavmi commented Jan 25, 2023

@AntonC9018 I'm struggling to find the symbol matchAndExecuteAcrossModules

@AntonC9018
Copy link
Contributor

@deavmi
Copy link

deavmi commented Jan 25, 2023

So it compiles now, but it would seem as though nothing ever executes now, I just get the usage being displayed constantly:

module commandline.args;

import jcli.commandgraph.cli;

void parseCommandLine(string[] arguments)
{
    /* Create an instance of the JCLI command-line parser */
    // CommandLineInterface!(commandline.commands) commandLineSystem = new CommandLineInterface!(commandline.commands)();

    matchAndExecuteAcrossModules!(commandline.commands)(arguments);

    /* Parse the command-line arguments */
    // commandLineSystem.parseAndExecute(arguments);
}

Output:

tlang NO_PUBLISH_RELEASE

   compile:  Compiles the given file(s)
       lex:  Performs tokenization of the given file(s)
syntaxcheck:  Check the syntax of the program
 typecheck:  Perform typechecking on the program
      help:  Shows the help screen

@AntonC9018
Copy link
Contributor

So it compiles now, but it would seem as though nothing ever executes now, I just get the usage being displayed constantly:

module commandline.args;

import jcli.commandgraph.cli;

void parseCommandLine(string[] arguments)
{
    /* Create an instance of the JCLI command-line parser */
    // CommandLineInterface!(commandline.commands) commandLineSystem = new CommandLineInterface!(commandline.commands)();

    matchAndExecuteAcrossModules!(commandline.commands)(arguments);

    /* Parse the command-line arguments */
    // commandLineSystem.parseAndExecute(arguments);
}

Output:

tlang NO_PUBLISH_RELEASE

   compile:  Compiles the given file(s)
       lex:  Performs tokenization of the given file(s)
syntaxcheck:  Check the syntax of the program
 typecheck:  Perform typechecking on the program
      help:  Shows the help screen

it doesn't slice off the program name from the argument list, you need to do that manually. Look at how it's done in the example

@deavmi
Copy link

deavmi commented Jan 26, 2023

Oh wow, I am legit stupid 🤦

Would be nice if I maybe indexed from 1 onwards, forgot about that 😆 - just goes to show, 5 years of CS doesn't mean anything .

Thanks for the help lads!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants