tools icon indicating copy to clipboard operation
tools copied to clipboard

πŸ› LSP ignores `ignore`s

Open nstepien opened this issue 2 years ago β€’ 8 comments

Environment information

CLI:
  Version:              10.0.1
  Color support:        true

Platform:
  CPU Architecture:     x86_64
  OS:                   windows

Environment:
  ROME_LOG_DIR:         unset
  NO_COLOR:             unset
  TERM:                 unset

Rome Configuration:
  Status:               loaded
  Formatter disabled:   true
  Linter disabled:      false

Workspace:
  Open Documents:       0

Discovering running Rome servers...

Running Rome Server: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i The client isn't connected to any server but rage discovered this running Rome server.

Server:
  Version:              10.0.1
  Name:                 rome_lsp
  CPU Architecture:     x86_64
  OS:                   windows

Workspace:
  Open Documents:       0

Other Active Server Workspaces:

Workspace:
  Open Documents:       5
  Client Name:          Visual Studio Code
  Client Version:       1.73.1

Rome Server Log:

! Please review the content of the log file before sharing it publicly as it may contain sensitive information:
  * Path names that may reveal your name, a project name, or the name of your employer.
  * Source code

β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€141334249ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€141346149ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141346149ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€141346568ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(8)}
β”œβ”€β”˜
β”œβ”€141347250ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€141350661ms INFO tower_lsp::service::layers shutdown request received, shutting down
β”œβ”€141350661ms INFO tower_lsp::service::layers exit notification received, stopping
β”œβ”€141350694ms INFO rome_lsp::server Starting Rome Language Server...
β”œβ”€141350694ms INFO rome_lsp::server Attempting to load the configuration from 'rome.json' file
β”œβ”€141350694ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141350694ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(0)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(1)}
β”œβ”€β”˜
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(2)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141354385ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141355415ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€141360965ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141360965ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€141362667ms INFO tower_lsp::service::layers shutdown request received, shutting down
β”œβ”€141362668ms INFO tower_lsp::service::layers exit notification received, stopping
β”œβ”€141362696ms INFO rome_lsp::server Starting Rome Language Server...
β”œβ”€141362697ms INFO rome_lsp::server Attempting to load the configuration from 'rome.json' file
β”œβ”€141362697ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141362697ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(0)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(1)}
β”œβ”€β”˜
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(2)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141363573ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€141384096ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141384097ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Off), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Off), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141384731ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141385664ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€141388418ms INFO rome_service::configuration Attempting to load the configuration file at path "d:\\repo\\rome.json"
β”œβ”€β”rome_fs::fs::os::OsFile::read_to_string{}
β”œβ”€β”˜
β”œβ”€141388418ms INFO rome_lsp::session Configuration found, and it is valid!
β”œβ”€β”rome_lsp::session::update_workspace_settings{}
β”‚ β”œβ”€β”rome_service::workspace::server::update_settings{params=UpdateSettingsParams { configuration: Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) } }}
β”‚ β”‚ β”œβ”€β”rome_service::settings::merge_with_configuration{configuration=Configuration { files: None, formatter: Some(FormatterConfiguration { enabled: false, format_with_errors: false, indent_style: Space, indent_size: 2, line_width: LineWidth(80), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), linter: Some(LinterConfiguration { enabled: true, rules: Some(Rules { recommended: Some(false), a11y: Some(A11y { recommended: None, rules: {"noAutofocus": Plain(Off), "noPositiveTabindex": Plain(Warn), "useAltText": Plain(Warn), "useAnchorContent": Plain(Warn), "useBlankTarget": Plain(Warn), "useButtonType": Plain(Warn), "useKeyWithClickEvents": Plain(Off), "useKeyWithMouseEvents": Plain(Off), "useValidAnchor": Plain(Off)} }), complexity: Some(Complexity { recommended: None, rules: {"noExtraBooleanCast": Plain(Warn), "useSimplifiedLogicExpression": Plain(Off)} }), correctness: Some(Correctness { recommended: None, rules: {"noArguments": Plain(Warn), "noArrayIndexKey": Plain(Off), "noAsyncPromiseExecutor": Plain(Warn), "noCatchAssign": Plain(Warn), "noChildrenProp": Plain(Off), "noCommentText": Plain(Warn), "noCompareNegZero": Plain(Warn), "noDebugger": Plain(Warn), "noDelete": Plain(Warn), "noDoubleEquals": Plain(Warn), "noDupeArgs": Plain(Warn), "noEmptyPattern": Plain(Warn), "noFunctionAssign": Plain(Warn), "noImportAssign": Plain(Warn), "noLabelVar": Plain(Warn), "noMultipleSpacesInRegularExpressionLiterals": Plain(Warn), "noNewSymbol": Plain(Off), "noRenderReturnValue": Plain(Warn), "noRestrictedGlobals": Plain(Off), "noShadowRestrictedNames": Plain(Warn), "noSparseArray": Plain(Warn), "noUndeclaredVariables": Plain(Off), "noUnnecessaryContinue": Plain(Warn), "noUnreachable": Plain(Off), "noUnsafeNegation": Plain(Warn), "noUnusedVariables": Plain(Off), "noUselessFragments": Plain(Off), "noVoidElementsWithChildren": Plain(Warn), "useSingleCaseStatement": Plain(Off), "useValidTypeof": Plain(Warn), "useWhile": Plain(Warn)} }), nursery: None, security: Some(Security { recommended: None, rules: {"noDangerouslySetInnerHtml": Plain(Warn), "noDangerouslySetInnerHtmlWithChildren": Plain(Warn)} }), style: Some(Style { recommended: None, rules: {"noImplicitBoolean": Plain(Off), "noNegationElse": Plain(Off), "noShoutyConstants": Plain(Warn), "noUnusedTemplateLiteral": Plain(Warn), "useBlockStatements": Plain(Off), "useFragmentSyntax": Plain(Warn), "useOptionalChain": Plain(Warn), "useSelfClosingElements": Plain(Warn), "useShorthandArrayType": Plain(Warn), "useSingleVarDeclarator": Plain(Warn), "useTemplate": Plain(Warn)} }) }), ignore: Some({"./coverage/**/*", "./node_modules/**/*"}) }), javascript: Some(JavascriptConfiguration { formatter: Some(JavascriptFormatter { quote_style: Single, quote_properties: AsNeeded, trailing_comma: None }), globals: None }) }}
β”‚ β”‚ β”œβ”€β”˜
β”‚ β”œβ”€β”˜
β”œβ”€β”˜
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141392119ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(3)}
β”œβ”€β”˜
β”œβ”€141392899ms WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
β”œβ”€β”rome_js_parser::parse::parse{file_id=FileId(4)}
β”œβ”€β”˜
β”œβ”€141476185ms INFO rome_lsp::server Starting Rome Language Server...

