Skip to content

linter: unicorn/filename-case doesn't register changing case on windows #12404

@FunctionDJ

Description

@FunctionDJ

What version of Oxlint are you using?

1.7.0

What command did you run?

VSCode extension only, doesn't happen with CLI

What does your .oxlintrc.json config file look like?

{
  "categories": {
    "correctness": "error",
    "suspicious": "error",
    "pedantic": "error",
    "perf": "error",
    "restriction": "error",
    "style": "error"
  },
  "rules": {
    "oxc/no-async-await": "off",
    "eslint/no-console": "off",
    "eslint/yoda": "error",
    "unicorn/filename-case": "error",
    "eslint/no-magic-numbers": "off",
    "unicorn/number-literal-case": "off",
    "unicorn/no-null": "off",
    "eslint/max-params": "off",
    "eslint/no-await-in-loop": "off",
    "unicorn/numeric-separators-style": "off"
  }
}

What happened?

I previously had a file named Ticket.ts. Oxlint notified me that this doesn't abide my unicorn/filename-case setting, this is a correct report.

I renamed the file to ticket.ts but the issue is still being reported.

I assume this could be due to how Windows / NTFS handles filename cases. The oxlint trace shows the parsed file as Ticket.ts.

Full unedited content from the `Output` panel while having `ticket.ts` open and restarting Oxc once

2025-07-20 12:09:41.690 [info] [Trace - 12:09:41 PM] Sending request 'shutdown - (1)'.
2025-07-20 12:09:41.692 [info] [Trace - 12:09:41 PM] Received notification 'textDocument/publishDiagnostics'.
2025-07-20 12:09:41.692 [info] Params: {
    "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/Ticket.ts",
    "diagnostics": []
}


2025-07-20 12:09:41.692 [info] [Trace - 12:09:41 PM] Received notification 'textDocument/publishDiagnostics'.
2025-07-20 12:09:41.692 [info] Params: {
    "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/ciosmaps-schema.ts",
    "diagnostics": []
}


2025-07-20 12:09:41.692 [info] [Trace - 12:09:41 PM] Received response 'shutdown - (1)' in 1ms.
2025-07-20 12:09:41.692 [info] No result returned.


2025-07-20 12:09:41.692 [info] [Trace - 12:09:41 PM] Sending notification 'exit'.
2025-07-20 12:09:41.692 [info] No parameters provided.


2025-07-20 12:09:41.697 [info] [Trace - 12:09:41 PM] Sending request 'initialize - (0)'.
2025-07-20 12:09:41.698 [info] Params: {
    "processId": 10120,
    "clientInfo": {
        "name": "VSCodium",
        "version": "1.102.0"
    },
    "locale": "en",
    "rootPath": "c:\\Users\\Function\\Desktop\\jankbox",
    "rootUri": "file:///c%3A/Users/Function/Desktop/jankbox",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": true
                }
            },
            "configuration": true,
            "didChangeWatchedFiles": {
                "dynamicRegistration": true,
                "relativePatternSupport": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "resolveSupport": {
                    "properties": [
                        "location.range"
                    ]
                }
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "workspaceFolders": true,
            "foldingRange": {
                "refreshSupport": true
            },
            "semanticTokens": {
                "refreshSupport": true
            },
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            },
            "inlineValue": {
                "refreshSupport": true
            },
            "inlayHint": {
                "refreshSupport": true
            },
            "diagnostics": {
                "refreshSupport": true
            }
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "insertReplaceSupport": true,
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    },
                    "labelDetailsSupport": true
                },
                "insertTextMode": 2,
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                },
                "completionList": {
                    "itemDefaults": [
                        "commitCharacters",
                        "editRange",
                        "insertTextFormat",
                        "insertTextMode",
                        "data"
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    },
                    "activeParameterSupport": true
                },
                "contextSupport": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                },
                "honorsChangeAnnotations": true
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true,
                "rangesSupport": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true,
                "prepareSupportDefaultBehavior": 1,
                "honorsChangeAnnotations": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true,
                "foldingRangeKind": {
                    "valueSet": [
                        "comment",
                        "imports",
                        "region"
                    ]
                },
                "foldingRange": {
                    "collapsedText": false
                }
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "operator",
                    "decorator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false,
                "serverCancelSupport": true,
                "augmentsSyntaxTokens": true
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            },
            "typeHierarchy": {
                "dynamicRegistration": true
            },
            "inlineValue": {
                "dynamicRegistration": true
            },
            "inlayHint": {
                "dynamicRegistration": true,
                "resolveSupport": {
                    "properties": [
                        "tooltip",
                        "textEdits",
                        "label.tooltip",
                        "label.location",
                        "label.command"
                    ]
                }
            },
            "diagnostic": {
                "dynamicRegistration": true,
                "relatedDocumentSupport": false
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            },
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "1.1.0"
            },
            "positionEncodings": [
                "utf-16"
            ]
        },
        "notebookDocument": {
            "synchronization": {
                "dynamicRegistration": true,
                "executionSummarySupport": true
            }
        }
    },
    "initializationOptions": [
        {
            "workspaceUri": "file:///c%3A/Users/Function/Desktop/jankbox",
            "options": {
                "run": "onType",
                "configPath": null,
                "unusedDisableDirectives": "allow",
                "flags": {}
            }
        }
    ],
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///c%3A/Users/Function/Desktop/jankbox",
            "name": "jankbox"
        }
    ]
}


