Sounds like a plan From: Harbs<mailto:harbs.li...@gmail.com> Sent: Wednesday, September 28, 2022 9:21 PM To: Apache Royale Development<mailto:dev@royale.apache.org> Subject: Re: Introducing asformat
Yishay, I can work on it with you after Sukkot. Harbs > On Sep 28, 2022, at 9:16 PM, Yishay Weiss <yishayj...@hotmail.com> wrote: > > It’s great to see this progress. I expect to see as-linter replacing > SonarQube in our current project. Do you think it would be hard to integrate > it with GitHub actions? > > The –watch option is already being used and is a big productivity boost. > > I expect I’ll make use of asformat at some point as well. Thanks for all this > Josh. > > I may get some time at the end of this month to work on a release, but I > would prefer to do it with another volunteer, to share knowledge and add > redundancy. Also, I want to use the new Azure VM I created (Apache funded) > instead of Alex’s so we have redundancy in that respect as well. The VM > isn’t all set up yet so I will need to work on that. > > > > > > From: Josh Tynjala<mailto:joshtynj...@bowlerhat.dev > <mailto:joshtynj...@bowlerhat.dev>> > Sent: Wednesday, September 28, 2022 6:35 PM > To: dev@royale.apache.org > <mailto:dev@royale.apache.org><mailto:dev@royale.apache.org > <mailto:dev@royale.apache.org>> > Subject: Re: Introducing asformat > > 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 >> <https://apache.github.io/royale-docs/formatter>><https://apache.github.io/royale-docs/formatter%3e >> <https://apache.github.io/royale-docs/formatter%3e>> >>> >>> -- >>> 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/>