jcberquist / commandbox-cfformat

A CommandBox module for formatting CFML component files.
MIT License
21 stars 10 forks source link

Static method calls in function calls are broken by formatting #128

Closed sbleon closed 2 years ago

sbleon commented 2 years ago

Input:

component {

  func(object::staticMethod());

}

Output:

component {

  func(object: :staticMethod());

}

The space inserted between the two colons is unwanted.

Workaround: add parens around static call

component {

  func((object::staticMethod()));

}

Config:

{
  "alignment.consecutive.assignments": false,
  "alignment.consecutive.params": false,
  "alignment.consecutive.properties": false,
  "array.empty_padding": false,
  "array.multiline.comma_dangle": false,
  "array.multiline.element_count": 4,
  "array.multiline.leading_comma": false,
  "array.multiline.leading_comma.padding": true,
  "array.multiline.min_length": 40,
  "array.padding": false,
  "binary_operators.padding": true,
  "brackets.padding": false,
  "comment.asterisks": "align",
  "for_loop_semicolons.padding": true,
  "function_anonymous.empty_padding": false,
  "function_anonymous.group_to_block_spacing": "spaced",
  "function_anonymous.multiline.comma_dangle": false,
  "function_anonymous.multiline.element_count": 4,
  "function_anonymous.multiline.leading_comma": false,
  "function_anonymous.multiline.leading_comma.padding": true,
  "function_anonymous.multiline.min_length": 40,
  "function_anonymous.padding": false,
  "function_anonymous.spacing_to_group": false,
  "function_call.casing.builtin": "pascal",
  "function_call.casing.userdefined": "camel",
  "function_call.empty_padding": false,
  "function_call.multiline.comma_dangle": false,
  "function_call.multiline.element_count": 4,
  "function_call.multiline.leading_comma": false,
  "function_call.multiline.leading_comma.padding": true,
  "function_call.multiline.min_length": 40,
  "function_call.padding": false,
  "function_declaration.empty_padding": false,
  "function_declaration.group_to_block_spacing": "spaced",
  "function_declaration.multiline.comma_dangle": false,
  "function_declaration.multiline.element_count": 4,
  "function_declaration.multiline.leading_comma": false,
  "function_declaration.multiline.leading_comma.padding": true,
  "function_declaration.multiline.min_length": 40,
  "function_declaration.padding": false,
  "function_declaration.spacing_to_group": true,
  "indent_size": 2,
  "keywords.block_to_keyword_spacing": "spaced",
  "keywords.empty_group_spacing": false,
  "keywords.group_to_block_spacing": "spaced",
  "keywords.padding_inside_group": false,
  "keywords.spacing_to_block": "spaced",
  "keywords.spacing_to_group": true,
  "max_columns": 120,
  "metadata.multiline.element_count": 4,
  "metadata.multiline.min_length": 40,
  "method_call.chain.multiline": 5,
  "newline": "os",
  "parentheses.padding": false,
  "property.multiline.element_count": 4,
  "property.multiline.min_length": 40,
  "strings.attributes.quote": "single",
  "strings.convertNestedQuotes": false,
  "strings.quote": "ignored",
  "struct.empty_padding": false,
  "struct.multiline.comma_dangle": false,
  "struct.multiline.element_count": 4,
  "struct.multiline.leading_comma": false,
  "struct.multiline.leading_comma.padding": true,
  "struct.multiline.min_length": 40,
  "struct.padding": true,
  "struct.quote_keys": false,
  "struct.separator": ": ",
  "tab_indent": false,
  "tags.lowercase": true
}