2025-07-20 12:09:41.698 [info] [Error - 12:09:41 PM] Server process exited with code 0.
2025-07-20 12:09:41.711 [info] [2025-07-20T10:09:41Z INFO  oxc_language_server] initialize: Some([WorkspaceOption { workspace_uri: Uri(Uri { scheme: Some("file"), authority: Some(Authority { userinfo: None, host: Host { text: "", data: RegName("") }, port: None }), path: "/c%3A/Users/Function/Desktop/jankbox", query: None, fragment: None }), options: Options { run: OnType, config_path: None, unused_disable_directives: Allow, flags: {} } }])
[2025-07-20T10:09:41Z INFO  oxc_language_server] language server version: 1.7.0

2025-07-20 12:09:41.726 [info] [Trace - 12:09:41 PM] Received response 'initialize - (0)' in 28ms.
2025-07-20 12:09:41.726 [info] Result: {
    "capabilities": {
        "textDocumentSync": {
            "openClose": true,
            "change": 1,
            "save": {
                "includeText": false
            }
        },
        "codeActionProvider": {
            "codeActionKinds": [
                "quickfix",
                "source.fixAll.oxc"
            ]
        },
        "executeCommandProvider": {
            "commands": [
                "oxc.fixAll"
            ]
        },
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            }
        }
    },
    "serverInfo": {
        "name": "oxc",
        "version": "1.7.0"
    }
}


2025-07-20 12:09:41.726 [info] [Trace - 12:09:41 PM] Sending notification 'initialized'.
2025-07-20 12:09:41.726 [info] Params: {}


