Skip to content

WIP Features & Known Issues

Colin Kennedy edited this page Oct 24, 2024 · 2 revisions

Unittests

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!

llscheck

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

Once those two issues are fixed we'll update the repository to use llscheck natively.

COMMAND Mode Parsing (cmdparse)

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.

Multiple Positional nargs=*/+ Parameters

  • 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 sfdasfdasfddttt should 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

Fuzzymatching

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!

utf-8+

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.

Dynamic Arguments

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!

Tree-Sitter As A GitHub Workflow?

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.

Clone this wiki locally