The formatter and linter are documented. I'll make sure that the other things are too.
-- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Wed, Sep 28, 2022 at 11:31 AM Andrew Wetmore <cottag...@gmail.com> wrote: > Have we got documentation for all these new features, and how-tos for > deploying them? > > On Wed, Sep 28, 2022 at 12:36 PM Josh Tynjala <joshtynj...@bowlerhat.dev> > wrote: > > > A new release sounds good to me! I just updated the compiler release > notes, > > and there's a decent amount of stuff to be included. Not just these > > formatter improvements, but also the new linter, headless JS RoyaleUnit > > tests with Playwright, and the --watch compiler option are all new since > > the last release. > > > > -- > > Josh Tynjala > > Bowler Hat LLC <https://bowlerhat.dev> > > > > > > On Wed, Sep 28, 2022 at 6:45 AM Harbs <harbs.li...@gmail.com> wrote: > > > > > That’s great! > > > > > > This is a good reason to get another release out… :-) > > > > > > Harbs > > > > > > > On Sep 28, 2022, at 12:24 AM, Josh Tynjala < > joshtynj...@bowlerhat.dev> > > > wrote: > > > > > > > > I just wanted to follow up by mentioning that I recently added the > > > ability for the formatter load configuration files, in addition to the > > > existing command line options. It will automatically detect an > > > asformat-config.xml file in the current working directory, allowing you > > to > > > easily specify configuration options for a specific project. You can > also > > > use a new -load-config option to load a configuration file from any > path, > > > not just the current working directory. You can use > > -skip-local-config-file > > > to ignore the asformat-config.xml file. > > > > > > > > Once we release the next Royale update, I plan to make vscode-as3mxml > > > automatically detect the asformat-config.xml file too, so you will be > > able > > > to configure formatting options for both the command line and VSCode at > > the > > > same time. > > > > > > > > I also updated the Royale documentation to add a section for the > > > formatter: > > > > > > > > https://apache.github.io/royale-docs/formatter < > > > https://apache.github.io/royale-docs/formatter> > > > > > > > > -- > > > > Josh Tynjala > > > > Bowler Hat LLC <https://bowlerhat.dev/> > > > > > > > > > > > > On Wed, Sep 22, 2021 at 10:42 AM Josh Tynjala < > > joshtynj...@bowlerhat.dev > > > <mailto:joshtynj...@bowlerhat.dev>> wrote: > > > > Hey everyone, > > > > > > > > I recently created asformat, which is a formatter for ActionScript > > code. > > > It is based on the Royale compiler's lexer that creates a stream of > > tokens. > > > One nice thing about working with the token stream versus a full AST > > > (Abstract Syntax Tree) is that it's easier to keep track of existing > > > whitespace to preserve it where appropriate. > > > > > > > > In addition to command line usage, this formatter is intended to > > > eventually be used by IDEs/editors, such as VSCode and Moonshine. > > > > > > > > You can find asformat in nightly builds for now. I'm still testing it > > > with existing codebases, but I wanted to share my progress so that > others > > > could check it out, if interested. > > > > > > > > Usage: > > > > > > > > Format a file, and write it back to the file system: > > > > > > > > asformat --write-files src/com/example/MyClass.as > > > > > > > > Alternatively, format all .as files in a directory: > > > > > > > > asformat --write-files src > > > > > > > > Options: > > > > > > > > --write-files: Writes the formatting changes back to the original > > files. > > > If a file has no formatting changes, it will not be modified. Alias: > -w. > > > Default: false. > > > > > > > > --list-files: Lists the files that have been changed by formatting. > If > > a > > > file has no formatting changes, it won't be listed. Alias: -l. Default: > > > false. > > > > > > > > --insert-spaces: Indents with spaces instead of tabs. (Default: > false) > > > > > > > > --tab-width: The width of tabs when insert-spaces is specified. > > > (Default: 4) > > > > > > > > --insert-final-new-line: Adds a final empty line at the end of the > > file, > > > if one doesn't exist already. (Default: false) > > > > > > > > --open-brace-new-line: Controls whether an opening curly brace is > > placed > > > on a new line, or is "cuddled" on the current line. (Default: true) > > > > > > > > --insert-space-for-loop-semicolon: Controls whether a space is > inserted > > > after the semicolons in a for() loop. (Default: true) > > > > > > > > --insert-space-control-flow-keywords: Controls whether a space is > > > inserted between control flow keywords (like if, for, while) and the > > > following ( open parenthesis. (Default: true) > > > > > > > > --insert-space-anonymous-function-keyword: Controls whether a space > is > > > inserted between the function keyword and the following ( open > > parenthesis, > > > if the function is anonymous (if it doesn't have a name). (Default: > > false) > > > > > > > > --insert-space-binary-operators: Controls whether a space is inserted > > > before and after binary operators (like +, -, *, /, &&, ||, etc.) > > (Default: > > > true) > > > > > > > > --insert-space-comma-delimiter: Controls whether a space is inserted > > > after comma delimiters in Object and Array literals. (Default: true) > > > > > > > > --collapse-empty-blocks: Controls whether empty blocks are collapsed > so > > > that the opening and closing curly brace are both on the same line or > > not. > > > (Default: false) > > > > > > > > --max-preserve-new-lines: Specify the maximum number of new line > > > characters that are allowed to appear consecutively. (Default: 2) > > > > > > > > --semicolons: Controls how semicolons are handled. Valid values are > > > insert, remove, and ignore. Insert means that missing semicolons are > > > inserted. Remove means that all semicolons are removed, and ignore > means > > > that there is no change to semicolons in the file. (Default: insert) > > > > > > > > Additional notes: > > > > > > > > If neither --write-files nor --list-files is specified, the formatted > > > source code is written to standard output instead. > > > > > > > > If no files are specified, asformat waits for standard input instead. > > > > > > > > -- > > > > Josh Tynjala > > > > Bowler Hat LLC <https://bowlerhat.dev/> > > > > > > > > > > > -- > Andrew Wetmore > > Editor, Moose House Publications <https://moosehousepress.com/> > Editor-Writer, The Apache Software Foundation <https://apache.org/> >