2025-07-20 12:09:41.727 [info] [Trace - 12:09:41 PM] Sending notification 'textDocument/didOpen'.
2025-07-20 12:09:41.727 [info] Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/ciosmaps-schema.ts",
        "languageId": "typescript",
        "version": 275,
        "text": "import { XMLParser } from \"fast-xml-parser\";\r\nimport { z } from \"zod/v4\";\r\n\r\ninterface Zodable {\r\n  att: Record<string, string>;\r\n  children: Record<string, Zodable[]>;\r\n}\r\n\r\nconst elementToZodable = (element: Element): Zodable => {\r\n  const att: Record<string, string> = {};\r\n\r\n  for (const attName of element.getAttributeNames()) {\r\n    const attVal = element.getAttribute(attName);\r\n\r\n    if (attVal !== null) {\r\n      att[attName] = attVal;\r\n    }\r\n  }\r\n\r\n  const children: Record<string, Zodable[]> = {};\r\n\r\n  for (const child of element.children) {\r\n    if (child.tagName in children) {\r\n      children[child.tagName] = [elementToZodable(child)];\r\n    } else {\r\n      children[child.tagName].push(elementToZodable(child));\r\n    }\r\n  }\r\n\r\n  return { att, children };\r\n};\r\n\r\nconst byteStringSchema = z\r\n  .string()\r\n  .transform((byteString): number => Number.parseInt(byteString, 16));\r\n\r\nconst byteListSchema = z.string().transform((byteListString): Uint8Array => {\r\n  const bytes = byteListString\r\n    .split(\",\")\r\n    .map((byteString): number => byteStringSchema.parse(byteString));\r\n\r\n  return Uint8Array.from(bytes);\r\n});\r\n\r\nconst patchSchema = z.object({\r\n  att: z.object({\r\n    newbytes: byteListSchema,\r\n    offset: byteStringSchema,\r\n    originalbytes: byteListSchema,\r\n    size: z.coerce.number(),\r\n  }),\r\n});\r\n\r\nconst contentSchema = z.object({\r\n  att: z.object({\r\n    id: byteStringSchema,\r\n    module: z.string().optional(),\r\n    patchscount: z.coerce.number().optional(),\r\n    tmdmoduleid: z.coerce.number().optional(),\r\n  }),\r\n  children: z.object({\r\n    patch: z.array(patchSchema),\r\n  }),\r\n});\r\n\r\nexport type Content = z.infer<typeof contentSchema>;\r\n\r\nconst baseSchema = z.object({\r\n  att: z.object({\r\n    contentscount: z.coerce.number(),\r\n    ios: z.coerce.number(),\r\n    modulescount: z.coerce.number(),\r\n    version: z.coerce.number(),\r\n  }),\r\n  children: z.object({\r\n    content: z.array(contentSchema),\r\n  }),\r\n});\r\n\r\nexport type Base = z.infer<typeof baseSchema>;\r\n\r\nconst ciosgroupSchema = z.object({\r\n  att: z.object({\r\n    basescount: z.coerce.number(),\r\n    name: z.string(),\r\n    version: z.string(),\r\n  }),\r\n  children: z.object({\r\n    base: z.array(baseSchema),\r\n  }),\r\n});\r\n\r\nconst ciosmapsSchema = z.object({\r\n  att: z.object({\r\n    ciosgroupscount: z.coerce.number(),\r\n  }),\r\n  children: z.object({\r\n    ciosgroup: z.array(ciosgroupSchema),\r\n  }),\r\n});\r\n\r\ntype CiosMaps = z.infer<typeof ciosmapsSchema>;\r\n\r\nexport const parseXML = (xmlString: string): CiosMaps => {\r\n  if (!(\"DOMParser\" in globalThis)) {\r\n    const parser = new XMLParser({\r\n      attributesGroupName: \"att\",\r\n      ignoreAttributes: false,\r\n      isArray: (): boolean => true\r\n    });\r\n\r\n    const obj = parser.parse(xmlString)\r\n  }\r\n  const document = new globalThis.DOMParser().parseFromString(\r\n    xmlString,\r\n    \"text/xml\",\r\n  );\r\n  const zodable = elementToZodable(document.documentElement);\r\n  return ciosmapsSchema.parse(zodable);\r\n};\r\n"
    }
}


