<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/main/command.go
Commit message (Collapse)AuthorAgeFilesLines
* Make state.path immutable so it can be a reference instead of copied, ↵Charlie Stanton2023-04-251-1/+1
| | | | improving performance
* Refines storing and loading to use ids generated when the subex is compiled ↵Charlie Stanton2023-04-251-3/+3
| | | | instead of the runes
* WalkItems are now made of Atoms instead of WalkValues, and I have rolled my ↵Charlie Stanton2023-04-241-16/+13
| | | | | | own JSON parser and serialiser These changes improve performance
* All registers are now lists of atoms instead of lists of valuesCharlie Stanton2023-04-211-14/+17
| | | | This is to reduce the amount of translating between them that needs to be done
* Changes the implementation of Atomise and Compound to no longer use goroutinesCharlie Stanton2023-04-211-10/+3
| | | | This results in a massive performance boost, ~4x speedup
* Replaces the inflexible delete all with separate DeleteValue and DeletePath ↵Charlie Stanton2023-04-201-3/+7
| | | | commands
* Adds a substitute path command: SCharlie Stanton2023-04-201-11/+32
|
* Remove filters and various commands that are no longer wantedCharlie Stanton2023-04-201-60/+0
| | | | These have all been made redundant by the incredible substitute command
* Add commands to append to and swap with the path and X registersCharlie Stanton2023-04-201-1/+25
|
* Upgrades the substitute command to also act as a filterCharlie Stanton2023-04-191-3/+8
| | | | Substitute now captures the command after it and only runs it if the substitution is a success
* Implements subex substitutions for the value registerCharlie Stanton2023-04-191-1/+17
|
* Replaces the workspace with 3 distinct registers: path, value and xregCharlie Stanton2023-04-191-24/+25
| | | | | | workspace contained a list of WalkItems, pairs of paths and values. The new system can still hold a list of values but only one path, which is in itself a list of values. The X register is miscellaneous. All 3 hold a list of values (which are JSON tokens)
* Adds parsing substitute commands, though executing them currently does nothingCharlie Stanton2023-04-191-0/+8
|
* Move JSON serialising, deserialising and walking code into a separate packageCharlie Stanton2023-02-191-18/+22
|
* Adds some new commandsCharlie Stanton2022-09-211-4/+16
|
* Refactors some stuff and adds lexing and parsingCharlie Stanton2022-08-261-15/+69
|
* Initial commitCharlie Stanton2022-08-231-0/+38
No parsing yet, but the execution is not bad Commands: - Print value - Toggle terminal (switch between array and map) - Filter command Filters: - Path filter Path filters are compiled from a regex like AST