-
Notifications
You must be signed in to change notification settings - Fork 6
WIP Features & Known Issues
Adding Windows support to the test.yml file but unfortunately I couldn't get
it working easily. If someone inclined got it running that'd be awesome!
This repository uses llscheck to enforce the LuaCATS Annotations. We'd like to add llscheck as a GitHub workflow but there are two bugs right now that make it difficult
- https://github.com/jeffzi/llscheck/issues/7
- https://github.com/LuaLS/lua-language-server/issues/2905
Once those two issues are fixed we'll update the repository to use llscheck natively.
cmdparse, which is inspired by Python's argparse doesn't handle every known case yet. But it does a pretty good job in most cases.
- If the user has a 1-or-more / 0-or-more and their count is exhausted and there is a flag in the middle, error parsing
- e.g.
PluginTemplate hello-world say phrase sadfasfasdf asdfsfd --repeat=3 sfdasfdasfddtttshould fail to parse if the phrase argument is count = 1 but succeed if count = 2 or count = * / +
Multiple positionals need to be handled For example
parser = argparse.ArgumentParser()
parser.add_argument("foo", nargs="*")
parser.add_argument("bar", nargs="+")
namespace = parser.parse_args(shlex.split("1 2 3 4"))
print(namespace)
# Namespace(foo=['1', '2', '3'], bar=['4'])This above case isn't handled by the parser yet. Same sorts of issues it nargs
- count at the same time
All of the text matching assumes "starts-with" as in "foo" matches "foot". But it'd be cool to allow fuzz matches like "floatation" too. That feature is begging for a contributor to add!
We've added some unittests to see if utf-8 characters work and it seems to be fine. But the unittests for this are really sparse and may not work 100% correctly.
A great feature of bash / shell scripting is being able to do sub-commands
like echo "$(echo foo)". Currently cmdparse doesn't support this. But it'd
be an awesome addition!
This idea never made it past "this would be cool" but...
We could use tree-sitter to query all files for syntax issues. And since tree-sitter also supports language injections it could even check potentially docstrings of files for reStructuredText syntax errors or things like that.