2025-07-20 12:09:41.727 [info] [Trace - 12:09:41 PM] Sending notification 'textDocument/didOpen'.
2025-07-20 12:09:41.727 [info] Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/Ticket.ts",
        "languageId": "typescript",
        "version": 2889,
        "text": "import { ABW } from \"../src/preload/nus/array-buffer-wrapper.ts\";\r\nimport { commonKeys } from \"./common-keys.ts\";\r\nimport { titleCrypto } from \"./crypto.ts\";\r\n\r\ninterface TitleLimit {\r\n  limit_type: number;\r\n  maximum_usage: number;\r\n}\r\n\r\nexport class Ticket {\r\n  commonKey = commonKeys.common;\r\n  /** TID/IV used for AES-CBC encryption. */\r\n  titleId;\r\n  /** The title key of the ticket's respective title, encrypted by a common key. */\r\n  titleKeyEncrypted;\r\n  private signature;\r\n  private unknown2;\r\n  private signatureType;\r\n  private signatureIssuer;\r\n  private ecdhData;\r\n  private ticketVersion: number;\r\n  private ticketId;\r\n  private consoleId;\r\n  private unknown1;\r\n  private titleVersion;\r\n  private permittedTitles;\r\n  private permitMask;\r\n  private titleExportAllowed;\r\n  private commonKeyIndex;\r\n  private contentAccessPermissions;\r\n  private titleLimitsList;\r\n\r\n  constructor(buf: ABW) {\r\n    const view = new DataView(buf.buf.buffer);\r\n\r\n    this.signatureType = buf.read(0, 4);\r\n    this.signature = buf.read(4, 256);\r\n    this.signatureIssuer = buf.read(0x140, 64);\r\n    this.ecdhData = buf.read(0x180, 60);\r\n    this.ticketVersion = view.getUint8(0x1bc);\r\n\r\n    if (this.ticketVersion !== 0) {\r\n      throw new Error(\"Only v0 tickets are supported\");\r\n    }\r\n\r\n    this.titleKeyEncrypted = buf.read(0x1bf, 16);\r\n    this.ticketId = buf.read(0x1d0, 8);\r\n    this.consoleId = view.getInt32(0x1d8);\r\n    this.titleId = buf.read(0x1dc, 8);\r\n    this.unknown1 = buf.read(0x1e4, 2);\r\n    this.titleVersion = view.getUint16(0x1e6);\r\n    this.permittedTitles = buf.read(0x1e8, 4);\r\n    this.permitMask = buf.read(0x1ec, 4);\r\n    this.titleExportAllowed = view.getUint8(0x1f0);\r\n    this.commonKeyIndex = view.getUint8(0x1f1);\r\n    this.unknown2 = buf.slice(0x1f2, 48);\r\n    this.contentAccessPermissions = buf.slice(0x222, 64);\r\n\r\n    // TODO unsure about this implementation! libWiiPy is weird here\r\n    this.titleLimitsList = Array.from({ length: 8 }).map(\r\n      (_blank, index): TitleLimit => ({\r\n        limit_type: view.getUint32(0x264 + index * 8),\r\n        maximum_usage: view.getUint32(0x264 + 4 + index * 8),\r\n      }),\r\n    );\r\n\r\n    const issuerText = new TextDecoder().decode(this.signatureIssuer.buf);\r\n\r\n    if (\r\n      issuerText.includes(\"Root-CA00000002-XS00000006\") ||\r\n      issuerText.includes(\"Root-CA00000002-XS00000004\")\r\n    ) {\r\n      throw new Error(\"dev tickets not supported yet\");\r\n    }\r\n  }\r\n\r\n  async getTitleKey(): Promise<ABW> {\r\n    return await titleCrypto(\"decrypt\", {\r\n      data: this.titleKeyEncrypted,\r\n      iv: this.titleId.pad(16),\r\n      key: this.commonKey,\r\n    });\r\n  }\r\n\r\n  async fakeSign(): Promise<void> {\r\n    this.signature = new ABW(new Uint8Array(256));\r\n    let currentInt = 0;\r\n    let testHash = new ABW();\r\n\r\n    while (testHash.buf[0] !== 0x00 && testHash.buf[1] !== 0x00) {\r\n      currentInt += 1;\r\n      this.unknown2 = ABW.fromInt(2, currentInt).concatenate(\r\n        this.unknown2.slice(2),\r\n      );\r\n\r\n      // oxlint-disable-next-line no-await-in-loop\r\n      const sha1 = await this.dump().sha1();\r\n      testHash = sha1.slice(320);\r\n      // TODO overflow check?\r\n    }\r\n  }\r\n\r\n  dump(): ABW {\r\n    const signaturePart = this.signatureType.concatenate(this.signature);\r\n\r\n    return signaturePart\r\n      .pad(64)\r\n      .concatenate(\r\n        this.signatureIssuer.pad(64),\r\n        this.ecdhData,\r\n        ABW.fromInt(1, this.ticketVersion),\r\n        ABW.fromInt(2, 0),\r\n        this.titleKeyEncrypted,\r\n        ABW.fromInt(1, 0),\r\n        this.ticketId,\r\n        ABW.fromInt(this.consoleId, 4),\r\n        this.titleId,\r\n        this.unknown1,\r\n        ABW.fromInt(2, this.titleVersion),\r\n        this.permittedTitles,\r\n        this.permitMask,\r\n        ABW.fromInt(1, this.titleExportAllowed),\r\n        ABW.fromInt(1, this.commonKeyIndex),\r\n        this.unknown2,\r\n        this.contentAccessPermissions,\r\n        ABW.fromInt(2, 0),\r\n        ...this.titleLimitsList.map(\r\n          (limit): ABW =>\r\n            ABW.fromInt(4, limit.limit_type).concatenate(\r\n              ABW.fromInt(4, limit.maximum_usage),\r\n            ),\r\n        ),\r\n      );\r\n  }\r\n}\r\n"
    }
}


