Releases: demonnic/muddler
Run muddler with -w to watch for file changes
What's Changed
- add watch option to automatically rebuild on source file modification by @krystophv in #35
-w
or--watch
flag to muddler to turn this on.
New Contributors
- @krystophv made their first contribution in #35
Full Changelog: 1.0.3...1.1.0
Another missing keycode
They found another one! This release adds support for |
in keys. Minor change.
Add handling for 'Space' in keybindings
It was brought to my attention that muddler couldn't handle keybindings for 'space' so I added it.
Minor bugfix for Windows
Windows cmd and powershell should work properly now
Due to an inconsistency in my code, and forgetting that Windows is UTF-16 by default, incorrect packages were being created which did not contain the proper directory structure or contents when running muddler from the distribution zip on Windows.
This release ensures the file is written as UTF-8 and that the proper path separator is used on all platforms.
1.0.0 release! Objects in the package root, scripts in the folders, and an alternate filter token set
Whaaaaat?! 1.0.0??
Yeeeeah, muddler's been used by enough people in packages they're actually distributing now that it's probably over due, and with this release I feel like some of the biggest hurdles to 1.0.0 have been cleared, so... just going to bite the bullet and release 1.0.0 now!
New alternatives to @PKGNAME@ and @Version@
Thanks to @wbk you can now use __PKGNAME__
and __VERSION__
as the tokens for filtering this information into your code. This should hopefully help reduce the number of 'errors' being reported by the lua language server in your IDE of choice, since __PKGNAME__
etc are valid Lua variable identifiers.
Create items which aren't in a subfolder!
Also thanks to @wbk you can now define items outside of a subfolder, in the root of the object type. For instance, the file layout
src/triggers
src/triggers/Bar.lua
src/triggers/Foo.lua
src/triggers/FooBar
src/triggers/FooBar/Beep.lua
src/triggers/FooBar/triggers.json
src/triggers/triggers.json
Used to produce a package which looked like this:
But now it correctly produces a package which looks like this:
Add lua code to your folders
Another often asked about feature, you can now add code to your folders. So for instance if you want a folder in your scripts called "Initialize" which contained variable initialization for the items contained within you, you can now add that code to a lua file of the same name. So to continue the same example, you would add Initialize.lua to the Initialize folder, like so:
src/scripts/Initialize/scripts.json
src/scripts/Initialize/Initialize.lua
Adds project generation options to muddler
This release will create a buildable muddler file tree for you to help you get started with muddler. It adds two new switches to the muddle command.
muddle --generate
- This will ask you a series of questions and build out the project based on your responses.
muddle --default
- This will generate a project named TemplateProject in the TemplateProject directory, with all the example objects (triggers, aliases, etc) and all default options selected for everything else.
Both options will generate the mfile, and a README.md file. Additionally, generate will give you the option to generate the following things (default generates the lot):
- triggers
- aliases
- keybindings
- scripts
- timers
- a .gitignore file
Several minor updates and infrastructure changes
This update doesn't bring much in the way of new functionality, but it does fix some bugs and increase jdk compatibility.
Bugs fixed:
- muddler now checks for a src directory before actually making any changes. (#25)
- muddler now ensures the write buffer for the XML is flushed before moving on. (#26)
Compatibility improvements:
- Now using latest stable Groovy (4.0.3)
- gradle bump
- remove usage of
.size
property on ArrayLists, which is not supported in later JDKs - tested working with JDKs 8, 11, 17, and 18
- docker image built using eclipse-temurin jdk 18, as adoptopenjdk seems to no longer be supported.
Smooth out pathing issues for the CI bridge
Since Lua (and thus Mudlet) can handle its paths with /
on all three operating systems, I've standardized muddler and the muddler ci bridge to use that for its path delimiter in the .output file and file watches. This way we don't have to worry about escaping the \
if it is the file separator, and that it should just work no matter what OS you run it on.
If you already have one setup using \
as the file separator it'll sub it out internally, no worries.
Add version information to build output, and basic CLI argument parsing
Just a couple small changes for this one. Muddler will now include the version of muddler being used in its build output.
It also now parses command line arguments. Just -h|--help
for usage and -v|--version
to print the version and exit at the moment but this was necessary to set the stage for future functionality anyway, and it's honestly past time I added these two switches.
I also set the muddle
shell wrapper around using the docker implementation to autopull the latest image if necessary
Fix function keys, increased compatibility for the CI bridge
F keys
Found a bug during a presentation today which caused the F1-F18 keys to not be properly converted. This resolves that issue.
CI Bridge
The Muddler mpackage for use in automating reinstall of packages/etc has been updated under the covers to use relative pathing instead of full. This will make using muddler in WSL work with running Mudlet in windows over docker/etc. Your path would still be "C:/Users/demonnic/gitbox/MDK"
for instance, but it should now work regardless of how you ran muddler as long as Mudlet can find the path.
No changes should be required on your end for this, it should "Just Work".