What happened?

  1. Add ignore settings for both formatter and linter
  2. Open a file that should be ignored
  3. Rome will allow formatting/linting it in VSCode

Expected result

Rome's VSCode extension should respect the ignore settings in rome.json. The CLI works fine in that regard.

Code of Conduct

  • [X] I agree to follow Rome's Code of Conduct

nstepien avatar Nov 18 '22 14:11 nstepien

@nstepien I did the following to reproduce the issue in a workspace with a test.mjs file

Add file to formatter.ignore

  1. Open the file, make a change, hit save -> Rome reformats the file
  2. Add test.mjs to formatter.ignore
  3. Go back to the file, make more changes and hit save -> Rome does not format the file.

This seems to now be working with the latest preview: v0.19.20221125

Add file to linter.ignore

  1. Open the file and add if (2 == 3) {} -> Rome flags the use of ==
  2. Add test.mjs to linter.ignore
  3. Go back to the file -> Rome stills flags the error (@leops I thought we now issue a re-lint command when the settings change?)
  4. Reload the window
  5. Rome no longer flags the error.

So it seems that Rome isn't yet handling the configuration reload correctly.

Is Rome "ignoring" the ignored files even after reloading the window?

MichaReiser avatar Nov 25 '22 17:11 MichaReiser

Okay so I tested a little bit more,

  • Ignoring "test.js" works both in the cli and in vscode
    • That ignores all files named test.js
  • Ignoring "./test.js" works in the cli, but not in vscode
    • This applies to both the formatter and the linter
    • Only the test.js at the root is ignored (by the cli) as expected
  • Ignoring "./dist/**/*" or ".\\dist\\**\\*" works in the cli, but not in vscode
  • Ignoring "/dist/**/*" or "dist/**/*" does nothing
    • files under dist/ will still be formatted/checked.

