emacs-lsp / lsp-mode

Emacs client/library for the Language Server Protocol
https://emacs-lsp.github.io/lsp-mode
GNU General Public License v3.0
4.8k stars 893 forks source link

No diagnostics and error list not updating #3830

Closed JoshTRN closed 1 year ago

JoshTRN commented 1 year ago

Thank you for the bug report

Bug description

Diagnostics not showing up in vue-mode and lsp-treemacs-errors-list` doesn't update if there's a new error.

Steps to reproduce

I'm using spacemacs, so I'm not sure if there's an issue in vanilla (I can't even use vanilla emacs) or doom emacs for example, but here are the steps to reproduce as far as I know on the develop branch of spacemacs with all packages up to date and the vue layer installed:

  1. M-x lsp-install-server RET vue-semantic-server
  2. yarn create vite
  3. Select prompts for vue and typescript
  4. Enter vue project to start lsp-mode
  5. Create lsp error (e.g. rename prop without renaming references)
  6. See that there are no diagnostics.
  7. Save and restart lsp-mode (I have to restart emacs for this)
  8. Create a different lsp error. (e.g. Add another references and don't use)
  9. Look at lsp-treemacs-error-list and see that it's detecting the correct number of errors (should be 2 at this point) but it's not updating the error content (it will only show the first error). If you correct the first error, it will still show it as an error in the error list.

Expected behavior

I should see diagnostics and the lsp-treemacs-errors-list should update.

Which Language Server did you use?

vue-semantic-server (yarn global add @volar/vue-language-server if you didn't M-x lsp-install-server RET vue-semantic-server)

OS

Linux

Error callstack

No response

Anything else?

I am able to get diagnostics if I switch to typescript-mode, but that doesn't do anything to fix the treemacs error list. If I fix all the errors and restart lsp mode (by restarting emacs) then I no longer see errors...

The following screenshot shows when I started with one error and created another one:

image

This screenshot shows when I started with 2 errors and fixed one error (I fixed the 'ello' error): image

This screenshot shows the diagnostics I see when I enable typescript-mode: image

And finally what it looks like in vue-mode:

image

jadestrong commented 1 year ago
M-x lsp-toggle-trace-io

Then select *lsp-log: vue-semantic-server:xxxx* buffer, check whether there is an error message?

JoshTRN commented 1 year ago

Everything here looks like it's supposed to it seems.

[Trace - 11:53:48 AM] Sending request 'textDocument/codeAction - (54)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 18,
      "character": 7
    },
    "end": {
      "line": 18,
      "character": 7
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:53:48 AM] Sending request 'textDocument/documentLink - (55)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:53:48 AM] Received request 'workspace/configuration - (43).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:53:48 AM] Sending response 'workspace/configuration - (43)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 43,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:53:48 AM] Received request 'workspace/configuration - (44).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:53:48 AM] Sending response 'workspace/configuration - (44)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 44,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:53:48 AM] Received response 'textDocument/documentLink - (55)' in 8ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:53:48 AM] Received request 'workspace/configuration - (45).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:53:48 AM] Sending response 'workspace/configuration - (45)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 45,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:53:48 AM] Received response 'textDocument/codeAction - (54)' in 21ms.
Result: []

[Trace - 11:53:51 AM] Sending request 'textDocument/codeAction - (56)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 17,
      "character": 6
    },
    "end": {
      "line": 17,
      "character": 6
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:53:51 AM] Sending request 'textDocument/documentLink - (57)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:53:51 AM] Sending request 'textDocument/hover - (58)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 17,
    "character": 6
  }
}

[Trace - 11:53:51 AM] Received response 'textDocument/codeAction - (56)' in 7ms.
Result: []

[Trace - 11:53:51 AM] Received response 'textDocument/documentLink - (57)' in 7ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:53:51 AM] Received request 'workspace/configuration - (46).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:53:51 AM] Sending response 'workspace/configuration - (46)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 46,
  "result": [
    null
  ]
}

[Trace - 11:53:51 AM] Received request 'workspace/configuration - (47).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:53:51 AM] Sending response 'workspace/configuration - (47)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 47,
  "result": [
    null
  ]
}

[Trace - 11:53:51 AM] Received response 'textDocument/hover - (58)' in 20ms.
Result: null

[Trace - 11:53:55 AM] Sending request 'textDocument/codeAction - (59)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 10,
      "character": 8
    },
    "end": {
      "line": 10,
      "character": 8
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:53:55 AM] Sending request 'textDocument/documentLink - (60)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:53:55 AM] Received request 'workspace/configuration - (48).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:53:55 AM] Sending response 'workspace/configuration - (48)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 48,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:53:55 AM] Received request 'workspace/configuration - (49).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:53:55 AM] Sending response 'workspace/configuration - (49)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 49,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:53:55 AM] Received response 'textDocument/documentLink - (60)' in 8ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:53:55 AM] Received request 'workspace/configuration - (50).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:53:55 AM] Sending response 'workspace/configuration - (50)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 50,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:53:55 AM] Received response 'textDocument/codeAction - (59)' in 23ms.
Result: []

[Trace - 11:53:55 AM] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 1
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 10
        }
      },
      "rangeLength": 1,
      "text": ""
    }
  ]
}

[Trace - 11:53:55 AM] Received request 'workspace/configuration - (51).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:53:55 AM] Sending response 'workspace/configuration - (51)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 51,
  "result": [
    null
  ]
}

[Trace - 11:53:55 AM] Received request 'workspace/configuration - (52).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.style_0.css",
      "section": "css"
    }
  ]
}

[Trace - 11:53:55 AM] Sending response 'workspace/configuration - (52)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 52,
  "result": [
    {
      "trace": {
        "server": "off"
      },
      "lint": {
        "unknownAtRules": "warning",
        "idSelector": "ignore",
        "float": "ignore",
        "important": "ignore",
        "propertyIgnoredDueToDisplay": "warning",
        "unknownVendorSpecificProperties": "ignore",
        "ieHack": "ignore",
        "unknownProperties": "warning",
        "argumentsInColorFunction": "error",
        "hexColorLength": "error",
        "fontFaceProperties": "warning",
        "zeroUnits": "ignore",
        "universalSelector": "ignore",
        "boxModel": "ignore",
        "importStatement": "ignore",
        "emptyRules": "warning",
        "duplicateProperties": "ignore",
        "vendorPrefix": "warning",
        "compatibleVendorPrefixes": "ignore"
      },
      "validate": true,
      "completion": {
        "triggerPropertyValueCompletion": true
      }
    }
  ]
}

[Trace - 11:53:56 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 1
      }
    }
  ],
  "version": 1
}

[Trace - 11:53:56 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 1
      }
    }
  ],
  "version": 1
}

[Trace - 11:53:56 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 1
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 1
      }
    }
  ],
  "version": 1
}

[Trace - 11:53:56 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 1
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 1
      }
    }
  ],
  "version": 1
}

[Trace - 11:53:56 AM] Sending notification 'textDocument/didSave'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 1
  }
}

[Trace - 11:53:56 AM] Sending notification 'workspace/didChangeWatchedFiles'.
Params: {
  "changes": [
    {
      "type": 2,
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
    }
  ]
}

[Trace - 11:53:56 AM] Received request 'workspace/configuration - (53).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:53:56 AM] Sending response 'workspace/configuration - (53)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 53,
  "result": [
    null
  ]
}

[Trace - 11:53:56 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 1
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 1
      }
    }
  ],
  "version": 1
}

[Trace - 11:53:57 AM] Sending request 'textDocument/documentSymbol - (61)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:53:57 AM] Sending request 'textDocument/codeAction - (62)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 15,
      "character": 6
    },
    "end": {
      "line": 15,
      "character": 6
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:53:57 AM] Sending request 'textDocument/documentLink - (63)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:53:57 AM] Sending request 'textDocument/hover - (64)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 15,
    "character": 6
  }
}

[Trace - 11:53:58 AM] Received response 'textDocument/documentSymbol - (61)' in 8ms.
Result: [
  {
    "name": "h1",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 9,
          "character": 2
        },
        "end": {
          "line": 9,
          "character": 20
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h2",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 10,
          "character": 2
        },
        "end": {
          "line": 10,
          "character": 21
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h3",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 11,
          "character": 2
        },
        "end": {
          "line": 11,
          "character": 27
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "div.card",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 13,
          "character": 2
        },
        "end": {
          "line": 19,
          "character": 8
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "button",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 14,
          "character": 4
        },
        "end": {
          "line": 14,
          "character": 70
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 15,
          "character": 4
        },
        "end": {
          "line": 18,
          "character": 8
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "code",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 17,
          "character": 6
        },
        "end": {
          "line": 17,
          "character": 44
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "div",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 21,
          "character": 2
        },
        "end": {
          "line": 21,
          "character": 22
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 22,
          "character": 2
        },
        "end": {
          "line": 26,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 24,
          "character": 4
        },
        "end": {
          "line": 24,
          "character": 91
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 27,
          "character": 2
        },
        "end": {
          "line": 31,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 29,
          "character": 4
        },
        "end": {
          "line": 29,
          "character": 78
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p.read-the-docs",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 32,
          "character": 2
        },
        "end": {
          "line": 32,
          "character": 76
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "count",
    "kind": 13,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 5,
          "character": 6
        },
        "end": {
          "line": 5,
          "character": 20
        }
      }
    }
  },
  {
    "name": "hello",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 27
        },
        "end": {
          "line": 3,
          "character": 41
        }
      }
    }
  },
  {
    "name": "msg",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 14
        },
        "end": {
          "line": 3,
          "character": 26
        }
      }
    }
  },
  {
    "name": "thirdThing",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 42
        },
        "end": {
          "line": 3,
          "character": 61
        }
      }
    }
  },
  {
    "name": ".read-the-docs",
    "kind": 5,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 36,
          "character": 0
        },
        "end": {
          "line": 38,
          "character": 1
        }
      }
    }
  },
  {
    "name": "template",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 8,
          "character": 10
        },
        "end": {
          "line": 33,
          "character": 0
        }
      }
    }
  },
  {
    "name": "script setup",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 0,
          "character": 24
        },
        "end": {
          "line": 6,
          "character": 0
        }
      }
    }
  },
  {
    "name": "style scoped",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 35,
          "character": 14
        },
        "end": {
          "line": 39,
          "character": 0
        }
      }
    }
  }
]

[Trace - 11:53:58 AM] Received request 'workspace/configuration - (54).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:53:58 AM] Sending response 'workspace/configuration - (54)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 54,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:53:58 AM] Received request 'workspace/configuration - (55).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:53:58 AM] Sending response 'workspace/configuration - (55)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 55,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:53:58 AM] Received response 'textDocument/documentLink - (63)' in 17ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:53:58 AM] Received request 'workspace/configuration - (56).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:53:58 AM] Sending response 'workspace/configuration - (56)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 56,
  "result": [
    null
  ]
}

[Trace - 11:53:58 AM] Received request 'workspace/configuration - (57).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:53:58 AM] Sending response 'workspace/configuration - (57)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 57,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:53:58 AM] Received request 'workspace/configuration - (58).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:53:58 AM] Sending response 'workspace/configuration - (58)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 58,
  "result": [
    null
  ]
}

[Trace - 11:53:58 AM] Received response 'textDocument/codeAction - (62)' in 26ms.
Result: []

[Trace - 11:53:58 AM] Received response 'textDocument/hover - (64)' in 32ms.
Result: {
  "contents": [
    "```typescript\n(property) p: ElementAttrs<HTMLAttributes>\n```",
    "The p element represents a paragraph.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/p)"
  ],
  "range": {
    "start": {
      "line": 15,
      "character": 5
    },
    "end": {
      "line": 15,
      "character": 6
    }
  }
}

[Trace - 11:54:00 AM] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 2
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 10
        }
      },
      "rangeLength": 1,
      "text": ""
    }
  ]
}

[Trace - 11:54:00 AM] Received request 'workspace/configuration - (59).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:54:00 AM] Sending response 'workspace/configuration - (59)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 59,
  "result": [
    null
  ]
}

[Trace - 11:54:00 AM] Received request 'workspace/configuration - (60).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.style_0.css",
      "section": "css"
    }
  ]
}

[Trace - 11:54:00 AM] Sending response 'workspace/configuration - (60)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 60,
  "result": [
    {
      "trace": {
        "server": "off"
      },
      "lint": {
        "unknownAtRules": "warning",
        "idSelector": "ignore",
        "float": "ignore",
        "important": "ignore",
        "propertyIgnoredDueToDisplay": "warning",
        "unknownVendorSpecificProperties": "ignore",
        "ieHack": "ignore",
        "unknownProperties": "warning",
        "argumentsInColorFunction": "error",
        "hexColorLength": "error",
        "fontFaceProperties": "warning",
        "zeroUnits": "ignore",
        "universalSelector": "ignore",
        "boxModel": "ignore",
        "importStatement": "ignore",
        "emptyRules": "warning",
        "duplicateProperties": "ignore",
        "vendorPrefix": "warning",
        "compatibleVendorPrefixes": "ignore"
      },
      "validate": true,
      "completion": {
        "triggerPropertyValueCompletion": true
      }
    }
  ]
}

[Trace - 11:54:00 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 2
      }
    }
  ],
  "version": 2
}

[Trace - 11:54:00 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 2
      }
    }
  ],
  "version": 2
}

[Trace - 11:54:00 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    }
  ],
  "version": 2
}

[Trace - 11:54:00 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    }
  ],
  "version": 2
}

[Trace - 11:54:01 AM] Sending notification 'textDocument/didSave'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 2
  }
}

[Trace - 11:54:01 AM] Sending notification 'workspace/didChangeWatchedFiles'.
Params: {
  "changes": [
    {
      "type": 2,
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
    }
  ]
}

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (61).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (61)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 61,
  "result": [
    null
  ]
}

[Trace - 11:54:01 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 13
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 2
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 2
      }
    }
  ],
  "version": 2
}

[Trace - 11:54:01 AM] Sending request 'textDocument/documentSymbol - (65)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:01 AM] Sending request 'textDocument/codeAction - (66)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 11,
      "character": 9
    },
    "end": {
      "line": 11,
      "character": 9
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:54:01 AM] Sending request 'textDocument/documentLink - (67)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:01 AM] Sending request 'textDocument/hover - (68)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 11,
    "character": 9
  }
}

[Trace - 11:54:01 AM] Received response 'textDocument/documentSymbol - (65)' in 9ms.
Result: [
  {
    "name": "h1",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 9,
          "character": 2
        },
        "end": {
          "line": 9,
          "character": 19
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h2",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 10,
          "character": 2
        },
        "end": {
          "line": 10,
          "character": 21
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h3",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 11,
          "character": 2
        },
        "end": {
          "line": 11,
          "character": 27
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "div.card",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 13,
          "character": 2
        },
        "end": {
          "line": 19,
          "character": 8
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "button",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 14,
          "character": 4
        },
        "end": {
          "line": 14,
          "character": 70
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 15,
          "character": 4
        },
        "end": {
          "line": 18,
          "character": 8
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "code",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 17,
          "character": 6
        },
        "end": {
          "line": 17,
          "character": 44
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "div",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 21,
          "character": 2
        },
        "end": {
          "line": 21,
          "character": 22
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 22,
          "character": 2
        },
        "end": {
          "line": 26,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 24,
          "character": 4
        },
        "end": {
          "line": 24,
          "character": 91
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 27,
          "character": 2
        },
        "end": {
          "line": 31,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 29,
          "character": 4
        },
        "end": {
          "line": 29,
          "character": 78
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p.read-the-docs",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 32,
          "character": 2
        },
        "end": {
          "line": 32,
          "character": 76
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "count",
    "kind": 13,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 5,
          "character": 6
        },
        "end": {
          "line": 5,
          "character": 20
        }
      }
    }
  },
  {
    "name": "hello",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 27
        },
        "end": {
          "line": 3,
          "character": 41
        }
      }
    }
  },
  {
    "name": "msg",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 14
        },
        "end": {
          "line": 3,
          "character": 26
        }
      }
    }
  },
  {
    "name": "thirdThing",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 42
        },
        "end": {
          "line": 3,
          "character": 61
        }
      }
    }
  },
  {
    "name": ".read-the-docs",
    "kind": 5,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 36,
          "character": 0
        },
        "end": {
          "line": 38,
          "character": 1
        }
      }
    }
  },
  {
    "name": "template",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 8,
          "character": 10
        },
        "end": {
          "line": 33,
          "character": 0
        }
      }
    }
  },
  {
    "name": "script setup",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 0,
          "character": 24
        },
        "end": {
          "line": 6,
          "character": 0
        }
      }
    }
  },
  {
    "name": "style scoped",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 35,
          "character": 14
        },
        "end": {
          "line": 39,
          "character": 0
        }
      }
    }
  }
]

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (62).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (62)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 62,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (63).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (63)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 63,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:01 AM] Received response 'textDocument/documentLink - (67)' in 23ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (64).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (64)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 64,
  "result": [
    null
  ]
}

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (65).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (65)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 65,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:01 AM] Received request 'workspace/configuration - (66).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:01 AM] Sending response 'workspace/configuration - (66)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 66,
  "result": [
    null
  ]
}

[Trace - 11:54:01 AM] Received response 'textDocument/codeAction - (66)' in 33ms.
Result: []

[Trace - 11:54:01 AM] Received response 'textDocument/hover - (68)' in 39ms.
Result: {
  "contents": [
    "```typescript\n(property) thirdThing: boolean\n```"
  ],
  "range": {
    "start": {
      "line": 11,
      "character": 9
    },
    "end": {
      "line": 11,
      "character": 19
    }
  }
}

[Trace - 11:54:10 AM] Sending request 'textDocument/codeAction - (69)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 10,
      "character": 9
    },
    "end": {
      "line": 10,
      "character": 9
    }
  },
  "context": {
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 10,
            "character": 9
          },
          "end": {
            "line": 10,
            "character": 13
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2551,
        "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
        "data": {
          "version": 2
        }
      }
    ]
  }
}

[Trace - 11:54:10 AM] Sending request 'textDocument/documentLink - (70)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:10 AM] Sending request 'textDocument/hover - (71)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 10,
    "character": 9
  }
}

[Trace - 11:54:10 AM] Received request 'workspace/configuration - (67).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:10 AM] Sending response 'workspace/configuration - (67)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 67,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:10 AM] Received request 'workspace/configuration - (68).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:10 AM] Sending response 'workspace/configuration - (68)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 68,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:10 AM] Received response 'textDocument/documentLink - (70)' in 9ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:10 AM] Received request 'workspace/configuration - (69).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:10 AM] Sending response 'workspace/configuration - (69)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 69,
  "result": [
    null
  ]
}

[Trace - 11:54:10 AM] Received request 'workspace/configuration - (70).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:10 AM] Sending response 'workspace/configuration - (70)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 70,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:10 AM] Received request 'workspace/configuration - (71).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:10 AM] Sending response 'workspace/configuration - (71)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 71,
  "result": [
    null
  ]
}

[Trace - 11:54:10 AM] Received response 'textDocument/codeAction - (69)' in 29ms.
Result: [
  {
    "title": "Change spelling to 'hello'",
    "edit": {
      "documentChanges": [
        {
          "textDocument": {
            "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
            "version": null
          },
          "edits": [
            {
              "newText": "hello",
              "range": {
                "start": {
                  "line": 10,
                  "character": 9
                },
                "end": {
                  "line": 10,
                  "character": 13
                }
              }
            }
          ]
        }
      ]
    },
    "kind": "",
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 45,
            "character": 12
          },
          "end": {
            "line": 45,
            "character": 16
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2551,
        "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
        "data": {
          "version": 2
        }
      }
    ],
    "data": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "originalItem": {
        "title": "Change spelling to 'hello'",
        "edit": {
          "documentChanges": [
            {
              "textDocument": {
                "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
                "version": null
              },
              "edits": [
                {
                  "newText": "hello",
                  "range": {
                    "start": {
                      "line": 45,
                      "character": 12
                    },
                    "end": {
                      "line": 45,
                      "character": 16
                    }
                  }
                }
              ]
            }
          ]
        },
        "kind": "",
        "diagnostics": [
          {
            "range": {
              "start": {
                "line": 45,
                "character": 12
              },
              "end": {
                "line": 45,
                "character": 16
              }
            },
            "severity": 1,
            "source": "ts",
            "code": 2551,
            "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
            "data": {
              "version": 2
            }
          }
        ]
      },
      "pluginId": 9,
      "sourceMap": {
        "embeddedDocumentUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts"
      }
    }
  }
]

[Trace - 11:54:10 AM] Received response 'textDocument/hover - (71)' in 30ms.
Result: {
  "contents": [
    "```typescript\nany\n```"
  ],
  "range": {
    "start": {
      "line": 10,
      "character": 9
    },
    "end": {
      "line": 10,
      "character": 13
    }
  }
}

[Trace - 11:54:12 AM] Sending notification 'textDocument/didChange'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 3
  },
  "contentChanges": [
    {
      "range": {
        "start": {
          "line": 10,
          "character": 9
        },
        "end": {
          "line": 10,
          "character": 9
        }
      },
      "rangeLength": 0,
      "text": "h"
    }
  ]
}

[Trace - 11:54:12 AM] Received request 'workspace/configuration - (72).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:54:12 AM] Sending response 'workspace/configuration - (72)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 72,
  "result": [
    null
  ]
}

[Trace - 11:54:12 AM] Received request 'workspace/configuration - (73).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.style_0.css",
      "section": "css"
    }
  ]
}

[Trace - 11:54:12 AM] Sending response 'workspace/configuration - (73)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 73,
  "result": [
    {
      "trace": {
        "server": "off"
      },
      "lint": {
        "unknownAtRules": "warning",
        "idSelector": "ignore",
        "float": "ignore",
        "important": "ignore",
        "propertyIgnoredDueToDisplay": "warning",
        "unknownVendorSpecificProperties": "ignore",
        "ieHack": "ignore",
        "unknownProperties": "warning",
        "argumentsInColorFunction": "error",
        "hexColorLength": "error",
        "fontFaceProperties": "warning",
        "zeroUnits": "ignore",
        "universalSelector": "ignore",
        "boxModel": "ignore",
        "importStatement": "ignore",
        "emptyRules": "warning",
        "duplicateProperties": "ignore",
        "vendorPrefix": "warning",
        "compatibleVendorPrefixes": "ignore"
      },
      "validate": true,
      "completion": {
        "triggerPropertyValueCompletion": true
      }
    }
  ]
}

[Trace - 11:54:12 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 10
        },
        "end": {
          "line": 10,
          "character": 14
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    }
  ],
  "version": 3
}

[Trace - 11:54:12 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 10,
          "character": 10
        },
        "end": {
          "line": 10,
          "character": 14
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2551,
      "message": "Property 'ello' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'. Did you mean 'hello'?",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    }
  ],
  "version": 3
}

[Trace - 11:54:12 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    }
  ],
  "version": 3
}

[Trace - 11:54:12 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    }
  ],
  "version": 3
}

[Trace - 11:54:12 AM] Sending notification 'textDocument/didSave'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
    "version": 3
  }
}

[Trace - 11:54:12 AM] Sending notification 'workspace/didChangeWatchedFiles'.
Params: {
  "changes": [
    {
      "type": 2,
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
    }
  ]
}

[Trace - 11:54:12 AM] Received request 'workspace/configuration - (74).
Params: {
  "items": [
    {
      "section": "volar.diagnostics.delay"
    }
  ]
}

[Trace - 11:54:12 AM] Sending response 'workspace/configuration - (74)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 74,
  "result": [
    null
  ]
}

[Trace - 11:54:13 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
  "diagnostics": [
    {
      "range": {
        "start": {
          "line": 14,
          "character": 55
        },
        "end": {
          "line": 14,
          "character": 58
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    },
    {
      "range": {
        "start": {
          "line": 9,
          "character": 9
        },
        "end": {
          "line": 9,
          "character": 11
        }
      },
      "severity": 1,
      "source": "ts",
      "code": 2339,
      "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
      "data": {
        "version": 3
      }
    }
  ],
  "version": 3
}

[Trace - 11:54:13 AM] Sending request 'textDocument/documentSymbol - (72)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:13 AM] Sending request 'textDocument/codeAction - (73)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 13,
      "character": 9
    },
    "end": {
      "line": 13,
      "character": 9
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:54:13 AM] Sending request 'textDocument/documentLink - (74)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:13 AM] Sending request 'textDocument/hover - (75)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 13,
    "character": 9
  }
}

[Trace - 11:54:13 AM] Received response 'textDocument/documentSymbol - (72)' in 7ms.
Result: [
  {
    "name": "h1",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 9,
          "character": 2
        },
        "end": {
          "line": 9,
          "character": 19
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h2",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 10,
          "character": 2
        },
        "end": {
          "line": 10,
          "character": 22
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "h3",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 11,
          "character": 2
        },
        "end": {
          "line": 11,
          "character": 27
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "div.card",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 13,
          "character": 2
        },
        "end": {
          "line": 19,
          "character": 8
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "button",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 14,
          "character": 4
        },
        "end": {
          "line": 14,
          "character": 70
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 15,
          "character": 4
        },
        "end": {
          "line": 18,
          "character": 8
        }
      }
    },
    "containerName": "div.card",
    "kind": 8
  },
  {
    "name": "code",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 17,
          "character": 6
        },
        "end": {
          "line": 17,
          "character": 44
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "div",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 21,
          "character": 2
        },
        "end": {
          "line": 21,
          "character": 22
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 22,
          "character": 2
        },
        "end": {
          "line": 26,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 24,
          "character": 4
        },
        "end": {
          "line": 24,
          "character": 91
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 27,
          "character": 2
        },
        "end": {
          "line": 31,
          "character": 6
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "a",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 29,
          "character": 4
        },
        "end": {
          "line": 29,
          "character": 78
        }
      }
    },
    "containerName": "p",
    "kind": 8
  },
  {
    "name": "p.read-the-docs",
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 32,
          "character": 2
        },
        "end": {
          "line": 32,
          "character": 76
        }
      }
    },
    "containerName": "",
    "kind": 8
  },
  {
    "name": "count",
    "kind": 13,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 5,
          "character": 6
        },
        "end": {
          "line": 5,
          "character": 20
        }
      }
    }
  },
  {
    "name": "hello",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 27
        },
        "end": {
          "line": 3,
          "character": 41
        }
      }
    }
  },
  {
    "name": "msg",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 14
        },
        "end": {
          "line": 3,
          "character": 26
        }
      }
    }
  },
  {
    "name": "thirdThing",
    "kind": 7,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 3,
          "character": 42
        },
        "end": {
          "line": 3,
          "character": 61
        }
      }
    }
  },
  {
    "name": ".read-the-docs",
    "kind": 5,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 36,
          "character": 0
        },
        "end": {
          "line": 38,
          "character": 1
        }
      }
    }
  },
  {
    "name": "template",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 8,
          "character": 10
        },
        "end": {
          "line": 33,
          "character": 0
        }
      }
    }
  },
  {
    "name": "script setup",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 0,
          "character": 24
        },
        "end": {
          "line": 6,
          "character": 0
        }
      }
    }
  },
  {
    "name": "style scoped",
    "kind": 2,
    "location": {
      "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "range": {
        "start": {
          "line": 35,
          "character": 14
        },
        "end": {
          "line": 39,
          "character": 0
        }
      }
    }
  }
]

[Trace - 11:54:13 AM] Received request 'workspace/configuration - (75).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:13 AM] Sending response 'workspace/configuration - (75)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 75,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:13 AM] Received request 'workspace/configuration - (76).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:13 AM] Sending response 'workspace/configuration - (76)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 76,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:13 AM] Received response 'textDocument/documentLink - (74)' in 18ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:13 AM] Received request 'workspace/configuration - (77).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:13 AM] Sending response 'workspace/configuration - (77)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 77,
  "result": [
    null
  ]
}

[Trace - 11:54:13 AM] Received request 'workspace/configuration - (78).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:13 AM] Sending response 'workspace/configuration - (78)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 78,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:13 AM] Received request 'workspace/configuration - (79).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:13 AM] Sending response 'workspace/configuration - (79)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 79,
  "result": [
    null
  ]
}

[Trace - 11:54:13 AM] Received response 'textDocument/codeAction - (73)' in 32ms.
Result: []

[Trace - 11:54:13 AM] Received response 'textDocument/hover - (75)' in 32ms.
Result: {
  "contents": [
    "```typescript\n(property) HTMLAttributes.class?: any\n```",
    "A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the [class selectors](https://developer.mozilla.org/docs/Web/CSS/Class_selectors) or functions like the method [`Document.getElementsByClassName()`](https://developer.mozilla.org/docs/Web/API/Document/getElementsByClassName \"returns an array-like object of all child elements which have all of the given class names.\").\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Global_attributes/class)"
  ],
  "range": {
    "start": {
      "line": 13,
      "character": 7
    },
    "end": {
      "line": 13,
      "character": 12
    }
  }
}

[Trace - 11:54:15 AM] Sending request 'textDocument/codeAction - (76)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 13,
      "character": 9
    },
    "end": {
      "line": 13,
      "character": 9
    }
  },
  "context": {
    "diagnostics": []
  }
}

[Trace - 11:54:15 AM] Sending request 'textDocument/documentLink - (77)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:15 AM] Received request 'workspace/configuration - (80).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:15 AM] Sending response 'workspace/configuration - (80)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 80,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:15 AM] Received request 'workspace/configuration - (81).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:15 AM] Sending response 'workspace/configuration - (81)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 81,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:15 AM] Received response 'textDocument/documentLink - (77)' in 10ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:15 AM] Received request 'workspace/configuration - (82).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:15 AM] Sending response 'workspace/configuration - (82)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 82,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:15 AM] Received response 'textDocument/codeAction - (76)' in 27ms.
Result: []

[Trace - 11:54:20 AM] Sending request 'textDocument/codeAction - (78)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 9,
      "character": 18
    },
    "end": {
      "line": 9,
      "character": 18
    }
  },
  "context": {
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 9,
            "character": 9
          },
          "end": {
            "line": 9,
            "character": 11
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2339,
        "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
        "data": {
          "version": 3
        }
      }
    ]
  }
}

[Trace - 11:54:20 AM] Sending request 'textDocument/documentLink - (79)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:20 AM] Sending request 'textDocument/hover - (80)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "position": {
    "line": 9,
    "character": 18
  }
}

[Trace - 11:54:20 AM] Received request 'workspace/configuration - (83).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:20 AM] Sending response 'workspace/configuration - (83)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 83,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:20 AM] Received request 'workspace/configuration - (84).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:20 AM] Sending response 'workspace/configuration - (84)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 84,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:20 AM] Received response 'textDocument/documentLink - (79)' in 10ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:20 AM] Received request 'workspace/configuration - (85).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.template.html",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:20 AM] Sending response 'workspace/configuration - (85)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 85,
  "result": [
    null
  ]
}

[Trace - 11:54:20 AM] Received request 'workspace/configuration - (86).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:20 AM] Sending response 'workspace/configuration - (86)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 86,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:20 AM] Received request 'workspace/configuration - (87).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue",
      "section": "html.hover"
    }
  ]
}

[Trace - 11:54:20 AM] Sending response 'workspace/configuration - (87)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 87,
  "result": [
    null
  ]
}

[Trace - 11:54:20 AM] Received response 'textDocument/codeAction - (78)' in 24ms.
Result: []

[Trace - 11:54:20 AM] Received response 'textDocument/hover - (80)' in 24ms.
Result: {
  "contents": [
    "```typescript\n(property) h1: ElementAttrs<HTMLAttributes>\n```",
    "The h1 element represents a section heading.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements)"
  ],
  "range": {
    "start": {
      "line": 9,
      "character": 16
    },
    "end": {
      "line": 9,
      "character": 18
    }
  }
}

[Trace - 11:54:22 AM] Sending request 'textDocument/codeAction - (81)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 9,
      "character": 18
    },
    "end": {
      "line": 9,
      "character": 18
    }
  },
  "context": {
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 9,
            "character": 9
          },
          "end": {
            "line": 9,
            "character": 11
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2339,
        "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
        "data": {
          "version": 3
        }
      }
    ]
  }
}

[Trace - 11:54:22 AM] Sending request 'textDocument/documentLink - (82)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:22 AM] Received request 'workspace/configuration - (88).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:22 AM] Sending response 'workspace/configuration - (88)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 88,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:22 AM] Received request 'workspace/configuration - (89).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:22 AM] Sending response 'workspace/configuration - (89)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 89,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:22 AM] Received response 'textDocument/documentLink - (82)' in 10ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:22 AM] Received request 'workspace/configuration - (90).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:22 AM] Sending response 'workspace/configuration - (90)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 90,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:22 AM] Received response 'textDocument/codeAction - (81)' in 25ms.
Result: []

[Trace - 11:54:24 AM] Sending request 'textDocument/codeAction - (83)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 9,
      "character": 18
    },
    "end": {
      "line": 9,
      "character": 18
    }
  },
  "context": {
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 9,
            "character": 9
          },
          "end": {
            "line": 9,
            "character": 11
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2339,
        "message": "Property 'sg' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
        "data": {
          "version": 3
        }
      }
    ]
  }
}

[Trace - 11:54:24 AM] Sending request 'textDocument/documentLink - (84)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:24 AM] Received request 'workspace/configuration - (91).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:24 AM] Sending response 'workspace/configuration - (91)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 91,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:24 AM] Received request 'workspace/configuration - (92).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:24 AM] Sending response 'workspace/configuration - (92)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 92,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:24 AM] Received response 'textDocument/documentLink - (84)' in 17ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:24 AM] Received request 'workspace/configuration - (93).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:24 AM] Sending response 'workspace/configuration - (93)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 93,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:24 AM] Received response 'textDocument/codeAction - (83)' in 31ms.
Result: []

[Trace - 11:54:25 AM] Sending request 'textDocument/codeAction - (85)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  },
  "range": {
    "start": {
      "line": 14,
      "character": 58
    },
    "end": {
      "line": 14,
      "character": 58
    }
  },
  "context": {
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 14,
            "character": 55
          },
          "end": {
            "line": 14,
            "character": 58
          }
        },
        "severity": 1,
        "source": "ts",
        "code": 2339,
        "message": "Property 'cnt' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{ msg: string; hello: number; thirdThing: boolean; }>>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)...'.",
        "data": {
          "version": 3
        }
      }
    ]
  }
}

[Trace - 11:54:25 AM] Sending request 'textDocument/documentLink - (86)'.
Params: {
  "textDocument": {
    "uri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
}

[Trace - 11:54:25 AM] Received request 'workspace/configuration - (94).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.format"
    }
  ]
}

[Trace - 11:54:25 AM] Sending response 'workspace/configuration - (94)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 94,
  "result": [
    {
      "enable": true,
      "insertSpaceAfterCommaDelimiter": true,
      "insertSpaceAfterConstructor": false,
      "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
      "insertSpaceAfterKeywordsInControlFlowStatements": true,
      "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
      "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
      "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
      "insertSpaceAfterSemicolonInForStatements": true,
      "insertSpaceAfterTypeAssertion": false,
      "insertSpaceBeforeAndAfterBinaryOperators": true,
      "insertSpaceBeforeFunctionParenthesis": false,
      "placeOpenBraceOnNewLineForControlBlocks": false,
      "placeOpenBraceOnNewLineForFunctions": false
    }
  ]
}

[Trace - 11:54:25 AM] Received request 'workspace/configuration - (95).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript"
    }
  ]
}

[Trace - 11:54:25 AM] Sending response 'workspace/configuration - (95)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 95,
  "result": [
    {
      "tsdk": "/home/joshua/code/learning/vue/vite-project/node_modules/typescript/lib",
      "autoClosingTags": true,
      "check": {
        "npmIsInstalled": true
      },
      "disableAutomaticTypeAcquisition": false,
      "implementationsCodeLens": {
        "enabled": false
      },
      "preferences": {
        "importModuleSpecifier": "auto",
        "quoteStyle": "auto",
        "renameShorthandProperties": true
      },
      "referencesCodeLens": {
        "enabled": false
      },
      "reportStyleChecksAsWarnings": true,
      "suggest": {
        "autoImports": true,
        "completeFunctionCalls": false,
        "completeJSDocs": true,
        "enabled": true,
        "paths": true
      },
      "suggestionActions": {
        "enabled": true
      },
      "surveys": {
        "enabled": true
      },
      "tsc": {
        "autoDetect": "on"
      },
      "tsserver": {
        "log": "off",
        "trace": "off"
      },
      "updateImportsOnFileMove": {
        "enabled": "prompt"
      },
      "validate": {
        "enable": true
      },
      "format": {
        "enable": true,
        "insertSpaceAfterCommaDelimiter": true,
        "insertSpaceAfterConstructor": false,
        "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
        "insertSpaceAfterKeywordsInControlFlowStatements": true,
        "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
        "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
        "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
        "insertSpaceAfterSemicolonInForStatements": true,
        "insertSpaceAfterTypeAssertion": false,
        "insertSpaceBeforeAndAfterBinaryOperators": true,
        "insertSpaceBeforeFunctionParenthesis": false,
        "placeOpenBraceOnNewLineForControlBlocks": false,
        "placeOpenBraceOnNewLineForFunctions": false
      },
      "inlayHints": {
        "includeInlayEnumMemberValueHints": false,
        "includeInlayFunctionLikeReturnTypeHints": false,
        "includeInlayFunctionParameterTypeHints": false,
        "includeInlayParameterNameHints": "none",
        "includeInlayParameterNameHintsWhenArgumentMatchesName": false,
        "includeInlayPropertyDeclarationTypeHints": false,
        "includeInlayVariableTypeHints": false
      }
    }
  ]
}

[Trace - 11:54:25 AM] Received response 'textDocument/documentLink - (86)' in 10ms.
Result: [
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 24,
        "character": 13
      },
      "end": {
        "line": 24,
        "character": 59
      }
    },
    "target": "https://vuejs.org/guide/quick-start.html#local"
  },
  {
    "range": {
      "start": {
        "line": 29,
        "character": 13
      },
      "end": {
        "line": 29,
        "character": 51
      }
    },
    "target": "https://github.com/johnsoncodehk/volar"
  },
  {
    "range": {
      "start": {
        "line": 32,
        "character": 12
      },
      "end": {
        "line": 32,
        "character": 25
      }
    },
    "target": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue"
  }
]

[Trace - 11:54:25 AM] Received request 'workspace/configuration - (96).
Params: {
  "items": [
    {
      "scopeUri": "file:///home/joshua/code/learning/vue/vite-project/src/components/HelloWorld.vue.ts",
      "section": "typescript.preferences"
    }
  ]
}

[Trace - 11:54:25 AM] Sending response 'workspace/configuration - (96)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 96,
  "result": [
    {
      "importModuleSpecifier": "auto",
      "quoteStyle": "auto",
      "renameShorthandProperties": true
    }
  ]
}

[Trace - 11:54:25 AM] Received response 'textDocument/codeAction - (85)' in 23ms.
Result: []
jadestrong commented 1 year ago

Which version of vue are you using? Vue2 or Vue3? If vue2,you should use vls, otherwise,volar.

jadestrong commented 1 year ago

https://github.com/johnsoncodehk/volar-starter Can you try in this repo?

JoshTRN commented 1 year ago

vite does vue 3 by default, so that's what I'm using.

image

I get the same errors in that repo. Fresh emacs restart gives me this in HelloWorld.vue

image

JoshTRN commented 1 year ago

After running npm install (can't believe I forgot that) Some of the errors are resolved, but treemacs isn't updating. Still no diagnostics.

image

jadestrong commented 1 year ago

I don't use treemacs, but check the log, the textDocument/publishDiagnostics notification works well, you can check if it works well with flycheck, I am afraid it is a treemacs problem.

JoshTRN commented 1 year ago

Okay. Thank you.

I wonder if it's something specific to the json this is sending that's different from other lsp's but I only checked treemacs because I can't get the diagnostics.

flycheck-mode is enabled in all the vue-mode buffers, so the issue might be with flycheck as well. When you said I can check if it works well with flycheck, what exactly did you have in mind? What would I do to check it? If you're getting diagnostics, what else are you using if not flycheck?

jadestrong commented 1 year ago

image If flycheck-mode enabled and it works well, when there is a diagnostic error, there will be an underline, after you fix the error, the underline will go away. if so, I think the function is OK, if only the lsp-treemacs not updated, maybe it was the lsp-treemacs' bug.

JoshTRN commented 1 year ago

This is what happens when I check flycheck:

Syntax checkers for buffer App.vue<volar-starter/src> in vue-mode:

No checker to run in this buffer.

Checkers that are compatible with this mode, but will not run until properly configured:

javascript-eslint (automatically disabled) reset

Flycheck Mode is enabled. Use SPC u SPC e d to enable disabled checkers.


Flycheck version: 33snapshot (package: 20221112.1552) Emacs version: 29.0.50 System: x86_64-pc-linux-gnu Window system: x

I tried adding this:

  (with-eval-after-load 'flycheck
    (flycheck-add-mode 'javascript-eslint 'vue-mode))

And that didn't seem to help. I'm not sure why it's "automatically disabled," but when I try to reset it, it does nothing. No messages even in the message buffer.

jadestrong commented 1 year ago

Try enable lsp-diagnostic-mode

JoshTRN commented 1 year ago

Yes. That's already enabled in all the buffers I showed.

jadestrong commented 1 year ago

I use doom-emacs, it can be out of the box, and the correct flychecker should be : image I am not sure your spacemacs' vue config is https://develop.spacemacs.org/layers/+frameworks/vue/README.html , but this is not a lsp-mode bug, maybe it is your config' problem.

JoshTRN commented 1 year ago

Okay. I'm going to close this issue and reference it in a spacemacs issue. Thanks for your help and consideration.