As long as scalafmt covers everything editconfig supports and the
popular IDE's support it, we'd probably get better results for our scala
files. But I assume scalafmt won't cover other files like
XML/schema/tdml/text files. We might need a combination of the two to
cover all files?

See https://issues.apache.org/jira/browse/DAFFODIL-2133 for related issue.

- Steve

On 4/19/21 11:37 AM, Adam Rosien wrote:
> As a Scala project, however, how about using Scalafmt? [1] It's become
> standard in all the projects I've been involved with; it's supported by the
> language creators and matches the previously mentioned features.
> 
> .. Adam
> 
> [1] https://scalameta.org/scalafmt/
> 
> On Mon, Apr 19, 2021 at 8:20 AM Interrante, John A (GE Research, US) <
> john.interra...@ge.com> wrote:
> 
>> I agree, an .editorconfig file at the root of daffodil coupled with IDE
>> plugins (some IDEs such as IDEA already support .editorconfig without any
>> plugin needed) could autoconfigure the following IDE settings automatically
>> (if we felt we needed to specify all of these settings):
>>
>> root = true
>> # All files (risky - could change bin/dat files inadvertently)
>> [*]
>> end_of_line = lf
>> charset = utf-8
>> trim_trailing_whitespace = true
>> insert_final_newline = true
>> indent_style = space
>> indent_size = 2
>> # Can narrow scope to only source code files
>> [*.{java,scala,xml}]
>> indent_style = space
>> indent_size = 2
>>
>> EditorConfig plugins format only newly typed lines with these settings;
>> they do not reformat existing files, meaning only files actually changed by
>> one's commit will be affected by these settings.  There are separate
>> command-line tools that can check, infer, or fix EditorConfig rules across
>> one or more directories/files in a repository manually.  I think using one
>> of these tools such as eclint would be essential for writing a proper
>> .editorconfig that narrows its scope as much as possible (e.g., we don't
>> want to change existing bin or dat or tdml files inadvertently when editing
>> a single character within them in Emacs or IDEA because many of them use
>> other charsets and are not source code).
>>
>> There's a nice long list of projects already using EditorConfig with links
>> to their .editorconfig files.  We also can look for similar projects to
>> Daffodil to see how they scope their .editorconfig rules for their own
>> files, but again, using "eclint infer" and "eclint check" seems the safest
>> way to me.
>>
>> John
>>
>> -----Original Message-----
>> From: Beckerle, Mike <mbecke...@owlcyberdefense.com>
>> Sent: Monday, April 19, 2021 9:56 AM
>> To: dev@daffodil.apache.org
>> Subject: EXT: editconfig
>>
>> https://editorconfig.org/
>>
>> This is interesting and we should consider adding these files to the root
>> of daffodil both as a declaration of the code-style, and a way that
>> auto-configures many IDEs and tools (like github).
>>
>> This does not appear to be sophisticated enough to really cover code-style
>> issues at all, but at least basic whitespace stuff like spaces not tabs,
>> 2-space indenting, etc. would be covered.
>>
>>
>>
> 

Reply via email to