I've properly tested after each config change by closing vscode, terminating the rome process, and reopening vscode. FWIW I'm on Windows, might be a path issue?

Tested with v0.19.20221125

nstepien avatar Nov 25 '22 17:11 nstepien

Go back to the file -> Rome stills flags the error

The lint will go away if you edit the file, but yes Rome shouldn't wait for a file update to re-check the file.

nstepien avatar Nov 25 '22 18:11 nstepien

@nstepien thanks for the detailed test report.

I noticed that using a glob like *.mjs works as expected but the ignore's stop working as soon as there is a folder prefix: src/*.mjs.

MichaReiser avatar Nov 26 '22 10:11 MichaReiser

I noticed that using a glob like *.mjs works as expected but the ignore's stop working as soon as there is a folder prefix: src/*.mjs.

Thanks for this comment; this has saved me a whole bunch of debugging time!

It would definitely be very handy if the behaviour matched the documentation in the hover text: Screenshot 2022-11-30 at 00 31 07

lgarron avatar Nov 30 '22 08:11 lgarron

@MichaReiser Out of curiosity, why is it scheduled for 12.0.0? Shouldn't this only require a bug fix in the VSCode extension, with no breaking change?

nstepien avatar Dec 02 '22 01:12 nstepien

@MichaReiser Out of curiosity, why is it scheduled for 12.0.0? Shouldn't this only require a bug fix in the VSCode extension, with no breaking change?

We're open to PRs fixing the issue as part of the 11 release scheduled for next Tuesday. I marked it as planned for the next release because it's unlikely that someone from the core team has time to fix it before then.

MichaReiser avatar Dec 02 '22 08:12 MichaReiser

For more context about this issue, this is related to the way we represent ignore patterns and file paths in the Rome toolchain as a whole. For patterns, these currently get directly turned into a simple string matching pattern (for instance the pattern ./src/* will only match the string ./src/test.js but not src/tests.js). At the other end of this, we have multiple representations being used for file paths. The CLI makes use of the paths provided on the command line as-is, which generally (but not necessarily) translates to relative paths: you can write rome format ./src ../test.js C:\Projects\test and each of these paths is going to be represented exactly as it was written in memory. During filesystem traversal operations, the path string that was originally provided to the CLI gets concatenated with the name of the files and directory that get discovered using the OS-specific separator: if you write rome format ./src on Windows the paths to the discovered files may look like ./src\dir\file.js. In the Language Server that's used by the VSCode extension however, the Language Server Protocol represents paths as URIs so the code is almost exclusively manipulating absolute paths in the form file:///c%3A/Projects/test (on Windows we can see the path separators are normalized to forward slashes, but the absolute path includes an OS-specific prefix). At the intersection of all this we have the ignore logic, that currently doesn't works as expected because of the lack of normalization at each end: paths coming from the LSP will almost never be ignored since ignore patterns are generally written as relative to the location of the configuration file while those paths are extracted from absolute URIs (so they won't match the pattern because it performs a strict match on a string), and paths coming from the CLI only work sometimes depending purely on whether the path was specified on the command line in the same way it's specified in the ignore pattern (the ignore pattern src/** will work with the command rome format src while the pattern ./src/** will work with rome format ./src, but the reverse is not true).

leops avatar Dec 07 '22 17:12 leops