Nathan Adams
|
8ae247bb6a
|
Don't store string arguments in contexts, ranges are more useful
|
2017-11-07 15:53:12 +01:00 |
|
Nathan Adams
|
e342380600
|
Removed concept of argument suffix
|
2017-11-06 16:17:21 +01:00 |
|
Nathan Adams
|
c746232ffc
|
Removed : int (for example) in syntax.
We can have better ways to show this, without making usage text so long.
|
2017-11-06 16:14:29 +01:00 |
|
Nathan Adams
|
59a27953be
|
If a redirect returned nothing, return nothing.
|
2017-11-06 15:02:37 +01:00 |
|
Nathan Adams
|
43e18f6a04
|
Allow redirect modifiers to throw exceptions
|
2017-11-06 14:45:54 +01:00 |
|
Nathan Adams
|
9d65991ae8
|
Fixed competing overloads not allowing other ones to try to parse
|
2017-10-31 17:03:52 +01:00 |
|
Nathan Adams
|
e85f4a9f11
|
Added optional boolean to get all command usage text
|
2017-10-13 09:34:45 +02:00 |
|
Nathan Adams
|
08b183588f
|
Renamed CommandException -> CommandSyntaxException
|
2017-08-21 14:44:22 +02:00 |
|
Nathan Adams
|
f287b89ee4
|
Readded exceptions without context, useful for exceptions during execution
|
2017-08-15 14:36:27 +02:00 |
|
Nathan Adams
|
02f3a68ac0
|
Commands can throw exceptions
|
2017-08-15 09:35:09 +02:00 |
|
Nathan Adams
|
9d8ccfb1e2
|
Fixed redirect modifiers not always being ran
|
2017-08-10 15:30:14 +02:00 |
|
Nathan Adams
|
b0f69ebc47
|
Allow redirects to modify context, supporting forks in the command chain
|
2017-08-10 14:32:01 +02:00 |
|
Nathan Adams
|
c282b26b60
|
Removed unneeded field from contextbuilder
|
2017-08-10 13:22:58 +02:00 |
|
Nathan Adams
|
9c5af32afa
|
When we redirect, add initial node to the context
|
2017-08-10 09:03:10 +02:00 |
|
Nathan Adams
|
78f4187908
|
Fixed from failing prematurely on partially matching literals
|
2017-08-07 09:24:14 +02:00 |
|
Nathan Adams
|
2d7644dce3
|
Change usage text of redirects based on if it's root or not
|
2017-08-03 12:41:19 +02:00 |
|
Nathan Adams
|
a67b4b51b0
|
Added float argument
|
2017-08-01 09:38:14 +02:00 |
|
Nathan Adams
|
4b9170fd7f
|
Added a redirect option on nodes
|
2017-07-31 14:39:59 +02:00 |
|
Nathan Adams
|
7f490f0a8b
|
A context's arguments should be sorted
|
2017-07-27 14:06:58 +02:00 |
|
Nathan Adams
|
42631c29b7
|
Store start & end on parsed arguments
|
2017-07-27 11:07:09 +02:00 |
|
Nathan Adams
|
152c0b09d1
|
Removed unused copy methods, no longer needed
|
2017-07-27 11:00:35 +02:00 |
|
Nathan Adams
|
5181559f46
|
Made all exceptions throw with context
|
2017-07-27 09:58:14 +02:00 |
|
Nathan Adams
|
9276feddd4
|
Ported new methods to StringReader from nbt parsing
|
2017-07-26 14:01:43 +02:00 |
|
Nathan Adams
|
dcda383dc9
|
Allow disabling of command exception stack trace
|
2017-07-26 14:01:29 +02:00 |
|
Nathan Adams
|
d0be598676
|
Code cleanup
|
2017-07-25 16:07:03 +02:00 |
|
Nathan Adams
|
3bb1a888fb
|
Made node parsing also use readers
|
2017-07-25 16:00:38 +02:00 |
|
Nathan Adams
|
d2a5eeedc5
|
Fixed up tests to use the new reader in type parsing
|
2017-07-25 15:31:14 +02:00 |
|
Nathan Adams
|
9e481e3f24
|
Started moving towards passing around one big reader, instead of lots of strings
|
2017-07-25 15:07:58 +02:00 |
|
Nathan Adams
|
a7674e984d
|
Source is no longer required to get an argument result
|
2017-07-25 13:19:36 +02:00 |
|
Nathan Adams
|
ce5eb700b8
|
Removed DynamicParsedArgument, undoing previous work to split it up.
Realized that returning a fixed partial is the same thing, but doesn't complicate the code so much.
|
2017-07-25 13:18:22 +02:00 |
|
Nathan Adams
|
8e53d8ff4f
|
Added usage text to string
|
2017-07-20 13:59:54 +02:00 |
|
Nathan Adams
|
74f7c0e6b0
|
Added bool argument
|
2017-07-20 13:57:48 +02:00 |
|
Nathan Adams
|
eaf4c6175d
|
Keep nodes sorted alphabetically for niceness
|
2017-07-20 13:32:12 +02:00 |
|
Nathan Adams
|
daea2d76d7
|
Fixed suffix with empty input
|
2017-07-20 13:08:12 +02:00 |
|
Nathan Adams
|
e82d657d26
|
Added suffix to integer, and pass context around some more
|
2017-07-20 13:01:22 +02:00 |
|
Nathan Adams
|
13a7d53bdc
|
Renamed CommandArgumentType -> ArgumentType
|
2017-07-10 12:04:52 +02:00 |
|
Nathan Adams
|
c1a159f75a
|
Pass in source to evaluations of arguments
|
2017-07-04 15:12:31 +02:00 |
|
Nathan Adams
|
4af7274892
|
Fixed how optional commands work - we don't find an earlier command in the tree anymore.
|
2017-06-30 09:17:07 +02:00 |
|
Nathan Adams
|
9a3f987c97
|
Overhauled usage generation
|
2017-06-29 15:15:12 +02:00 |
|
Nathan Adams
|
4337a9645e
|
Added new StringArgumentType
|
2017-06-29 10:31:14 +02:00 |
|
Nathan Adams
|
60c5770f5e
|
Exposed parse results a little easier. Make no distinction between "no permission" and "no command".
|
2017-06-28 16:34:52 +02:00 |
|
Nathan Adams
|
523e9d0236
|
Allow turning nodes back into builders without children
|
2017-06-28 15:09:19 +02:00 |
|
Nathan Adams
|
716e8f3f16
|
Two nodes at the same position that can both parse is no longer supported. Separated ERROR_UNKNOWN_COMMAND into ERROR_UNKNOWN_ARGUMENT
|
2017-06-28 13:16:02 +02:00 |
|
Nathan Adams
|
fbf3546f18
|
Fixed crash executing ""
|
2017-06-28 12:22:35 +02:00 |
|
Nathan Adams
|
e9a930c3b5
|
Added/optimized getInput methods to both builder and context
|
2017-06-28 11:15:30 +02:00 |
|
Nathan Adams
|
7d4dcc3e4b
|
Allow changing of a source after creation of a contextbuilder
|
2017-06-28 11:08:26 +02:00 |
|
Nathan Adams
|
e6b78a5f2a
|
Allow access to an unbuilt context, for caching parsed functions
|
2017-06-28 11:07:42 +02:00 |
|
Nathan Adams
|
bafe8e6b56
|
Made getArgument return the actual value, not a container object
|
2017-06-28 10:55:56 +02:00 |
|
Nathan Adams
|
8e3b29d22e
|
Split ParsedArgument into fixed or dynamic, added copy methods for caching contexts
|
2017-06-28 10:54:10 +02:00 |
|
Nathan Adams
|
3946b084a0
|
Commands should return an int success count
|
2017-06-27 15:34:42 +02:00 |
|
Nathan Adams
|
73015f87d2
|
Typo!
|
2017-06-27 13:08:39 +02:00 |
|
Nathan Adams
|
6575257e0d
|
Implemented permissions (predicate on each node)
|
2017-06-26 14:49:55 +02:00 |
|
Nathan Adams
|
014caa2905
|
Pass S (source type, was sometimes T) through to all nodes, so Command can have source type
|
2017-06-26 09:44:29 +02:00 |
|
Nathan Adams
|
f0f038b57a
|
Quote string replacements to avoid pattern issues
|
2017-06-22 09:35:33 +02:00 |
|
Nathan Adams
|
7ac8998e5a
|
Removed dependency on lang3
|
2017-06-22 09:34:30 +02:00 |
|
Nathan Adams
|
f372eb3b98
|
Added support for suggestions tabcompletions of a command input
|
2017-06-22 09:05:16 +02:00 |
|
Nathan Adams
|
eba88b2773
|
More cleanup
|
2017-06-21 14:36:17 +02:00 |
|
Nathan Adams
|
c2141ce38b
|
Code cleanup
|
2017-06-21 14:29:26 +02:00 |
|
Nathan Adams
|
400657b472
|
Removed findbugs jsr
|
2017-06-21 14:25:36 +02:00 |
|
Nathan Adams
|
e12ab0b6d8
|
Updated libraries
|
2017-06-21 14:21:15 +02:00 |
|
Nathan Adams
|
a4dca40ffb
|
Added gradle wrapper and updated to gradle 4
|
2017-06-21 14:11:41 +02:00 |
|
Nathan Adams
|
b6b684efc7
|
Extracted some hardcoded strings to constants
|
2014-10-13 12:18:42 +02:00 |
|
Nathan Adams
|
91559191b6
|
Added simple usage generation
|
2014-10-09 12:15:54 +02:00 |
|
Nathan Adams
|
b3703db535
|
Changed tests to ensure exceptions are of right type & right details
|
2014-10-03 12:45:19 +02:00 |
|
Nathan Adams
|
ef4199e824
|
Renamed project to 'Brigadier'
|
2014-10-02 13:00:29 +02:00 |
|
Nathan Adams
|
8c5338a6bd
|
Start of new exception system
|
2014-10-02 12:58:18 +02:00 |
|
Nathan Adams
|
29f99e8710
|
Implemented equals for CommandContext and ParsedArgument
|
2014-09-29 12:35:07 +02:00 |
|
Nathan Adams
|
2114f086cb
|
Added a 'source' for commands that may be passed around in the context
|
2014-09-29 12:18:40 +02:00 |
|
Nathan Adams
|
6a8d067cf9
|
Always try every route to find a matching command
|
2014-09-29 11:56:24 +02:00 |
|
Nathan Adams
|
4b6abf4084
|
Verify command merging in the dispatcher
|
2014-09-26 10:39:50 +02:00 |
|
Nathan Adams
|
82b576e38c
|
Implemented merging of CommandNode children
|
2014-09-25 17:21:26 +02:00 |
|
Nathan Adams
|
d8c9e15a1c
|
Made ArgumentBuilders use a RootCommandNode to hold their arguments
|
2014-09-25 16:36:45 +02:00 |
|
Nathan Adams
|
5760f94009
|
Add equality checking to each command node
|
2014-09-25 16:34:44 +02:00 |
|
Nathan Adams
|
f91bc15e19
|
Added a nice toString to IntegerArgumentType
|
2014-09-25 13:25:29 +02:00 |
|
Nathan Adams
|
fb92c2f3c8
|
Added & tested equals() and hashCode() in IntegerArgumentType
|
2014-09-25 13:18:11 +02:00 |
|
Nathan Adams
|
5136e3d103
|
Moved tests to correct location
|
2014-09-25 13:11:05 +02:00 |
|
Nathan Adams
|
78b9216eb4
|
Extracted " " into a constant for separating arguments
|
2014-09-25 10:38:59 +02:00 |
|
Nathan Adams
|
085f5b3d98
|
Added testParseSimilar testcase to LiteralCommandNode
|
2014-09-25 10:32:15 +02:00 |
|
Nathan Adams
|
d678a5cb21
|
Changed how parsing is done, performed by dispatcher and can now look as deep as needed
|
2014-09-24 17:12:06 +02:00 |
|
Nathan Adams
|
8da6087618
|
Changed the Runnable to a Command
|
2014-09-24 14:05:12 +02:00 |
|
Nathan Adams
|
81ed5f0521
|
Moved CommandArgumentParseResult to its own class
|
2014-09-24 13:53:23 +02:00 |
|
Nathan Adams
|
20357723df
|
Added command context and the ability to query arguments from it
|
2014-09-24 13:49:00 +02:00 |
|
Nathan Adams
|
d13587a4df
|
Made every CommandNode support an executor
|
2014-09-24 12:04:33 +02:00 |
|
Nathan Adams
|
3ef22ef317
|
Renamed CommandBuilder to LiteralArgumentBuilder
|
2014-09-24 11:57:12 +02:00 |
|
Nathan Adams
|
9585aaf0b3
|
Added ArgumentValidationException as separate from illegal syntax
|
2014-09-24 11:30:13 +02:00 |
|
Nathan Adams
|
0a71730bdc
|
Test for invalid child nodes
|
2014-09-22 15:34:15 +02:00 |
|
Nathan Adams
|
397ab17e64
|
When parsing nodes, return the deepest node we went into
|
2014-09-22 15:20:57 +02:00 |
|
Nathan Adams
|
8d164e4b66
|
Parse into nested arguments
|
2014-09-18 16:36:36 +02:00 |
|
Nathan Adams
|
a32243b704
|
Commands can be parsed, in a very limited way.
|
2014-09-18 11:48:03 +02:00 |
|
Nathan Adams
|
2b267a26f6
|
Store commands as nodes and execute them
|
2014-09-18 10:58:49 +02:00 |
|
Nathan Adams
|
4f20d02a97
|
Build stuff into nodes! They may not do anything, but it's node-tastic!
|
2014-09-17 15:30:49 +02:00 |
|
Nathan Adams
|
934ba3336f
|
Added commandbuilder.then() and argumentbuilder
|
2014-09-17 13:00:41 +02:00 |
|
Nathan Adams
|
dadedbb322
|
Just use a regular builder
|
2014-09-16 14:47:19 +02:00 |
|
Nathan Adams
|
c73607ba36
|
Super simple start
|
2014-09-16 12:08:15 +02:00 |
|
Nathan Adams
|
4801ab8dc9
|
Initial commit
|
2014-09-15 12:19:14 +02:00 |
|