2025-07-20 12:09:41.727 [info] [Trace - 12:09:41 PM] Received request 'client/registerCapability - (0)'.
2025-07-20 12:09:41.727 [info] Params: {
    "registrations": [
        {
            "id": "watcher-file:///c%3A/Users/Function/Desktop/jankbox",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": {
                            "baseUri": "file:///c%3A/Users/Function/Desktop/jankbox",
                            "pattern": "**/.oxlintrc.json"
                        },
                        "kind": 7
                    }
                ]
            }
        }
    ]
}


2025-07-20 12:09:41.728 [info] [Trace - 12:09:41 PM] Sending response 'client/registerCapability - (0)'. Processing request took 0ms
2025-07-20 12:09:41.728 [info] No result returned.


2025-07-20 12:09:41.729 [info] [Trace - 12:09:41 PM] Received notification 'textDocument/publishDiagnostics'.
2025-07-20 12:09:41.729 [info] Params: {
    "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/ciosmaps-schema.ts",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 111,
                    "character": 10
                },
                "end": {
                    "line": 111,
                    "character": 13
                }
            },
            "severity": 1,
            "code": "eslint(no-unused-vars)",
            "codeDescription": {
                "href": "https://oxc.rs/docs/guide/usage/linter/rules/eslint/no-unused-vars.html"
            },
            "source": "oxc",
            "message": "Variable 'obj' is declared but never used. Unused variables should start with a '_'.\nhelp: Consider removing this declaration.",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/ciosmaps-schema.ts",
                        "range": {
                            "start": {
                                "line": 111,
                                "character": 10
                            },
                            "end": {
                                "line": 111,
                                "character": 13
                            }
                        }
                    },
                    "message": "'obj' is declared here"
                }
            ]
        }
    ],
    "version": 275
}


2025-07-20 12:09:41.730 [info] [Trace - 12:09:41 PM] Received notification 'textDocument/publishDiagnostics'.
2025-07-20 12:09:41.730 [info] Params: {
    "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/Ticket.ts",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 0,
                    "character": 0
                }
            },
            "severity": 1,
            "code": "eslint-plugin-unicorn(filename-case)",
            "codeDescription": {
                "href": "https://oxc.rs/docs/guide/usage/linter/rules/unicorn/filename-case.html"
            },
            "source": "oxc",
            "message": "Filename should be in kebab case\nhelp: Rename the file to 'ticket.ts'",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///c%3A/Users/Function/Desktop/jankbox/d2x-lib/Ticket.ts",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 0,
                                "character": 0
                            }
                        }
                    },
                    "message": ""
                }
            ]
        }
    ],
    "version": 2889
}

Metadata

Metadata

Assignees

Labels

A-editorArea - Editor and Language ServerA-linterArea - Linter

Type

Priority

None yet

Effort

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions