Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent completion suggestions on JSX attributes #679

Closed
brun8 opened this issue Feb 7, 2023 · 22 comments
Closed

Inconsistent completion suggestions on JSX attributes #679

brun8 opened this issue Feb 7, 2023 · 22 comments
Labels

Comments

@brun8
Copy link

brun8 commented Feb 7, 2023

The project I'm using is a Solid Start project on the default settings, but I tested it in a Next.js applications an had the same problem. This is using typescript but it behaved the same in a project with javascript.

When i prompt the completion menu inside a jsx tag I don't get the full list of attributes (the "class" and "onClick" attributes for example are not there).

nvim_1

But when I try it with the cursor right next to the quotations i get the full list as intended

nvim_2

Doesn't seem to be an editor problem as I tested it in neovim and helix and had the same results.

helix_1

helix_2

The screenshot can't show the whole list but you can see the scroll bar is a lot smaller on the second one.

I'm running tsserver on version 3.1.0

@sQVe
Copy link

sQVe commented Feb 8, 2023

I'm getting the same issue.

When trying to input property size:
image

When triggering completion next to " and typing si:
image

@rchl
Copy link
Member

rchl commented Feb 8, 2023

Please provide a repo that reproduces.

@brun8
Copy link
Author

brun8 commented Feb 8, 2023

@rchl
Copy link
Member

rchl commented Feb 8, 2023

Can't reproduce:

Screen.Recording.2023-02-08.at.23.57.09.mov

(Using Typescript 4.9.5 from the workspace here)

You could enable logging by passing those initialization options and provide a log from the .log directory created inside the project.

"initializationOptions": {
    "preferences": {
        "tsserver.logVerbosity": "verbose",
    }
}

@sQVe
Copy link

sQVe commented Feb 9, 2023

I was able to get some information when setting vim.lsp.set_log_level('TRACE') in neovim.

This is the output when triggering completion on a new line:

[DEBUG][2023-02-09 10:52:34] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 0,            line = 12          },          start = {            character = 0,            line = 12          }        },        rangeLength = 0,        text = ""      } },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",      version = 63    }  }}
[TRACE][2023-02-09 10:52:34] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 29,    value = {      kind = "begin",      percentage = 0,      title = "diagnostics"    }  }}
[TRACE][2023-02-09 10:52:34] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 29,    value = {      kind = "report",      message = "eslint_d",      percentage = 0    }  }}
[TRACE][2023-02-09 10:52:34] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 29,    value = {      kind = "end",      percentage = 100    }  }}
[DEBUG][2023-02-09 10:52:34] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 0,            line = 12          },          start = {            character = 0,            line = 12          }        },        rangeLength = 0,        text = "          "      } },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",      version = 64    }  }}
[DEBUG][2023-02-09 10:52:34] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}
[TRACE][2023-02-09 10:52:34] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"}
[DEBUG][2023-02-09 10:52:35] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}
[TRACE][2023-02-09 10:52:35] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"}
[DEBUG][2023-02-09 10:52:37] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 10,    line = 12  },  textDocument = {    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}	<function 1>	10
[DEBUG][2023-02-09 10:52:37] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 10,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 10,      line = 12    },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"    }  }}
[DEBUG][2023-02-09 10:52:37] .../lua/vim/lsp.lua:1388	"LSP[null-ls]"	"client.request"	2	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 10,    line = 12  },  textDocument = {    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}	<function 1>	10
[DEBUG][2023-02-09 10:52:37] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 10,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        data = {          entryNames = { "'contained'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        kind = 21,        label = "'contained'",        sortText = "11"      }, {        data = {          entryNames = { "'outlined'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        kind = 21,        label = "'outlined'",        sortText = "11"      }, {        data = {          entryNames = { "'text'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        kind = 21,        label = "'text'",        sortText = "11"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-atomic" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-atomic",        insertText = "aria-atomic",        kind = 5,        label = "aria-atomic?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-busy" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-busy",        insertText = "aria-busy",        kind = 5,        label = "aria-busy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-checked" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-checked",        insertText = "aria-checked",        kind = 5,        label = "aria-checked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-current" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-current",        insertText = "aria-current",        kind = 5,        label = "aria-current?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-disabled" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-disabled",        insertText = "aria-disabled",        kind = 5,        label = "aria-disabled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-expanded" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-expanded",        insertText = "aria-expanded",        kind = 5,        label = "aria-expanded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-haspopup" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-haspopup",        insertText = "aria-haspopup",        kind = 5,        label = "aria-haspopup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-hidden" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-hidden",        insertText = "aria-hidden",        kind = 5,        label = "aria-hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-invalid" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-invalid",        insertText = "aria-invalid",        kind = 5,        label = "aria-invalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-modal" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-modal",        insertText = "aria-modal",        kind = 5,        label = "aria-modal?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiline" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-multiline",        insertText = "aria-multiline",        kind = 5,        label = "aria-multiline?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiselectable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-multiselectable",        insertText = "aria-multiselectable",        kind = 5,        label = "aria-multiselectable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-pressed" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-pressed",        insertText = "aria-pressed",        kind = 5,        label = "aria-pressed?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-readonly" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-readonly",        insertText = "aria-readonly",        kind = 5,        label = "aria-readonly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-required" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-required",        insertText = "aria-required",        kind = 5,        label = "aria-required?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-selected" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-selected",        insertText = "aria-selected",        kind = 5,        label = "aria-selected?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoFocus" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "autoFocus",        insertText = "autoFocus",        kind = 5,        label = "autoFocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "centerRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "centerRipple",        insertText = "centerRipple",        kind = 5,        label = "centerRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "defaultChecked" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "defaultChecked",        insertText = "defaultChecked",        kind = 5,        label = "defaultChecked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disabled" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "disabled",        insertText = "disabled",        kind = 5,        label = "disabled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableElevation" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "disableElevation",        insertText = "disableElevation",        kind = 5,        label = "disableElevation?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableFocusRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "disableFocusRipple",        insertText = "disableFocusRipple",        kind = 5,        label = "disableFocusRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "disableRipple",        insertText = "disableRipple",        kind = 5,        label = "disableRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableTouchRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "disableTouchRipple",        insertText = "disableTouchRipple",        kind = 5,        label = "disableTouchRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "endIcon" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "endIcon",        insertText = "endIcon",        kind = 5,        label = "endIcon?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "focusRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "focusRipple",        insertText = "focusRipple",        kind = 5,        label = "focusRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formNoValidate" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "formNoValidate",        insertText = "formNoValidate",        kind = 5,        label = "formNoValidate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "fullWidth" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "fullWidth",        insertText = "fullWidth",        kind = 5,        label = "fullWidth?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellCheck" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "spellCheck",        insertText = "spellCheck",        kind = 5,        label = "spellCheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "suppressContentEditableWarning" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "suppressContentEditableWarning",        insertText = "suppressContentEditableWarning",        kind = 5,        label = "suppressContentEditableWarning?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "suppressHydrationWarning" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "suppressHydrationWarning",        insertText = "suppressHydrationWarning",        kind = 5,        label = "suppressHydrationWarning?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-grabbed" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 13,          offset = 11        },        filterText = "aria-grabbed",        insertText = "aria-grabbed",        kind = 5,        label = "aria-grabbed?",        sortText = "z12",        tags = { 1 }      } }  }}

This is the output when triggering completion after ":

[DEBUG][2023-02-09 10:52:59] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 10,            line = 12          },          start = {            character = 9,            line = 12          }        },        rangeLength = 1,        text = ""      } },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",      version = 65    }  }}
[TRACE][2023-02-09 10:52:59] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 30,    value = {      kind = "begin",      percentage = 0,      title = "diagnostics"    }  }}
[TRACE][2023-02-09 10:52:59] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 30,    value = {      kind = "report",      message = "eslint_d",      percentage = 0    }  }}
[DEBUG][2023-02-09 10:52:59] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 9,            line = 12          },          start = {            character = 8,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 8,            line = 12          },          start = {            character = 7,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 7,            line = 12          },          start = {            character = 6,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 6,            line = 12          },          start = {            character = 5,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 5,            line = 12          },          start = {            character = 4,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 4,            line = 12          },          start = {            character = 3,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 3,            line = 12          },          start = {            character = 2,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 2,            line = 12          },          start = {            character = 1,            line = 12          }        },        rangeLength = 1,        text = ""      }, {        range = {          ["end"] = {            character = 1,            line = 12          },          start = {            character = 0,            line = 12          }        },        rangeLength = 1,        text = ""      } },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",      version = 74    }  }}
[TRACE][2023-02-09 10:52:59] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 30,    value = {      kind = "end",      percentage = 100    }  }}
[TRACE][2023-02-09 10:52:59] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 31,    value = {      kind = "begin",      percentage = 0,      title = "diagnostics"    }  }}
[TRACE][2023-02-09 10:52:59] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 31,    value = {      kind = "report",      message = "eslint_d",      percentage = 0    }  }}
[TRACE][2023-02-09 10:53:00] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 31,    value = {      kind = "end",      percentage = 100    }  }}
[DEBUG][2023-02-09 10:53:00] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}
[TRACE][2023-02-09 10:53:00] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"}
[DEBUG][2023-02-09 10:53:01] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}
[TRACE][2023-02-09 10:53:01] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"}
[DEBUG][2023-02-09 10:53:05] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 44,    line = 11  },  textDocument = {    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}	<function 1>	10
[DEBUG][2023-02-09 10:53:05] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 11,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 44,      line = 11    },    textDocument = {      uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"    }  }}
[DEBUG][2023-02-09 10:53:05] .../lua/vim/lsp.lua:1388	"LSP[null-ls]"	"client.request"	2	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 44,    line = 11  },  textDocument = {    uri = "file:///home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx"  }}	<function 1>	10
[DEBUG][2023-02-09 10:53:05] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 11,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        data = {          entryNames = { "'contained'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        kind = 21,        label = "'contained'",        sortText = "11"      }, {        data = {          entryNames = { "'outlined'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        kind = 21,        label = "'outlined'",        sortText = "11"      }, {        data = {          entryNames = { "'text'" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        kind = 21,        label = "'text'",        sortText = "11"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "about" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "about",        insertText = "about",        kind = 5,        label = "about?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "accessKey" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "accessKey",        insertText = "accessKey",        kind = 5,        label = "accessKey?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "action" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "action",        insertText = "action",        kind = 5,        label = "action?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoCapitalize" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "autoCapitalize",        insertText = "autoCapitalize",        kind = 5,        label = "autoCapitalize?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoCorrect" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "autoCorrect",        insertText = "autoCorrect",        kind = 5,        label = "autoCorrect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoFocus" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "autoFocus",        insertText = "autoFocus",        kind = 5,        label = "autoFocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoSave" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "autoSave",        insertText = "autoSave",        kind = 5,        label = "autoSave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "centerRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "centerRipple",        insertText = "centerRipple",        kind = 5,        label = "centerRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "classes" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "classes",        insertText = "classes",        kind = 5,        label = "classes?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "className" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "className",        insertText = "className",        kind = 5,        label = "className?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contextMenu" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "contextMenu",        insertText = "contextMenu",        kind = 5,        label = "contextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "dangerouslySetInnerHTML" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "dangerouslySetInnerHTML",        insertText = "dangerouslySetInnerHTML",        kind = 5,        label = "dangerouslySetInnerHTML?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "datatype" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "datatype",        insertText = "datatype",        kind = 5,        label = "datatype?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "defaultChecked" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "defaultChecked",        insertText = "defaultChecked",        kind = 5,        label = "defaultChecked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "defaultValue" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "defaultValue",        insertText = "defaultValue",        kind = 5,        label = "defaultValue?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "dir" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "dir",        insertText = "dir",        kind = 5,        label = "dir?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disabled" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "disabled",        insertText = "disabled",        kind = 5,        label = "disabled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableElevation" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "disableElevation",        insertText = "disableElevation",        kind = 5,        label = "disableElevation?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableFocusRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "disableFocusRipple",        insertText = "disableFocusRipple",        kind = 5,        label = "disableFocusRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "disableRipple",        insertText = "disableRipple",        kind = 5,        label = "disableRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "disableTouchRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "disableTouchRipple",        insertText = "disableTouchRipple",        kind = 5,        label = "disableTouchRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "download" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "download",        insertText = "download",        kind = 5,        label = "download?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "endIcon" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "endIcon",        insertText = "endIcon",        kind = 5,        label = "endIcon?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "focusRipple" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "focusRipple",        insertText = "focusRipple",        kind = 5,        label = "focusRipple?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "focusVisibleClassName" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "focusVisibleClassName",        insertText = "focusVisibleClassName",        kind = 5,        label = "focusVisibleClassName?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "form" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "form",        insertText = "form",        kind = 5,        label = "form?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formAction" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "formAction",        insertText = "formAction",        kind = 5,        label = "formAction?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formEncType" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "formEncType",        insertText = "formEncType",        kind = 5,        label = "formEncType?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formMethod" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "formMethod",        insertText = "formMethod",        kind = 5,        label = "formMethod?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formNoValidate" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "formNoValidate",        insertText = "formNoValidate",        kind = 5,        label = "formNoValidate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "formTarget" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "formTarget",        insertText = "formTarget",        kind = 5,        label = "formTarget?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "fullWidth" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "fullWidth",        insertText = "fullWidth",        kind = 5,        label = "fullWidth?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "href" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "href",        insertText = "href",        kind = 5,        label = "href?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hrefLang" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "hrefLang",        insertText = "hrefLang",        kind = 5,        label = "hrefLang?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "id" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "id",        insertText = "id",        kind = 5,        label = "id?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inlist" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "inlist",        insertText = "inlist",        kind = 5,        label = "inlist?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inputMode" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "inputMode",        insertText = "inputMode",        kind = 5,        label = "inputMode?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "is" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "is",        insertText = "is",        kind = 5,        label = "is?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemID" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "itemID",        insertText = "itemID",        kind = 5,        label = "itemID?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemProp" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "itemProp",        insertText = "itemProp",        kind = 5,        label = "itemProp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemRef" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "itemRef",        insertText = "itemRef",        kind = 5,        label = "itemRef?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemType" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "itemType",        insertText = "itemType",        kind = 5,        label = "itemType?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "key" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "key",        insertText = "key",        kind = 5,        label = "key?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "lang" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "lang",        insertText = "lang",        kind = 5,        label = "lang?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "LinkComponent" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "LinkComponent",        insertText = "LinkComponent",        kind = 5,        label = "LinkComponent?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "media" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "media",        insertText = "media",        kind = 5,        label = "media?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "name" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "name",        insertText = "name",        kind = 5,        label = "name?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "nonce" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "nonce",        insertText = "nonce",        kind = 5,        label = "nonce?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAbort" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAbort",        insertText = "onAbort",        kind = 5,        label = "onAbort?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAbortCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAbortCapture",        insertText = "onAbortCapture",        kind = 5,        label = "onAbortCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationEnd" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationEnd",        insertText = "onAnimationEnd",        kind = 5,        label = "onAnimationEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationEndCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationEndCapture",        insertText = "onAnimationEndCapture",        kind = 5,        label = "onAnimationEndCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationIteration" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationIteration",        insertText = "onAnimationIteration",        kind = 5,        label = "onAnimationIteration?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationIterationCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationIterationCapture",        insertText = "onAnimationIterationCapture",        kind = 5,        label = "onAnimationIterationCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationStart" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationStart",        insertText = "onAnimationStart",        kind = 5,        label = "onAnimationStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationStartCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAnimationStartCapture",        insertText = "onAnimationStartCapture",        kind = 5,        label = "onAnimationStartCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAuxClick" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAuxClick",        insertText = "onAuxClick",        kind = 5,        label = "onAuxClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAuxClickCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onAuxClickCapture",        insertText = "onAuxClickCapture",        kind = 5,        label = "onAuxClickCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBeforeInput" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onBeforeInput",        insertText = "onBeforeInput",        kind = 5,        label = "onBeforeInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBeforeInputCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onBeforeInputCapture",        insertText = "onBeforeInputCapture",        kind = 5,        label = "onBeforeInputCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBlur" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onBlur",        insertText = "onBlur",        kind = 5,        label = "onBlur?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBlurCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onBlurCapture",        insertText = "onBlurCapture",        kind = 5,        label = "onBlurCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlay" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCanPlay",        insertText = "onCanPlay",        kind = 5,        label = "onCanPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlayCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCanPlayCapture",        insertText = "onCanPlayCapture",        kind = 5,        label = "onCanPlayCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlayThrough" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCanPlayThrough",        insertText = "onCanPlayThrough",        kind = 5,        label = "onCanPlayThrough?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlayThroughCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCanPlayThroughCapture",        insertText = "onCanPlayThroughCapture",        kind = 5,        label = "onCanPlayThroughCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onChange" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onChange",        insertText = "onChange",        kind = 5,        label = "onChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onChangeCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onChangeCapture",        insertText = "onChangeCapture",        kind = 5,        label = "onChangeCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onClick" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onClick",        insertText = "onClick",        kind = 5,        label = "onClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onClickCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onClickCapture",        insertText = "onClickCapture",        kind = 5,        label = "onClickCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionEnd" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionEnd",        insertText = "onCompositionEnd",        kind = 5,        label = "onCompositionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionEndCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionEndCapture",        insertText = "onCompositionEndCapture",        kind = 5,        label = "onCompositionEndCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionStart" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionStart",        insertText = "onCompositionStart",        kind = 5,        label = "onCompositionStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionStartCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionStartCapture",        insertText = "onCompositionStartCapture",        kind = 5,        label = "onCompositionStartCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionUpdate" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionUpdate",        insertText = "onCompositionUpdate",        kind = 5,        label = "onCompositionUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionUpdateCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCompositionUpdateCapture",        insertText = "onCompositionUpdateCapture",        kind = 5,        label = "onCompositionUpdateCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onContextMenu" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onContextMenu",        insertText = "onContextMenu",        kind = 5,        label = "onContextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onContextMenuCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onContextMenuCapture",        insertText = "onContextMenuCapture",        kind = 5,        label = "onContextMenuCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCopy" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCopy",        insertText = "onCopy",        kind = 5,        label = "onCopy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCopyCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCopyCapture",        insertText = "onCopyCapture",        kind = 5,        label = "onCopyCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCut" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCut",        insertText = "onCut",        kind = 5,        label = "onCut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCutCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onCutCapture",        insertText = "onCutCapture",        kind = 5,        label = "onCutCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDoubleClick" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDoubleClick",        insertText = "onDoubleClick",        kind = 5,        label = "onDoubleClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDoubleClickCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDoubleClickCapture",        insertText = "onDoubleClickCapture",        kind = 5,        label = "onDoubleClickCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrag" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDrag",        insertText = "onDrag",        kind = 5,        label = "onDrag?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragCapture",        insertText = "onDragCapture",        kind = 5,        label = "onDragCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnd" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragEnd",        insertText = "onDragEnd",        kind = 5,        label = "onDragEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEndCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragEndCapture",        insertText = "onDragEndCapture",        kind = 5,        label = "onDragEndCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnter" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragEnter",        insertText = "onDragEnter",        kind = 5,        label = "onDragEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnterCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragEnterCapture",        insertText = "onDragEnterCapture",        kind = 5,        label = "onDragEnterCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragExit" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragExit",        insertText = "onDragExit",        kind = 5,        label = "onDragExit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragExitCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragExitCapture",        insertText = "onDragExitCapture",        kind = 5,        label = "onDragExitCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragLeave" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragLeave",        insertText = "onDragLeave",        kind = 5,        label = "onDragLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragLeaveCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragLeaveCapture",        insertText = "onDragLeaveCapture",        kind = 5,        label = "onDragLeaveCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragOver" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragOver",        insertText = "onDragOver",        kind = 5,        label = "onDragOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragOverCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragOverCapture",        insertText = "onDragOverCapture",        kind = 5,        label = "onDragOverCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragStart" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragStart",        insertText = "onDragStart",        kind = 5,        label = "onDragStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragStartCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDragStartCapture",        insertText = "onDragStartCapture",        kind = 5,        label = "onDragStartCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrop" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDrop",        insertText = "onDrop",        kind = 5,        label = "onDrop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDropCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDropCapture",        insertText = "onDropCapture",        kind = 5,        label = "onDropCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDurationChange" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDurationChange",        insertText = "onDurationChange",        kind = 5,        label = "onDurationChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDurationChangeCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onDurationChangeCapture",        insertText = "onDurationChangeCapture",        kind = 5,        label = "onDurationChangeCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEmptied" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEmptied",        insertText = "onEmptied",        kind = 5,        label = "onEmptied?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEmptiedCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEmptiedCapture",        insertText = "onEmptiedCapture",        kind = 5,        label = "onEmptiedCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEncrypted" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEncrypted",        insertText = "onEncrypted",        kind = 5,        label = "onEncrypted?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEncryptedCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEncryptedCapture",        insertText = "onEncryptedCapture",        kind = 5,        label = "onEncryptedCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEnded" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEnded",        insertText = "onEnded",        kind = 5,        label = "onEnded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEndedCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onEndedCapture",        insertText = "onEndedCapture",        kind = 5,        label = "onEndedCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onError" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onError",        insertText = "onError",        kind = 5,        label = "onError?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onErrorCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onErrorCapture",        insertText = "onErrorCapture",        kind = 5,        label = "onErrorCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocus" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onFocus",        insertText = "onFocus",        kind = 5,        label = "onFocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onFocusCapture",        insertText = "onFocusCapture",        kind = 5,        label = "onFocusCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusVisible" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onFocusVisible",        insertText = "onFocusVisible",        kind = 5,        label = "onFocusVisible?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onGotPointerCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onGotPointerCapture",        insertText = "onGotPointerCapture",        kind = 5,        label = "onGotPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onGotPointerCaptureCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onGotPointerCaptureCapture",        insertText = "onGotPointerCaptureCapture",        kind = 5,        label = "onGotPointerCaptureCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInput" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onInput",        insertText = "onInput",        kind = 5,        label = "onInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInputCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onInputCapture",        insertText = "onInputCapture",        kind = 5,        label = "onInputCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInvalid" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onInvalid",        insertText = "onInvalid",        kind = 5,        label = "onInvalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInvalidCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onInvalidCapture",        insertText = "onInvalidCapture",        kind = 5,        label = "onInvalidCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyDown" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyDown",        insertText = "onKeyDown",        kind = 5,        label = "onKeyDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyDownCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyDownCapture",        insertText = "onKeyDownCapture",        kind = 5,        label = "onKeyDownCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyUp" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyUp",        insertText = "onKeyUp",        kind = 5,        label = "onKeyUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyUpCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyUpCapture",        insertText = "onKeyUpCapture",        kind = 5,        label = "onKeyUpCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoad" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoad",        insertText = "onLoad",        kind = 5,        label = "onLoad?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadCapture",        insertText = "onLoadCapture",        kind = 5,        label = "onLoadCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedData" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadedData",        insertText = "onLoadedData",        kind = 5,        label = "onLoadedData?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedDataCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadedDataCapture",        insertText = "onLoadedDataCapture",        kind = 5,        label = "onLoadedDataCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedMetadata" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadedMetadata",        insertText = "onLoadedMetadata",        kind = 5,        label = "onLoadedMetadata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedMetadataCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadedMetadataCapture",        insertText = "onLoadedMetadataCapture",        kind = 5,        label = "onLoadedMetadataCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadStart" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadStart",        insertText = "onLoadStart",        kind = 5,        label = "onLoadStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadStartCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLoadStartCapture",        insertText = "onLoadStartCapture",        kind = 5,        label = "onLoadStartCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLostPointerCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLostPointerCapture",        insertText = "onLostPointerCapture",        kind = 5,        label = "onLostPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLostPointerCaptureCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onLostPointerCaptureCapture",        insertText = "onLostPointerCaptureCapture",        kind = 5,        label = "onLostPointerCaptureCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseDown" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseDown",        insertText = "onMouseDown",        kind = 5,        label = "onMouseDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseDownCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseDownCapture",        insertText = "onMouseDownCapture",        kind = 5,        label = "onMouseDownCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseEnter" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseEnter",        insertText = "onMouseEnter",        kind = 5,        label = "onMouseEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseLeave" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseLeave",        insertText = "onMouseLeave",        kind = 5,        label = "onMouseLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseMove" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseMove",        insertText = "onMouseMove",        kind = 5,        label = "onMouseMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseMoveCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseMoveCapture",        insertText = "onMouseMoveCapture",        kind = 5,        label = "onMouseMoveCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOut" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseOut",        insertText = "onMouseOut",        kind = 5,        label = "onMouseOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOutCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseOutCapture",        insertText = "onMouseOutCapture",        kind = 5,        label = "onMouseOutCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOver" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseOver",        insertText = "onMouseOver",        kind = 5,        label = "onMouseOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOverCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseOverCapture",        insertText = "onMouseOverCapture",        kind = 5,        label = "onMouseOverCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseUp" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseUp",        insertText = "onMouseUp",        kind = 5,        label = "onMouseUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseUpCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onMouseUpCapture",        insertText = "onMouseUpCapture",        kind = 5,        label = "onMouseUpCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPaste" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPaste",        insertText = "onPaste",        kind = 5,        label = "onPaste?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPasteCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPasteCapture",        insertText = "onPasteCapture",        kind = 5,        label = "onPasteCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPause" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPause",        insertText = "onPause",        kind = 5,        label = "onPause?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPauseCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPauseCapture",        insertText = "onPauseCapture",        kind = 5,        label = "onPauseCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlay" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPlay",        insertText = "onPlay",        kind = 5,        label = "onPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlayCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPlayCapture",        insertText = "onPlayCapture",        kind = 5,        label = "onPlayCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlaying" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPlaying",        insertText = "onPlaying",        kind = 5,        label = "onPlaying?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlayingCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPlayingCapture",        insertText = "onPlayingCapture",        kind = 5,        label = "onPlayingCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerCancel" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerCancel",        insertText = "onPointerCancel",        kind = 5,        label = "onPointerCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerCancelCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerCancelCapture",        insertText = "onPointerCancelCapture",        kind = 5,        label = "onPointerCancelCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerDown" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerDown",        insertText = "onPointerDown",        kind = 5,        label = "onPointerDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerDownCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerDownCapture",        insertText = "onPointerDownCapture",        kind = 5,        label = "onPointerDownCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerEnter" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerEnter",        insertText = "onPointerEnter",        kind = 5,        label = "onPointerEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerEnterCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerEnterCapture",        insertText = "onPointerEnterCapture",        kind = 5,        label = "onPointerEnterCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerLeave" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerLeave",        insertText = "onPointerLeave",        kind = 5,        label = "onPointerLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerLeaveCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerLeaveCapture",        insertText = "onPointerLeaveCapture",        kind = 5,        label = "onPointerLeaveCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerMove" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerMove",        insertText = "onPointerMove",        kind = 5,        label = "onPointerMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerMoveCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerMoveCapture",        insertText = "onPointerMoveCapture",        kind = 5,        label = "onPointerMoveCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOut" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerOut",        insertText = "onPointerOut",        kind = 5,        label = "onPointerOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOutCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerOutCapture",        insertText = "onPointerOutCapture",        kind = 5,        label = "onPointerOutCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOver" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerOver",        insertText = "onPointerOver",        kind = 5,        label = "onPointerOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOverCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerOverCapture",        insertText = "onPointerOverCapture",        kind = 5,        label = "onPointerOverCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerUp" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerUp",        insertText = "onPointerUp",        kind = 5,        label = "onPointerUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerUpCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onPointerUpCapture",        insertText = "onPointerUpCapture",        kind = 5,        label = "onPointerUpCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onProgress" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onProgress",        insertText = "onProgress",        kind = 5,        label = "onProgress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onProgressCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onProgressCapture",        insertText = "onProgressCapture",        kind = 5,        label = "onProgressCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onRateChange" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onRateChange",        insertText = "onRateChange",        kind = 5,        label = "onRateChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onRateChangeCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onRateChangeCapture",        insertText = "onRateChangeCapture",        kind = 5,        label = "onRateChangeCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onReset" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onReset",        insertText = "onReset",        kind = 5,        label = "onReset?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onResetCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onResetCapture",        insertText = "onResetCapture",        kind = 5,        label = "onResetCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onScroll" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onScroll",        insertText = "onScroll",        kind = 5,        label = "onScroll?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onScrollCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onScrollCapture",        insertText = "onScrollCapture",        kind = 5,        label = "onScrollCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeked" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSeeked",        insertText = "onSeeked",        kind = 5,        label = "onSeeked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeekedCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSeekedCapture",        insertText = "onSeekedCapture",        kind = 5,        label = "onSeekedCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeking" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSeeking",        insertText = "onSeeking",        kind = 5,        label = "onSeeking?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeekingCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSeekingCapture",        insertText = "onSeekingCapture",        kind = 5,        label = "onSeekingCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSelect" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSelect",        insertText = "onSelect",        kind = 5,        label = "onSelect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSelectCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSelectCapture",        insertText = "onSelectCapture",        kind = 5,        label = "onSelectCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onStalled" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onStalled",        insertText = "onStalled",        kind = 5,        label = "onStalled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onStalledCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onStalledCapture",        insertText = "onStalledCapture",        kind = 5,        label = "onStalledCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSubmit" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSubmit",        insertText = "onSubmit",        kind = 5,        label = "onSubmit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSubmitCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSubmitCapture",        insertText = "onSubmitCapture",        kind = 5,        label = "onSubmitCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSuspend" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSuspend",        insertText = "onSuspend",        kind = 5,        label = "onSuspend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSuspendCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onSuspendCapture",        insertText = "onSuspendCapture",        kind = 5,        label = "onSuspendCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTimeUpdate" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTimeUpdate",        insertText = "onTimeUpdate",        kind = 5,        label = "onTimeUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTimeUpdateCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTimeUpdateCapture",        insertText = "onTimeUpdateCapture",        kind = 5,        label = "onTimeUpdateCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchCancel" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchCancel",        insertText = "onTouchCancel",        kind = 5,        label = "onTouchCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchCancelCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchCancelCapture",        insertText = "onTouchCancelCapture",        kind = 5,        label = "onTouchCancelCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchEnd" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchEnd",        insertText = "onTouchEnd",        kind = 5,        label = "onTouchEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchEndCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchEndCapture",        insertText = "onTouchEndCapture",        kind = 5,        label = "onTouchEndCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchMove" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchMove",        insertText = "onTouchMove",        kind = 5,        label = "onTouchMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchMoveCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchMoveCapture",        insertText = "onTouchMoveCapture",        kind = 5,        label = "onTouchMoveCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchStart" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchStart",        insertText = "onTouchStart",        kind = 5,        label = "onTouchStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchStartCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTouchStartCapture",        insertText = "onTouchStartCapture",        kind = 5,        label = "onTouchStartCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTransitionEnd" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTransitionEnd",        insertText = "onTransitionEnd",        kind = 5,        label = "onTransitionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTransitionEndCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onTransitionEndCapture",        insertText = "onTransitionEndCapture",        kind = 5,        label = "onTransitionEndCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onVolumeChange" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onVolumeChange",        insertText = "onVolumeChange",        kind = 5,        label = "onVolumeChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onVolumeChangeCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onVolumeChangeCapture",        insertText = "onVolumeChangeCapture",        kind = 5,        label = "onVolumeChangeCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWaiting" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onWaiting",        insertText = "onWaiting",        kind = 5,        label = "onWaiting?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWaitingCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onWaitingCapture",        insertText = "onWaitingCapture",        kind = 5,        label = "onWaitingCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWheel" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onWheel",        insertText = "onWheel",        kind = 5,        label = "onWheel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWheelCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onWheelCapture",        insertText = "onWheelCapture",        kind = 5,        label = "onWheelCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ping" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "ping",        insertText = "ping",        kind = 5,        label = "ping?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "placeholder" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "placeholder",        insertText = "placeholder",        kind = 5,        label = "placeholder?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "prefix" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "prefix",        insertText = "prefix",        kind = 5,        label = "prefix?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "property" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "property",        insertText = "property",        kind = 5,        label = "property?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "radioGroup" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "radioGroup",        insertText = "radioGroup",        kind = 5,        label = "radioGroup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ref" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "ref",        insertText = "ref",        kind = 5,        label = "ref?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "referrerPolicy" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "referrerPolicy",        insertText = "referrerPolicy",        kind = 5,        label = "referrerPolicy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "rel" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "rel",        insertText = "rel",        kind = 5,        label = "rel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "resource" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "resource",        insertText = "resource",        kind = 5,        label = "resource?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "results" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "results",        insertText = "results",        kind = 5,        label = "results?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "role" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "role",        insertText = "role",        kind = 5,        label = "role?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "security" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "security",        insertText = "security",        kind = 5,        label = "security?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "size" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "size",        insertText = "size",        kind = 5,        label = "size?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "slot" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "slot",        insertText = "slot",        kind = 5,        label = "slot?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellCheck" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "spellCheck",        insertText = "spellCheck",        kind = 5,        label = "spellCheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "style" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "style",        insertText = "style",        kind = 5,        label = "style?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "suppressContentEditableWarning" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "suppressContentEditableWarning",        insertText = "suppressContentEditableWarning",        kind = 5,        label = "suppressContentEditableWarning?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "suppressHydrationWarning" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "suppressHydrationWarning",        insertText = "suppressHydrationWarning",        kind = 5,        label = "suppressHydrationWarning?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "sx" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "sx",        insertText = "sx",        kind = 5,        label = "sx?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "tabIndex" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "tabIndex",        insertText = "tabIndex",        kind = 5,        label = "tabIndex?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "target" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "target",        insertText = "target",        kind = 5,        label = "target?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "title" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "title",        insertText = "title",        kind = 5,        label = "title?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "TouchRippleProps" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "TouchRippleProps",        insertText = "TouchRippleProps",        kind = 5,        label = "TouchRippleProps?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "touchRippleRef" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "touchRippleRef",        insertText = "touchRippleRef",        kind = 5,        label = "touchRippleRef?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "translate" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "translate",        insertText = "translate",        kind = 5,        label = "translate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "type" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "type",        insertText = "type",        kind = 5,        label = "type?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "typeof" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "typeof",        insertText = "typeof",        kind = 5,        label = "typeof?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "unselectable" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "unselectable",        insertText = "unselectable",        kind = 5,        label = "unselectable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "value" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "value",        insertText = "value",        kind = 5,        label = "value?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "variant" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "variant",        insertText = "variant",        kind = 5,        label = "variant?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "vocab" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "vocab",        insertText = "vocab",        kind = 5,        label = "vocab?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyPress" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyPress",        insertText = "onKeyPress",        kind = 5,        label = "onKeyPress?",        sortText = "z12",        tags = { 1 }      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyPressCapture" },          file = "/home/sqve/work/bricksy/apps/docs/src/pages/examples/_components/Button.tsx",          line = 12,          offset = 45        },        filterText = "onKeyPressCapture",        insertText = "onKeyPressCapture",        kind = 5,        label = "onKeyPressCapture?",        sortText = "z12",        tags = { 1 }      } }  }}

I'm unsure what to actually look for here, but it's clear that the latter includes information for properties like size and security, wheras the former does not.

It would be really helpful if someone could help give an indication on the root of this problem, so we can open issues at the correct project.

@rchl
Copy link
Member

rchl commented Feb 9, 2023

Can you reproduce on the repo above? It would be better if we are on the same page.

Also, please provide logs from the beginning of the server start since it's important to see which settings are passed and what is the workspace folder set to.

@sQVe
Copy link

sQVe commented Feb 9, 2023

@rchl Sure thing, here you are:

This is when triggering completion with cursor left to the / of line https://github.com/brun8/tsserver-completions/blob/master/src/routes/index.tsx#L4:

[START][2023-02-09 11:44:09] LSP logging initiated
[INFO][2023-02-09 11:44:09] .../vim/lsp/rpc.lua:662	"Starting RPC client"	{  args = { "--stdio" },  cmd = "typescript-language-server",  extra = {    cwd = "/home/sqve/code/tsserver-completions"  }}
[TRACE][2023-02-09 11:44:09] .../lua/vim/lsp.lua:1283	"LSP[tsserver]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  initializationOptions = {    hostInfo = "neovim",    preferences = {      importModuleSpecifierPreference = "relative",      quotePreference = "single",      ["tsserver.logVerbosity"] = "verbose"    }  },  processId = 129441,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[DEBUG][2023-02-09 11:44:09] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = false,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = false,            deprecatedSupport = false,            documentationFormat = { "markdown", "plaintext" },            preselectSupport = false,            snippetSupport = false          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          contextSupport = false,          dynamicRegistration = false        },        declaration = {          linkSupport = true        },        definition = {          linkSupport = true        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = false        },        implementation = {          linkSupport = true        },        publishDiagnostics = {          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = false,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          hierarchicalWorkspaceSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.9.0"    },    initializationOptions = {      hostInfo = "neovim",      preferences = {        importModuleSpecifierPreference = "relative",        quotePreference = "single",        ["tsserver.logVerbosity"] = "verbose"      }    },    processId = 129441,    rootPath = "/home/sqve/code/tsserver-completions",    rootUri = "file:///home/sqve/code/tsserver-completions",    trace = "off",    workspaceFolders = { {        name = "/home/sqve/code/tsserver-completions",        uri = "file:///home/sqve/code/tsserver-completions"      } }  }}
[TRACE][2023-02-09 11:44:09] .../lua/vim/lsp.lua:1283	"LSP[null-ls]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  processId = 129441,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[DEBUG][2023-02-09 11:44:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[DEBUG][2023-02-09 11:44:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      callHierarchyProvider = true,      codeActionProvider = {        codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }      },      completionProvider = {        resolveProvider = true,        triggerCharacters = { ".", '"', "'", "/", "@", "<" }      },      definitionProvider = true,      documentFormattingProvider = true,      documentHighlightProvider = true,      documentRangeFormattingProvider = true,      documentSymbolProvider = true,      executeCommandProvider = {        commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }      },      foldingRangeProvider = true,      hoverProvider = true,      implementationProvider = true,      inlayHintProvider = true,      referencesProvider = true,      renameProvider = {        prepareProvider = true      },      selectionRangeProvider = true,      semanticTokensProvider = {        full = true,        legend = {          tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },          tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }        },        range = true      },      signatureHelpProvider = {        retriggerCharacters = { ")" },        triggerCharacters = { "(", ",", "<" }      },      textDocumentSync = 2,      typeDefinitionProvider = true,      workspaceSymbolProvider = true    }  }}
[INFO][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1341	"LSP[null-ls]"	"server_capabilities"	{  server_capabilities = {    codeActionProvider = {      resolveProvider = false    },    completionProvider = {      allCommitCharacters = {},      completionItem = {        labelDetailsSupport = true      },      resolveProvider = false,      triggerCharacters = { ".", ":", "-" }    },    documentFormattingProvider = true,    documentRangeFormattingProvider = true,    executeCommandProvider = true,    hoverProvider = true,    textDocumentSync = {      change = 1,      openClose = true,      save = {        includeText = true      }    }  }}
[TRACE][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1052	"notification"	"window/logMessage"	{  message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',  type = 2}
[TRACE][2023-02-09 11:44:10] ...lsp/handlers.lua:596	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[WARN][2023-02-09 11:44:10] ...lsp/handlers.lua:515	'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"'
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[INFO][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1341	"LSP[tsserver]"	"server_capabilities"	{  server_capabilities = {    callHierarchyProvider = true,    codeActionProvider = {      codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }    },    completionProvider = {      resolveProvider = true,      triggerCharacters = { ".", '"', "'", "/", "@", "<" }    },    definitionProvider = true,    documentFormattingProvider = true,    documentHighlightProvider = true,    documentRangeFormattingProvider = true,    documentSymbolProvider = true,    executeCommandProvider = {      commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }    },    foldingRangeProvider = true,    hoverProvider = true,    implementationProvider = true,    inlayHintProvider = true,    referencesProvider = true,    renameProvider = {      prepareProvider = true    },    selectionRangeProvider = true,    semanticTokensProvider = {      full = true,      legend = {        tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },        tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }      },      range = true    },    signatureHelpProvider = {      retriggerCharacters = { ")" },      triggerCharacters = { "(", ",", "<" }    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    },    typeDefinitionProvider = true,    workspaceSymbolProvider = true  }}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "typescriptreact",      text = "export default function Home() {\n  return (\n    <main>\n      <div class=\"\" />\n      {/*          ^if you place the cursor here the completion works    */}\n\n      <div >This doesn't show most properties</div>\n    </main>\n  );\n}\n",      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx",      version = 0    }  }}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/typescriptVersion",  params = {    source = "workspace",    version = "4.9.5"  }}
[TRACE][2023-02-09 11:44:10] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 1,    value = {      kind = "begin",      percentage = 0,      title = "diagnostics_on_open"    }  }}
[TRACE][2023-02-09 11:44:10] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 1,    value = {      kind = "end",      percentage = 100    }  }}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 0,  jsonrpc = "2.0",  method = "window/workDoneProgress/create",  params = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340"  }}
[TRACE][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1052	"notification"	"$/typescriptVersion"	{  source = "workspace",  version = "4.9.5"}
[TRACE][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1066	"server_request"	"window/workDoneProgress/create"	{  token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340"}
[TRACE][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1069	"server_request: found handler for"	"window/workDoneProgress/create"
[TRACE][2023-02-09 11:44:10] ...lsp/handlers.lua:596	"default_handler"	"window/workDoneProgress/create"	{  ctx = '{\n  client_id = 1,\n  method = "window/workDoneProgress/create"\n}',  result = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340"  }}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:403	"server_request: callback result"	{  result = vim.NIL,  status = true}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 0,  jsonrpc = "2.0",  result = vim.NIL}
[DEBUG][2023-02-09 11:44:10] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[TRACE][2023-02-09 11:44:10] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",  value = {    kind = "begin",    title = "Initializing JS/TS language features…"  }}
[TRACE][2023-02-09 11:44:10] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[DEBUG][2023-02-09 11:44:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",    value = {      kind = "end"    }  }}
[TRACE][2023-02-09 11:44:11] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",  value = {    kind = "end"  }}
[TRACE][2023-02-09 11:44:11] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "c6c3c6b1-2293-4f46-bbc6-fd9ee5b0a340",    value = {      kind = "end"    }  }}
[DEBUG][2023-02-09 11:44:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 11:44:11] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 11:44:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 11:44:11] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 11:44:25] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 20,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 11:44:25] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 2,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 20,      line = 3    },    textDocument = {      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"    }  }}
[DEBUG][2023-02-09 11:44:25] .../lua/vim/lsp.lua:1388	"LSP[null-ls]"	"client.request"	2	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 20,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 11:44:25] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 2,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "$ServerOnly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "$ServerOnly",        insertText = "$ServerOnly",        kind = 5,        label = "$ServerOnly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-atomic" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-atomic",        insertText = "aria-atomic",        kind = 5,        label = "aria-atomic?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-busy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-busy",        insertText = "aria-busy",        kind = 5,        label = "aria-busy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-checked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-checked",        insertText = "aria-checked",        kind = 5,        label = "aria-checked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-current" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-current",        insertText = "aria-current",        kind = 5,        label = "aria-current?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-disabled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-disabled",        insertText = "aria-disabled",        kind = 5,        label = "aria-disabled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-expanded" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-expanded",        insertText = "aria-expanded",        kind = 5,        label = "aria-expanded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-haspopup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-haspopup",        insertText = "aria-haspopup",        kind = 5,        label = "aria-haspopup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-hidden",        insertText = "aria-hidden",        kind = 5,        label = "aria-hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-invalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-invalid",        insertText = "aria-invalid",        kind = 5,        label = "aria-invalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-modal" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-modal",        insertText = "aria-modal",        kind = 5,        label = "aria-modal?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiline" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-multiline",        insertText = "aria-multiline",        kind = 5,        label = "aria-multiline?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiselectable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-multiselectable",        insertText = "aria-multiselectable",        kind = 5,        label = "aria-multiselectable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-pressed" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-pressed",        insertText = "aria-pressed",        kind = 5,        label = "aria-pressed?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-readonly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-readonly",        insertText = "aria-readonly",        kind = 5,        label = "aria-readonly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-required" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-required",        insertText = "aria-required",        kind = 5,        label = "aria-required?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-selected" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-selected",        insertText = "aria-selected",        kind = 5,        label = "aria-selected?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contenteditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "contenteditable",        insertText = "contenteditable",        kind = 5,        label = "contenteditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemscope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "itemscope",        insertText = "itemscope",        kind = 5,        label = "itemscope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellcheck" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "spellcheck",        insertText = "spellcheck",        kind = 5,        label = "spellcheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-grabbed" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-grabbed",        insertText = "aria-grabbed",        kind = 5,        label = "aria-grabbed?",        sortText = "z12",        tags = { 1 }      } }  }}

This is when triggering completion with cursor right to the last " of line https://github.com/brun8/tsserver-completions/blob/master/src/routes/index.tsx#L4:

[START][2023-02-09 11:45:09] LSP logging initiated
[INFO][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:662	"Starting RPC client"	{  args = { "--stdio" },  cmd = "typescript-language-server",  extra = {    cwd = "/home/sqve/code/tsserver-completions"  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1283	"LSP[tsserver]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  initializationOptions = {    hostInfo = "neovim",    preferences = {      importModuleSpecifierPreference = "relative",      quotePreference = "single",      ["tsserver.logVerbosity"] = "verbose"    }  },  processId = 130545,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = false,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = false,            deprecatedSupport = false,            documentationFormat = { "markdown", "plaintext" },            preselectSupport = false,            snippetSupport = false          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          contextSupport = false,          dynamicRegistration = false        },        declaration = {          linkSupport = true        },        definition = {          linkSupport = true        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = false        },        implementation = {          linkSupport = true        },        publishDiagnostics = {          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = false,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          hierarchicalWorkspaceSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.9.0"    },    initializationOptions = {      hostInfo = "neovim",      preferences = {        importModuleSpecifierPreference = "relative",        quotePreference = "single",        ["tsserver.logVerbosity"] = "verbose"      }    },    processId = 130545,    rootPath = "/home/sqve/code/tsserver-completions",    rootUri = "file:///home/sqve/code/tsserver-completions",    trace = "off",    workspaceFolders = { {        name = "/home/sqve/code/tsserver-completions",        uri = "file:///home/sqve/code/tsserver-completions"      } }  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1283	"LSP[null-ls]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  processId = 130545,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[INFO][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1341	"LSP[null-ls]"	"server_capabilities"	{  server_capabilities = {    codeActionProvider = {      resolveProvider = false    },    completionProvider = {      allCommitCharacters = {},      completionItem = {        labelDetailsSupport = true      },      resolveProvider = false,      triggerCharacters = { ".", ":", "-" }    },    documentFormattingProvider = true,    documentRangeFormattingProvider = true,    executeCommandProvider = true,    hoverProvider = true,    textDocumentSync = {      change = 1,      openClose = true,      save = {        includeText = true      }    }  }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      callHierarchyProvider = true,      codeActionProvider = {        codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }      },      completionProvider = {        resolveProvider = true,        triggerCharacters = { ".", '"', "'", "/", "@", "<" }      },      definitionProvider = true,      documentFormattingProvider = true,      documentHighlightProvider = true,      documentRangeFormattingProvider = true,      documentSymbolProvider = true,      executeCommandProvider = {        commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }      },      foldingRangeProvider = true,      hoverProvider = true,      implementationProvider = true,      inlayHintProvider = true,      referencesProvider = true,      renameProvider = {        prepareProvider = true      },      selectionRangeProvider = true,      semanticTokensProvider = {        full = true,        legend = {          tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },          tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }        },        range = true      },      signatureHelpProvider = {        retriggerCharacters = { ")" },        triggerCharacters = { "(", ",", "<" }      },      textDocumentSync = 2,      typeDefinitionProvider = true,      workspaceSymbolProvider = true    }  }}
[TRACE][2023-02-09 11:45:09] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 1,    value = {      kind = "begin",      percentage = 0,      title = "diagnostics_on_open"    }  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1052	"notification"	"window/logMessage"	{  message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',  type = 2}
[TRACE][2023-02-09 11:45:09] ...lsp/handlers.lua:596	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[WARN][2023-02-09 11:45:09] ...lsp/handlers.lua:515	'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"'
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[INFO][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1341	"LSP[tsserver]"	"server_capabilities"	{  server_capabilities = {    callHierarchyProvider = true,    codeActionProvider = {      codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }    },    completionProvider = {      resolveProvider = true,      triggerCharacters = { ".", '"', "'", "/", "@", "<" }    },    definitionProvider = true,    documentFormattingProvider = true,    documentHighlightProvider = true,    documentRangeFormattingProvider = true,    documentSymbolProvider = true,    executeCommandProvider = {      commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }    },    foldingRangeProvider = true,    hoverProvider = true,    implementationProvider = true,    inlayHintProvider = true,    referencesProvider = true,    renameProvider = {      prepareProvider = true    },    selectionRangeProvider = true,    semanticTokensProvider = {      full = true,      legend = {        tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },        tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }      },      range = true    },    signatureHelpProvider = {      retriggerCharacters = { ")" },      triggerCharacters = { "(", ",", "<" }    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    },    typeDefinitionProvider = true,    workspaceSymbolProvider = true  }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "typescriptreact",      text = "export default function Home() {\n  return (\n    <main>\n      <div class=\"\" />\n      {/*          ^if you place the cursor here the completion works    */}\n\n      <div >This doesn't show most properties</div>\n    </main>\n  );\n}\n",      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx",      version = 0    }  }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/typescriptVersion",  params = {    source = "workspace",    version = "4.9.5"  }}
[TRACE][2023-02-09 11:45:09] ...lsp/handlers.lua:596	"default_handler"	nil	{  ctx = "{\n  client_id = 2\n}",  result = {    token = 1,    value = {      kind = "end",      percentage = 100    }  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1052	"notification"	"$/typescriptVersion"	{  source = "workspace",  version = "4.9.5"}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 0,  jsonrpc = "2.0",  method = "window/workDoneProgress/create",  params = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04"  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1066	"server_request"	"window/workDoneProgress/create"	{  token = "9fdac18e-473f-4c78-8739-f393cd440e04"}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1069	"server_request: found handler for"	"window/workDoneProgress/create"
[TRACE][2023-02-09 11:45:09] ...lsp/handlers.lua:596	"default_handler"	"window/workDoneProgress/create"	{  ctx = '{\n  client_id = 1,\n  method = "window/workDoneProgress/create"\n}',  result = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04"  }}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:403	"server_request: callback result"	{  result = vim.NIL,  status = true}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 0,  jsonrpc = "2.0",  result = vim.NIL}
[DEBUG][2023-02-09 11:45:09] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[TRACE][2023-02-09 11:45:09] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "9fdac18e-473f-4c78-8739-f393cd440e04",  value = {    kind = "begin",    title = "Initializing JS/TS language features…"  }}
[TRACE][2023-02-09 11:45:09] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[DEBUG][2023-02-09 11:45:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04",    value = {      kind = "end"    }  }}
[TRACE][2023-02-09 11:45:11] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "9fdac18e-473f-4c78-8739-f393cd440e04",  value = {    kind = "end"  }}
[TRACE][2023-02-09 11:45:11] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "9fdac18e-473f-4c78-8739-f393cd440e04",    value = {      kind = "end"    }  }}
[DEBUG][2023-02-09 11:45:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 11:45:11] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 11:45:11] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 11:45:11] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 11:45:16] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 19,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 11:45:16] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 2,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 19,      line = 3    },    textDocument = {      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"    }  }}
[DEBUG][2023-02-09 11:45:16] .../lua/vim/lsp.lua:1388	"LSP[null-ls]"	"client.request"	2	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 19,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 11:45:16] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 2,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "$ServerOnly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "$ServerOnly",        insertText = "$ServerOnly",        kind = 5,        label = "$ServerOnly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "about" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "about",        insertText = "about",        kind = 5,        label = "about?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "accessKey" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "accessKey",        insertText = "accessKey",        kind = 5,        label = "accessKey?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autocapitalize" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "autocapitalize",        insertText = "autocapitalize",        kind = 5,        label = "autocapitalize?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoCapitalize" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "autoCapitalize",        insertText = "autoCapitalize",        kind = 5,        label = "autoCapitalize?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "class" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "class",        insertText = "class",        kind = 5,        label = "class?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "classList" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "classList",        insertText = "classList",        kind = 5,        label = "classList?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "color" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "color",        insertText = "color",        kind = 5,        label = "color?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contenteditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contenteditable",        insertText = "contenteditable",        kind = 5,        label = "contenteditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contextmenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contextmenu",        insertText = "contextmenu",        kind = 5,        label = "contextmenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contextMenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contextMenu",        insertText = "contextMenu",        kind = 5,        label = "contextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "datatype" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "datatype",        insertText = "datatype",        kind = 5,        label = "datatype?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "dir" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "dir",        insertText = "dir",        kind = 5,        label = "dir?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "exportparts" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "exportparts",        insertText = "exportparts",        kind = 5,        label = "exportparts?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "exportParts" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "exportParts",        insertText = "exportParts",        kind = 5,        label = "exportParts?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "id" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "id",        insertText = "id",        kind = 5,        label = "id?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inlist" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inlist",        insertText = "inlist",        kind = 5,        label = "inlist?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "innerHTML" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "innerHTML",        insertText = "innerHTML",        kind = 5,        label = "innerHTML?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "innerText" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "innerText",        insertText = "innerText",        kind = 5,        label = "innerText?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inputmode" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inputmode",        insertText = "inputmode",        kind = 5,        label = "inputmode?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inputMode" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inputMode",        insertText = "inputMode",        kind = 5,        label = "inputMode?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemid",        insertText = "itemid",        kind = 5,        label = "itemid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemId" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemId",        insertText = "itemId",        kind = 5,        label = "itemId?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemprop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemprop",        insertText = "itemprop",        kind = 5,        label = "itemprop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemProp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemProp",        insertText = "itemProp",        kind = 5,        label = "itemProp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemref" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemref",        insertText = "itemref",        kind = 5,        label = "itemref?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemRef" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemRef",        insertText = "itemRef",        kind = 5,        label = "itemRef?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemscope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemscope",        insertText = "itemscope",        kind = 5,        label = "itemscope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemtype" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemtype",        insertText = "itemtype",        kind = 5,        label = "itemtype?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemType" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemType",        insertText = "itemType",        kind = 5,        label = "itemType?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "lang" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "lang",        insertText = "lang",        kind = 5,        label = "lang?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onabort" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onabort",        insertText = "onabort",        kind = 5,        label = "onabort?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAbort" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAbort",        insertText = "onAbort",        kind = 5,        label = "onAbort?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationend",        insertText = "onanimationend",        kind = 5,        label = "onanimationend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationEnd",        insertText = "onAnimationEnd",        kind = 5,        label = "onAnimationEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationiteration" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationiteration",        insertText = "onanimationiteration",        kind = 5,        label = "onanimationiteration?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationIteration" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationIteration",        insertText = "onAnimationIteration",        kind = 5,        label = "onAnimationIteration?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationstart",        insertText = "onanimationstart",        kind = 5,        label = "onanimationstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationStart",        insertText = "onAnimationStart",        kind = 5,        label = "onAnimationStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onauxclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onauxclick",        insertText = "onauxclick",        kind = 5,        label = "onauxclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAuxClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAuxClick",        insertText = "onAuxClick",        kind = 5,        label = "onAuxClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onbeforeinput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onbeforeinput",        insertText = "onbeforeinput",        kind = 5,        label = "onbeforeinput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBeforeInput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onBeforeInput",        insertText = "onBeforeInput",        kind = 5,        label = "onBeforeInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onblur" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onblur",        insertText = "onblur",        kind = 5,        label = "onblur?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBlur" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onBlur",        insertText = "onBlur",        kind = 5,        label = "onBlur?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncanplay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncanplay",        insertText = "oncanplay",        kind = 5,        label = "oncanplay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCanPlay",        insertText = "onCanPlay",        kind = 5,        label = "onCanPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncanplaythrough" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncanplaythrough",        insertText = "oncanplaythrough",        kind = 5,        label = "oncanplaythrough?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlayThrough" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCanPlayThrough",        insertText = "onCanPlayThrough",        kind = 5,        label = "onCanPlayThrough?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onchange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onchange",        insertText = "onchange",        kind = 5,        label = "onchange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onChange",        insertText = "onChange",        kind = 5,        label = "onChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onclick",        insertText = "onclick",        kind = 5,        label = "onclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onClick",        insertText = "onClick",        kind = 5,        label = "onClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionend",        insertText = "oncompositionend",        kind = 5,        label = "oncompositionend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionEnd",        insertText = "onCompositionEnd",        kind = 5,        label = "onCompositionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionstart",        insertText = "oncompositionstart",        kind = 5,        label = "oncompositionstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionStart",        insertText = "onCompositionStart",        kind = 5,        label = "onCompositionStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionupdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionupdate",        insertText = "oncompositionupdate",        kind = 5,        label = "oncompositionupdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionUpdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionUpdate",        insertText = "onCompositionUpdate",        kind = 5,        label = "onCompositionUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncontextmenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncontextmenu",        insertText = "oncontextmenu",        kind = 5,        label = "oncontextmenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onContextMenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onContextMenu",        insertText = "onContextMenu",        kind = 5,        label = "onContextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncopy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncopy",        insertText = "oncopy",        kind = 5,        label = "oncopy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCopy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCopy",        insertText = "onCopy",        kind = 5,        label = "onCopy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncut",        insertText = "oncut",        kind = 5,        label = "oncut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCut",        insertText = "onCut",        kind = 5,        label = "onCut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondblclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondblclick",        insertText = "ondblclick",        kind = 5,        label = "ondblclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDblClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDblClick",        insertText = "onDblClick",        kind = 5,        label = "onDblClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondrag" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondrag",        insertText = "ondrag",        kind = 5,        label = "ondrag?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrag" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDrag",        insertText = "onDrag",        kind = 5,        label = "onDrag?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragend",        insertText = "ondragend",        kind = 5,        label = "ondragend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragEnd",        insertText = "onDragEnd",        kind = 5,        label = "onDragEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragenter",        insertText = "ondragenter",        kind = 5,        label = "ondragenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragEnter",        insertText = "onDragEnter",        kind = 5,        label = "onDragEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragexit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragexit",        insertText = "ondragexit",        kind = 5,        label = "ondragexit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragExit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragExit",        insertText = "onDragExit",        kind = 5,        label = "onDragExit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragleave",        insertText = "ondragleave",        kind = 5,        label = "ondragleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragLeave",        insertText = "onDragLeave",        kind = 5,        label = "onDragLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragover",        insertText = "ondragover",        kind = 5,        label = "ondragover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragOver",        insertText = "onDragOver",        kind = 5,        label = "onDragOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragstart",        insertText = "ondragstart",        kind = 5,        label = "ondragstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragStart",        insertText = "onDragStart",        kind = 5,        label = "onDragStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondrop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondrop",        insertText = "ondrop",        kind = 5,        label = "ondrop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDrop",        insertText = "onDrop",        kind = 5,        label = "onDrop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondurationchange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondurationchange",        insertText = "ondurationchange",        kind = 5,        label = "ondurationchange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDurationChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDurationChange",        insertText = "onDurationChange",        kind = 5,        label = "onDurationChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onemptied" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onemptied",        insertText = "onemptied",        kind = 5,        label = "onemptied?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEmptied" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEmptied",        insertText = "onEmptied",        kind = 5,        label = "onEmptied?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onencrypted" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onencrypted",        insertText = "onencrypted",        kind = 5,        label = "onencrypted?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEncrypted" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEncrypted",        insertText = "onEncrypted",        kind = 5,        label = "onEncrypted?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onended" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onended",        insertText = "onended",        kind = 5,        label = "onended?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEnded" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEnded",        insertText = "onEnded",        kind = 5,        label = "onEnded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onerror" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onerror",        insertText = "onerror",        kind = 5,        label = "onerror?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onError" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onError",        insertText = "onError",        kind = 5,        label = "onError?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocus" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocus",        insertText = "onfocus",        kind = 5,        label = "onfocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocus" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocus",        insertText = "onFocus",        kind = 5,        label = "onFocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocusin" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocusin",        insertText = "onfocusin",        kind = 5,        label = "onfocusin?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusIn" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocusIn",        insertText = "onFocusIn",        kind = 5,        label = "onFocusIn?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocusout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocusout",        insertText = "onfocusout",        kind = 5,        label = "onfocusout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocusOut",        insertText = "onFocusOut",        kind = 5,        label = "onFocusOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ongotpointercapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ongotpointercapture",        insertText = "ongotpointercapture",        kind = 5,        label = "ongotpointercapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onGotPointerCapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onGotPointerCapture",        insertText = "onGotPointerCapture",        kind = 5,        label = "onGotPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oninput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oninput",        insertText = "oninput",        kind = 5,        label = "oninput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onInput",        insertText = "onInput",        kind = 5,        label = "onInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oninvalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oninvalid",        insertText = "oninvalid",        kind = 5,        label = "oninvalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInvalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onInvalid",        insertText = "onInvalid",        kind = 5,        label = "onInvalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeydown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeydown",        insertText = "onkeydown",        kind = 5,        label = "onkeydown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyDown",        insertText = "onKeyDown",        kind = 5,        label = "onKeyDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeypress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeypress",        insertText = "onkeypress",        kind = 5,        label = "onkeypress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyPress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyPress",        insertText = "onKeyPress",        kind = 5,        label = "onKeyPress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeyup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeyup",        insertText = "onkeyup",        kind = 5,        label = "onkeyup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyUp",        insertText = "onKeyUp",        kind = 5,        label = "onKeyUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onload" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onload",        insertText = "onload",        kind = 5,        label = "onload?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoad" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoad",        insertText = "onLoad",        kind = 5,        label = "onLoad?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadeddata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadeddata",        insertText = "onloadeddata",        kind = 5,        label = "onloadeddata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedData" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadedData",        insertText = "onLoadedData",        kind = 5,        label = "onLoadedData?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadedmetadata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadedmetadata",        insertText = "onloadedmetadata",        kind = 5,        label = "onloadedmetadata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedMetadata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadedMetadata",        insertText = "onLoadedMetadata",        kind = 5,        label = "onLoadedMetadata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadstart",        insertText = "onloadstart",        kind = 5,        label = "onloadstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadStart",        insertText = "onLoadStart",        kind = 5,        label = "onLoadStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onlostpointercapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onlostpointercapture",        insertText = "onlostpointercapture",        kind = 5,        label = "onlostpointercapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLostPointerCapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLostPointerCapture",        insertText = "onLostPointerCapture",        kind = 5,        label = "onLostPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmousedown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmousedown",        insertText = "onmousedown",        kind = 5,        label = "onmousedown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseDown",        insertText = "onMouseDown",        kind = 5,        label = "onMouseDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseenter",        insertText = "onmouseenter",        kind = 5,        label = "onmouseenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseEnter",        insertText = "onMouseEnter",        kind = 5,        label = "onMouseEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseleave",        insertText = "onmouseleave",        kind = 5,        label = "onmouseleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseLeave",        insertText = "onMouseLeave",        kind = 5,        label = "onMouseLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmousemove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmousemove",        insertText = "onmousemove",        kind = 5,        label = "onmousemove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseMove",        insertText = "onMouseMove",        kind = 5,        label = "onMouseMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseout",        insertText = "onmouseout",        kind = 5,        label = "onmouseout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseOut",        insertText = "onMouseOut",        kind = 5,        label = "onMouseOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseover",        insertText = "onmouseover",        kind = 5,        label = "onmouseover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseOver",        insertText = "onMouseOver",        kind = 5,        label = "onMouseOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseup",        insertText = "onmouseup",        kind = 5,        label = "onmouseup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseUp",        insertText = "onMouseUp",        kind = 5,        label = "onMouseUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpaste" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpaste",        insertText = "onpaste",        kind = 5,        label = "onpaste?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPaste" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPaste",        insertText = "onPaste",        kind = 5,        label = "onPaste?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpause" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpause",        insertText = "onpause",        kind = 5,        label = "onpause?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPause" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPause",        insertText = "onPause",        kind = 5,        label = "onPause?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onplay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onplay",        insertText = "onplay",        kind = 5,        label = "onplay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPlay",        insertText = "onPlay",        kind = 5,        label = "onPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onplaying" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onplaying",        insertText = "onplaying",        kind = 5,        label = "onplaying?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlaying" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPlaying",        insertText = "onPlaying",        kind = 5,        label = "onPlaying?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointercancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointercancel",        insertText = "onpointercancel",        kind = 5,        label = "onpointercancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerCancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerCancel",        insertText = "onPointerCancel",        kind = 5,        label = "onPointerCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerdown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerdown",        insertText = "onpointerdown",        kind = 5,        label = "onpointerdown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerDown",        insertText = "onPointerDown",        kind = 5,        label = "onPointerDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerenter",        insertText = "onpointerenter",        kind = 5,        label = "onpointerenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerEnter",        insertText = "onPointerEnter",        kind = 5,        label = "onPointerEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerleave",        insertText = "onpointerleave",        kind = 5,        label = "onpointerleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerLeave",        insertText = "onPointerLeave",        kind = 5,        label = "onPointerLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointermove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointermove",        insertText = "onpointermove",        kind = 5,        label = "onpointermove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerMove",        insertText = "onPointerMove",        kind = 5,        label = "onPointerMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerout",        insertText = "onpointerout",        kind = 5,        label = "onpointerout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerOut",        insertText = "onPointerOut",        kind = 5,        label = "onPointerOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerover",        insertText = "onpointerover",        kind = 5,        label = "onpointerover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerOver",        insertText = "onPointerOver",        kind = 5,        label = "onPointerOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerup",        insertText = "onpointerup",        kind = 5,        label = "onpointerup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerUp",        insertText = "onPointerUp",        kind = 5,        label = "onPointerUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onprogress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onprogress",        insertText = "onprogress",        kind = 5,        label = "onprogress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onProgress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onProgress",        insertText = "onProgress",        kind = 5,        label = "onProgress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onratechange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onratechange",        insertText = "onratechange",        kind = 5,        label = "onratechange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onRateChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onRateChange",        insertText = "onRateChange",        kind = 5,        label = "onRateChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onreset" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onreset",        insertText = "onreset",        kind = 5,        label = "onreset?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onReset" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onReset",        insertText = "onReset",        kind = 5,        label = "onReset?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onscroll" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onscroll",        insertText = "onscroll",        kind = 5,        label = "onscroll?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onScroll" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onScroll",        insertText = "onScroll",        kind = 5,        label = "onScroll?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onseeked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onseeked",        insertText = "onseeked",        kind = 5,        label = "onseeked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSeeked",        insertText = "onSeeked",        kind = 5,        label = "onSeeked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onseeking" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onseeking",        insertText = "onseeking",        kind = 5,        label = "onseeking?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeking" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSeeking",        insertText = "onSeeking",        kind = 5,        label = "onSeeking?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onselect" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onselect",        insertText = "onselect",        kind = 5,        label = "onselect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSelect" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSelect",        insertText = "onSelect",        kind = 5,        label = "onSelect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onstalled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onstalled",        insertText = "onstalled",        kind = 5,        label = "onstalled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onStalled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onStalled",        insertText = "onStalled",        kind = 5,        label = "onStalled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onsubmit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onsubmit",        insertText = "onsubmit",        kind = 5,        label = "onsubmit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSubmit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSubmit",        insertText = "onSubmit",        kind = 5,        label = "onSubmit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onsuspend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onsuspend",        insertText = "onsuspend",        kind = 5,        label = "onsuspend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSuspend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSuspend",        insertText = "onSuspend",        kind = 5,        label = "onSuspend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontimeupdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontimeupdate",        insertText = "ontimeupdate",        kind = 5,        label = "ontimeupdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTimeUpdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTimeUpdate",        insertText = "onTimeUpdate",        kind = 5,        label = "onTimeUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchcancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchcancel",        insertText = "ontouchcancel",        kind = 5,        label = "ontouchcancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchCancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchCancel",        insertText = "onTouchCancel",        kind = 5,        label = "onTouchCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchend",        insertText = "ontouchend",        kind = 5,        label = "ontouchend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchEnd",        insertText = "onTouchEnd",        kind = 5,        label = "onTouchEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchmove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchmove",        insertText = "ontouchmove",        kind = 5,        label = "ontouchmove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchMove",        insertText = "onTouchMove",        kind = 5,        label = "onTouchMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchstart",        insertText = "ontouchstart",        kind = 5,        label = "ontouchstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchStart",        insertText = "onTouchStart",        kind = 5,        label = "onTouchStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontransitionend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontransitionend",        insertText = "ontransitionend",        kind = 5,        label = "ontransitionend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTransitionEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTransitionEnd",        insertText = "onTransitionEnd",        kind = 5,        label = "onTransitionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onvolumechange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onvolumechange",        insertText = "onvolumechange",        kind = 5,        label = "onvolumechange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onVolumeChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onVolumeChange",        insertText = "onVolumeChange",        kind = 5,        label = "onVolumeChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onwaiting" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onwaiting",        insertText = "onwaiting",        kind = 5,        label = "onwaiting?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWaiting" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onWaiting",        insertText = "onWaiting",        kind = 5,        label = "onWaiting?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onwheel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onwheel",        insertText = "onwheel",        kind = 5,        label = "onwheel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWheel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onWheel",        insertText = "onWheel",        kind = 5,        label = "onWheel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "part" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "part",        insertText = "part",        kind = 5,        label = "part?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "prefix" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "prefix",        insertText = "prefix",        kind = 5,        label = "prefix?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "property" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "property",        insertText = "property",        kind = 5,        label = "property?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ref" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ref",        insertText = "ref",        kind = 5,        label = "ref?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "resource" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "resource",        insertText = "resource",        kind = 5,        label = "resource?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "role" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "role",        insertText = "role",        kind = 5,        label = "role?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "slot" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "slot",        insertText = "slot",        kind = 5,        label = "slot?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellcheck" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "spellcheck",        insertText = "spellcheck",        kind = 5,        label = "spellcheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "style" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "style",        insertText = "style",        kind = 5,        label = "style?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "tabindex" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "tabindex",        insertText = "tabindex",        kind = 5,        label = "tabindex?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "tabIndex" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "tabIndex",        insertText = "tabIndex",        kind = 5,        label = "tabIndex?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "textContent" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "textContent",        insertText = "textContent",        kind = 5,        label = "textContent?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "title" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "title",        insertText = "title",        kind = 5,        label = "title?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "translate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "translate",        insertText = "translate",        kind = 5,        label = "translate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "typeof" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "typeof",        insertText = "typeof",        kind = 5,        label = "typeof?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "vocab" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "vocab",        insertText = "vocab",        kind = 5,        label = "vocab?",        sortText = "12"      } }  }}

Note again that the latter has more completion items than the former.

@rchl
Copy link
Member

rchl commented Feb 9, 2023

Do you have two separate LSP servers running or am I misreading the logs?

In the first log I can see that completion request is triggered for LSP[null-ls] and LSP[tsserver] but the log only contains response from LSP[null-ls]. Same in the second log in fact.

If those are different servers then that likely explains some things. Not sure how neovim handles multiple servers situation in regards to completion requests...

@sQVe
Copy link

sQVe commented Feb 9, 2023

@rchl Indeed. I have two LSP running, one for TypeScript and one for diagnostics etc.

I'll turn null-ls off and give you new logs.

@sQVe
Copy link

sQVe commented Feb 9, 2023

So, this is the logs without null-ls.

This is when triggering completion with cursor left to the / of line https://github.com/brun8/tsserver-completions/blob/master/src/routes/index.tsx#L4:

[START][2023-02-09 17:18:18] LSP logging initiated
[INFO][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:662	"Starting RPC client"	{  args = { "--stdio" },  cmd = "typescript-language-server",  extra = {    cwd = "/home/sqve/code/tsserver-completions"  }}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1283	"LSP[tsserver]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  initializationOptions = {    hostInfo = "neovim",    preferences = {      importModuleSpecifierPreference = "relative",      quotePreference = "single"    }  },  processId = 59348,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = false,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = false,            deprecatedSupport = false,            documentationFormat = { "markdown", "plaintext" },            preselectSupport = false,            snippetSupport = false          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          contextSupport = false,          dynamicRegistration = false        },        declaration = {          linkSupport = true        },        definition = {          linkSupport = true        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = false        },        implementation = {          linkSupport = true        },        publishDiagnostics = {          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = false,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          hierarchicalWorkspaceSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.9.0"    },    initializationOptions = {      hostInfo = "neovim",      preferences = {        importModuleSpecifierPreference = "relative",        quotePreference = "single"      }    },    processId = 59348,    rootPath = "/home/sqve/code/tsserver-completions",    rootUri = "file:///home/sqve/code/tsserver-completions",    trace = "off",    workspaceFolders = { {        name = "/home/sqve/code/tsserver-completions",        uri = "file:///home/sqve/code/tsserver-completions"      } }  }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      callHierarchyProvider = true,      codeActionProvider = {        codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }      },      completionProvider = {        resolveProvider = true,        triggerCharacters = { ".", '"', "'", "/", "@", "<" }      },      definitionProvider = true,      documentFormattingProvider = true,      documentHighlightProvider = true,      documentRangeFormattingProvider = true,      documentSymbolProvider = true,      executeCommandProvider = {        commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }      },      foldingRangeProvider = true,      hoverProvider = true,      implementationProvider = true,      inlayHintProvider = true,      referencesProvider = true,      renameProvider = {        prepareProvider = true      },      selectionRangeProvider = true,      semanticTokensProvider = {        full = true,        legend = {          tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },          tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }        },        range = true      },      signatureHelpProvider = {        retriggerCharacters = { ")" },        triggerCharacters = { "(", ",", "<" }      },      textDocumentSync = 2,      typeDefinitionProvider = true,      workspaceSymbolProvider = true    }  }}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1052	"notification"	"window/logMessage"	{  message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',  type = 2}
[TRACE][2023-02-09 17:18:18] ...lsp/handlers.lua:596	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[WARN][2023-02-09 17:18:18] ...lsp/handlers.lua:515	'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"'
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[INFO][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1341	"LSP[tsserver]"	"server_capabilities"	{  server_capabilities = {    callHierarchyProvider = true,    codeActionProvider = {      codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }    },    completionProvider = {      resolveProvider = true,      triggerCharacters = { ".", '"', "'", "/", "@", "<" }    },    definitionProvider = true,    documentFormattingProvider = true,    documentHighlightProvider = true,    documentRangeFormattingProvider = true,    documentSymbolProvider = true,    executeCommandProvider = {      commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }    },    foldingRangeProvider = true,    hoverProvider = true,    implementationProvider = true,    inlayHintProvider = true,    referencesProvider = true,    renameProvider = {      prepareProvider = true    },    selectionRangeProvider = true,    semanticTokensProvider = {      full = true,      legend = {        tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },        tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }      },      range = true    },    signatureHelpProvider = {      retriggerCharacters = { ")" },      triggerCharacters = { "(", ",", "<" }    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    },    typeDefinitionProvider = true,    workspaceSymbolProvider = true  }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "typescriptreact",      text = "export default function Home() {\n  return (\n    <main>\n      <div class=\"\" />\n      {/*          ^if you place the cursor here the completion works    */}\n\n      <div >This doesn't show most properties</div>\n    </main>\n  );\n}\n",      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx",      version = 0    }  }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/typescriptVersion",  params = {    source = "workspace",    version = "4.9.5"  }}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1052	"notification"	"$/typescriptVersion"	{  source = "workspace",  version = "4.9.5"}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 0,  jsonrpc = "2.0",  method = "window/workDoneProgress/create",  params = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca"  }}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1066	"server_request"	"window/workDoneProgress/create"	{  token = "8f85f78c-6670-4acc-856b-d630e3dc93ca"}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1069	"server_request: found handler for"	"window/workDoneProgress/create"
[TRACE][2023-02-09 17:18:18] ...lsp/handlers.lua:596	"default_handler"	"window/workDoneProgress/create"	{  ctx = '{\n  client_id = 1,\n  method = "window/workDoneProgress/create"\n}',  result = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca"  }}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:403	"server_request: callback result"	{  result = vim.NIL,  status = true}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 0,  jsonrpc = "2.0",  result = vim.NIL}
[DEBUG][2023-02-09 17:18:18] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[TRACE][2023-02-09 17:18:18] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",  value = {    kind = "begin",    title = "Initializing JS/TS language features…"  }}
[TRACE][2023-02-09 17:18:18] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[DEBUG][2023-02-09 17:18:19] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",    value = {      kind = "end"    }  }}
[TRACE][2023-02-09 17:18:19] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",  value = {    kind = "end"  }}
[TRACE][2023-02-09 17:18:19] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "8f85f78c-6670-4acc-856b-d630e3dc93ca",    value = {      kind = "end"    }  }}
[DEBUG][2023-02-09 17:18:19] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 17:18:19] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 17:18:28] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 20,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 17:18:28] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 2,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 20,      line = 3    },    textDocument = {      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"    }  }}
[DEBUG][2023-02-09 17:18:28] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 2,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "$ServerOnly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "$ServerOnly",        insertText = "$ServerOnly",        kind = 5,        label = "$ServerOnly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-atomic" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-atomic",        insertText = "aria-atomic",        kind = 5,        label = "aria-atomic?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-busy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-busy",        insertText = "aria-busy",        kind = 5,        label = "aria-busy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-checked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-checked",        insertText = "aria-checked",        kind = 5,        label = "aria-checked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-current" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-current",        insertText = "aria-current",        kind = 5,        label = "aria-current?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-disabled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-disabled",        insertText = "aria-disabled",        kind = 5,        label = "aria-disabled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-expanded" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-expanded",        insertText = "aria-expanded",        kind = 5,        label = "aria-expanded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-haspopup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-haspopup",        insertText = "aria-haspopup",        kind = 5,        label = "aria-haspopup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-hidden",        insertText = "aria-hidden",        kind = 5,        label = "aria-hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-invalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-invalid",        insertText = "aria-invalid",        kind = 5,        label = "aria-invalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-modal" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-modal",        insertText = "aria-modal",        kind = 5,        label = "aria-modal?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiline" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-multiline",        insertText = "aria-multiline",        kind = 5,        label = "aria-multiline?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-multiselectable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-multiselectable",        insertText = "aria-multiselectable",        kind = 5,        label = "aria-multiselectable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-pressed" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-pressed",        insertText = "aria-pressed",        kind = 5,        label = "aria-pressed?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-readonly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-readonly",        insertText = "aria-readonly",        kind = 5,        label = "aria-readonly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-required" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-required",        insertText = "aria-required",        kind = 5,        label = "aria-required?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-selected" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-selected",        insertText = "aria-selected",        kind = 5,        label = "aria-selected?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contenteditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "contenteditable",        insertText = "contenteditable",        kind = 5,        label = "contenteditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemscope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "itemscope",        insertText = "itemscope",        kind = 5,        label = "itemscope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellcheck" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "spellcheck",        insertText = "spellcheck",        kind = 5,        label = "spellcheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "aria-grabbed" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 21        },        filterText = "aria-grabbed",        insertText = "aria-grabbed",        kind = 5,        label = "aria-grabbed?",        sortText = "z12",        tags = { 1 }      } }  }}

This is when triggering completion with cursor right to the last " of line https://github.com/brun8/tsserver-completions/blob/master/src/routes/index.tsx#L4:

[START][2023-02-09 17:19:44] LSP logging initiated
[INFO][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:662	"Starting RPC client"	{  args = { "--stdio" },  cmd = "typescript-language-server",  extra = {    cwd = "/home/sqve/code/tsserver-completions"  }}
[TRACE][2023-02-09 17:19:44] .../lua/vim/lsp.lua:1283	"LSP[tsserver]"	"initialize_params"	{  capabilities = {    textDocument = {      callHierarchy = {        dynamicRegistration = false      },      codeAction = {        codeActionLiteralSupport = {          codeActionKind = {            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }          }        },        dataSupport = true,        dynamicRegistration = false,        isPreferredSupport = true,        resolveSupport = {          properties = { "edit" }        }      },      completion = {        completionItem = {          commitCharactersSupport = false,          deprecatedSupport = false,          documentationFormat = { "markdown", "plaintext" },          preselectSupport = false,          snippetSupport = false        },        completionItemKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }        },        contextSupport = false,        dynamicRegistration = false      },      declaration = {        linkSupport = true      },      definition = {        linkSupport = true      },      documentHighlight = {        dynamicRegistration = false      },      documentSymbol = {        dynamicRegistration = false,        hierarchicalDocumentSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      hover = {        contentFormat = { "markdown", "plaintext" },        dynamicRegistration = false      },      implementation = {        linkSupport = true      },      publishDiagnostics = {        relatedInformation = true,        tagSupport = {          valueSet = { 1, 2 }        }      },      references = {        dynamicRegistration = false      },      rename = {        dynamicRegistration = false,        prepareSupport = true      },      semanticTokens = {        augmentsSyntaxTokens = true,        dynamicRegistration = false,        formats = { "relative" },        multilineTokenSupport = false,        overlappingTokenSupport = true,        requests = {          full = {            delta = true          },          range = false        },        serverCancelSupport = false,        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }      },      signatureHelp = {        dynamicRegistration = false,        signatureInformation = {          activeParameterSupport = true,          documentationFormat = { "markdown", "plaintext" },          parameterInformation = {            labelOffsetSupport = true          }        }      },      synchronization = {        didSave = true,        dynamicRegistration = false,        willSave = true,        willSaveWaitUntil = true      },      typeDefinition = {        linkSupport = true      }    },    window = {      showDocument = {        support = true      },      showMessage = {        messageActionItem = {          additionalPropertiesSupport = false        }      },      workDoneProgress = true    },    workspace = {      applyEdit = true,      configuration = true,      semanticTokens = {        refreshSupport = true      },      symbol = {        dynamicRegistration = false,        hierarchicalWorkspaceSymbolSupport = true,        symbolKind = {          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }        }      },      workspaceEdit = {        resourceOperations = { "rename", "create", "delete" }      },      workspaceFolders = true    }  },  clientInfo = {    name = "Neovim",    version = "0.9.0"  },  initializationOptions = {    hostInfo = "neovim",    preferences = {      importModuleSpecifierPreference = "relative",      quotePreference = "single"    }  },  processId = 60910,  rootPath = "/home/sqve/code/tsserver-completions",  rootUri = "file:///home/sqve/code/tsserver-completions",  trace = "off",  workspaceFolders = { {      name = "/home/sqve/code/tsserver-completions",      uri = "file:///home/sqve/code/tsserver-completions"    } }}
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = false,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = false,            deprecatedSupport = false,            documentationFormat = { "markdown", "plaintext" },            preselectSupport = false,            snippetSupport = false          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          contextSupport = false,          dynamicRegistration = false        },        declaration = {          linkSupport = true        },        definition = {          linkSupport = true        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = false        },        implementation = {          linkSupport = true        },        publishDiagnostics = {          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = false,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          hierarchicalWorkspaceSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.9.0"    },    initializationOptions = {      hostInfo = "neovim",      preferences = {        importModuleSpecifierPreference = "relative",        quotePreference = "single"      }    },    processId = 60910,    rootPath = "/home/sqve/code/tsserver-completions",    rootUri = "file:///home/sqve/code/tsserver-completions",    trace = "off",    workspaceFolders = { {        name = "/home/sqve/code/tsserver-completions",        uri = "file:///home/sqve/code/tsserver-completions"      } }  }}
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "window/logMessage",  params = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      callHierarchyProvider = true,      codeActionProvider = {        codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }      },      completionProvider = {        resolveProvider = true,        triggerCharacters = { ".", '"', "'", "/", "@", "<" }      },      definitionProvider = true,      documentFormattingProvider = true,      documentHighlightProvider = true,      documentRangeFormattingProvider = true,      documentSymbolProvider = true,      executeCommandProvider = {        commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }      },      foldingRangeProvider = true,      hoverProvider = true,      implementationProvider = true,      inlayHintProvider = true,      referencesProvider = true,      renameProvider = {        prepareProvider = true      },      selectionRangeProvider = true,      semanticTokensProvider = {        full = true,        legend = {          tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },          tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }        },        range = true      },      signatureHelpProvider = {        retriggerCharacters = { ")" },        triggerCharacters = { "(", ",", "<" }      },      textDocumentSync = 2,      typeDefinitionProvider = true,      workspaceSymbolProvider = true    }  }}
[TRACE][2023-02-09 17:19:44] .../lua/vim/lsp.lua:1052	"notification"	"window/logMessage"	{  message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',  type = 2}
[TRACE][2023-02-09 17:19:44] ...lsp/handlers.lua:596	"default_handler"	"window/logMessage"	{  ctx = '{\n  client_id = 1,\n  method = "window/logMessage"\n}',  result = {    message = 'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"',    type = 2  }}
[WARN][2023-02-09 17:19:44] ...lsp/handlers.lua:515	'Using Typescript version (workspace) 4.9.5 from path "/home/sqve/code/tsserver-completions/node_modules/typescript/lib/tsserver.js"'
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[INFO][2023-02-09 17:19:44] .../lua/vim/lsp.lua:1341	"LSP[tsserver]"	"server_capabilities"	{  server_capabilities = {    callHierarchyProvider = true,    codeActionProvider = {      codeActionKinds = { "source.fixAll.ts", "source.removeUnused.ts", "source.addMissingImports.ts", "source.organizeImports.ts", "quickfix", "refactor" }    },    completionProvider = {      resolveProvider = true,      triggerCharacters = { ".", '"', "'", "/", "@", "<" }    },    definitionProvider = true,    documentFormattingProvider = true,    documentHighlightProvider = true,    documentRangeFormattingProvider = true,    documentSymbolProvider = true,    executeCommandProvider = {      commands = { "_typescript.applyWorkspaceEdit", "_typescript.applyCodeAction", "_typescript.applyRefactoring", "_typescript.configurePlugin", "_typescript.organizeImports", "_typescript.applyRenameFile", "_typescript.goToSourceDefinition" }    },    foldingRangeProvider = true,    hoverProvider = true,    implementationProvider = true,    inlayHintProvider = true,    referencesProvider = true,    renameProvider = {      prepareProvider = true    },    selectionRangeProvider = true,    semanticTokensProvider = {      full = true,      legend = {        tokenModifiers = { "declaration", "static", "async", "readonly", "defaultLibrary", "local" },        tokenTypes = { "class", "enum", "interface", "namespace", "typeParameter", "type", "parameter", "variable", "enumMember", "property", "function", "member" }      },      range = true    },    signatureHelpProvider = {      retriggerCharacters = { ")" },      triggerCharacters = { "(", ",", "<" }    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    },    typeDefinitionProvider = true,    workspaceSymbolProvider = true  }}
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:284	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "typescriptreact",      text = "export default function Home() {\n  return (\n    <main>\n      <div class=\"\" />\n      {/*          ^if you place the cursor here the completion works    */}\n\n      <div >This doesn't show most properties</div>\n    </main>\n  );\n}\n",      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx",      version = 0    }  }}
[DEBUG][2023-02-09 17:19:44] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/typescriptVersion",  params = {    source = "workspace",    version = "4.9.5"  }}
[TRACE][2023-02-09 17:19:45] .../lua/vim/lsp.lua:1052	"notification"	"$/typescriptVersion"	{  source = "workspace",  version = "4.9.5"}
[DEBUG][2023-02-09 17:19:45] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 0,  jsonrpc = "2.0",  method = "window/workDoneProgress/create",  params = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea"  }}
[TRACE][2023-02-09 17:19:45] .../lua/vim/lsp.lua:1066	"server_request"	"window/workDoneProgress/create"	{  token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea"}
[TRACE][2023-02-09 17:19:45] .../lua/vim/lsp.lua:1069	"server_request: found handler for"	"window/workDoneProgress/create"
[TRACE][2023-02-09 17:19:45] ...lsp/handlers.lua:596	"default_handler"	"window/workDoneProgress/create"	{  ctx = '{\n  client_id = 1,\n  method = "window/workDoneProgress/create"\n}',  result = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea"  }}
[DEBUG][2023-02-09 17:19:45] .../vim/lsp/rpc.lua:403	"server_request: callback result"	{  result = vim.NIL,  status = true}
[DEBUG][2023-02-09 17:19:45] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 0,  jsonrpc = "2.0",  result = vim.NIL}
[DEBUG][2023-02-09 17:19:45] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[TRACE][2023-02-09 17:19:45] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",  value = {    kind = "begin",    title = "Initializing JS/TS language features…"  }}
[TRACE][2023-02-09 17:19:45] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",    value = {      kind = "begin",      title = "Initializing JS/TS language features…"    }  }}
[DEBUG][2023-02-09 17:19:46] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "$/progress",  params = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",    value = {      kind = "end"    }  }}
[TRACE][2023-02-09 17:19:46] .../lua/vim/lsp.lua:1052	"notification"	"$/progress"	{  token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",  value = {    kind = "end"  }}
[TRACE][2023-02-09 17:19:46] ...lsp/handlers.lua:596	"default_handler"	"$/progress"	{  ctx = '{\n  client_id = 1,\n  method = "$/progress"\n}',  result = {    token = "4298a69f-c8b4-4d85-ab3d-f44309ffedea",    value = {      kind = "end"    }  }}
[DEBUG][2023-02-09 17:19:46] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}
[TRACE][2023-02-09 17:19:46] .../lua/vim/lsp.lua:1052	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"}
[DEBUG][2023-02-09 17:19:53] .../lua/vim/lsp.lua:1388	"LSP[tsserver]"	"client.request"	1	"textDocument/completion"	{  context = {    triggerKind = 1  },  position = {    character = 19,    line = 3  },  textDocument = {    uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"  }}	<function 1>	1
[DEBUG][2023-02-09 17:19:53] .../vim/lsp/rpc.lua:284	"rpc.send"	{  id = 2,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 19,      line = 3    },    textDocument = {      uri = "file:///home/sqve/code/tsserver-completions/src/routes/index.tsx"    }  }}
[DEBUG][2023-02-09 17:19:53] .../vim/lsp/rpc.lua:387	"rpc.receive"	{  id = 2,  jsonrpc = "2.0",  result = {    isIncomplete = false,    items = { {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "$ServerOnly" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "$ServerOnly",        insertText = "$ServerOnly",        kind = 5,        label = "$ServerOnly?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "about" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "about",        insertText = "about",        kind = 5,        label = "about?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "accessKey" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "accessKey",        insertText = "accessKey",        kind = 5,        label = "accessKey?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autocapitalize" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "autocapitalize",        insertText = "autocapitalize",        kind = 5,        label = "autocapitalize?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "autoCapitalize" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "autoCapitalize",        insertText = "autoCapitalize",        kind = 5,        label = "autoCapitalize?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "children" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "children",        insertText = "children",        kind = 5,        label = "children?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "class" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "class",        insertText = "class",        kind = 5,        label = "class?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "classList" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "classList",        insertText = "classList",        kind = 5,        label = "classList?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "color" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "color",        insertText = "color",        kind = 5,        label = "color?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contenteditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contenteditable",        insertText = "contenteditable",        kind = 5,        label = "contenteditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contentEditable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contentEditable",        insertText = "contentEditable",        kind = 5,        label = "contentEditable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contextmenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contextmenu",        insertText = "contextmenu",        kind = 5,        label = "contextmenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "contextMenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "contextMenu",        insertText = "contextMenu",        kind = 5,        label = "contextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "datatype" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "datatype",        insertText = "datatype",        kind = 5,        label = "datatype?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "dir" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "dir",        insertText = "dir",        kind = 5,        label = "dir?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "draggable" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "draggable",        insertText = "draggable",        kind = 5,        label = "draggable?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "exportparts" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "exportparts",        insertText = "exportparts",        kind = 5,        label = "exportparts?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "exportParts" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "exportParts",        insertText = "exportParts",        kind = 5,        label = "exportParts?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "hidden" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "hidden",        insertText = "hidden",        kind = 5,        label = "hidden?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "id" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "id",        insertText = "id",        kind = 5,        label = "id?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inlist" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inlist",        insertText = "inlist",        kind = 5,        label = "inlist?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "innerHTML" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "innerHTML",        insertText = "innerHTML",        kind = 5,        label = "innerHTML?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "innerText" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "innerText",        insertText = "innerText",        kind = 5,        label = "innerText?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inputmode" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inputmode",        insertText = "inputmode",        kind = 5,        label = "inputmode?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "inputMode" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "inputMode",        insertText = "inputMode",        kind = 5,        label = "inputMode?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemid",        insertText = "itemid",        kind = 5,        label = "itemid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemId" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemId",        insertText = "itemId",        kind = 5,        label = "itemId?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemprop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemprop",        insertText = "itemprop",        kind = 5,        label = "itemprop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemProp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemProp",        insertText = "itemProp",        kind = 5,        label = "itemProp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemref" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemref",        insertText = "itemref",        kind = 5,        label = "itemref?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemRef" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemRef",        insertText = "itemRef",        kind = 5,        label = "itemRef?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemscope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemscope",        insertText = "itemscope",        kind = 5,        label = "itemscope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemScope" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemScope",        insertText = "itemScope",        kind = 5,        label = "itemScope?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemtype" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemtype",        insertText = "itemtype",        kind = 5,        label = "itemtype?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "itemType" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "itemType",        insertText = "itemType",        kind = 5,        label = "itemType?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "lang" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "lang",        insertText = "lang",        kind = 5,        label = "lang?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onabort" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onabort",        insertText = "onabort",        kind = 5,        label = "onabort?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAbort" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAbort",        insertText = "onAbort",        kind = 5,        label = "onAbort?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationend",        insertText = "onanimationend",        kind = 5,        label = "onanimationend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationEnd",        insertText = "onAnimationEnd",        kind = 5,        label = "onAnimationEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationiteration" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationiteration",        insertText = "onanimationiteration",        kind = 5,        label = "onanimationiteration?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationIteration" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationIteration",        insertText = "onAnimationIteration",        kind = 5,        label = "onAnimationIteration?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onanimationstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onanimationstart",        insertText = "onanimationstart",        kind = 5,        label = "onanimationstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAnimationStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAnimationStart",        insertText = "onAnimationStart",        kind = 5,        label = "onAnimationStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onauxclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onauxclick",        insertText = "onauxclick",        kind = 5,        label = "onauxclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onAuxClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onAuxClick",        insertText = "onAuxClick",        kind = 5,        label = "onAuxClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onbeforeinput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onbeforeinput",        insertText = "onbeforeinput",        kind = 5,        label = "onbeforeinput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBeforeInput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onBeforeInput",        insertText = "onBeforeInput",        kind = 5,        label = "onBeforeInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onblur" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onblur",        insertText = "onblur",        kind = 5,        label = "onblur?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onBlur" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onBlur",        insertText = "onBlur",        kind = 5,        label = "onBlur?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncanplay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncanplay",        insertText = "oncanplay",        kind = 5,        label = "oncanplay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCanPlay",        insertText = "onCanPlay",        kind = 5,        label = "onCanPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncanplaythrough" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncanplaythrough",        insertText = "oncanplaythrough",        kind = 5,        label = "oncanplaythrough?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCanPlayThrough" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCanPlayThrough",        insertText = "onCanPlayThrough",        kind = 5,        label = "onCanPlayThrough?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onchange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onchange",        insertText = "onchange",        kind = 5,        label = "onchange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onChange",        insertText = "onChange",        kind = 5,        label = "onChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onclick",        insertText = "onclick",        kind = 5,        label = "onclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onClick",        insertText = "onClick",        kind = 5,        label = "onClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionend",        insertText = "oncompositionend",        kind = 5,        label = "oncompositionend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionEnd",        insertText = "onCompositionEnd",        kind = 5,        label = "onCompositionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionstart",        insertText = "oncompositionstart",        kind = 5,        label = "oncompositionstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionStart",        insertText = "onCompositionStart",        kind = 5,        label = "onCompositionStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncompositionupdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncompositionupdate",        insertText = "oncompositionupdate",        kind = 5,        label = "oncompositionupdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCompositionUpdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCompositionUpdate",        insertText = "onCompositionUpdate",        kind = 5,        label = "onCompositionUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncontextmenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncontextmenu",        insertText = "oncontextmenu",        kind = 5,        label = "oncontextmenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onContextMenu" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onContextMenu",        insertText = "onContextMenu",        kind = 5,        label = "onContextMenu?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncopy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncopy",        insertText = "oncopy",        kind = 5,        label = "oncopy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCopy" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCopy",        insertText = "onCopy",        kind = 5,        label = "onCopy?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oncut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oncut",        insertText = "oncut",        kind = 5,        label = "oncut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onCut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onCut",        insertText = "onCut",        kind = 5,        label = "onCut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondblclick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondblclick",        insertText = "ondblclick",        kind = 5,        label = "ondblclick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDblClick" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDblClick",        insertText = "onDblClick",        kind = 5,        label = "onDblClick?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondrag" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondrag",        insertText = "ondrag",        kind = 5,        label = "ondrag?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrag" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDrag",        insertText = "onDrag",        kind = 5,        label = "onDrag?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragend",        insertText = "ondragend",        kind = 5,        label = "ondragend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragEnd",        insertText = "onDragEnd",        kind = 5,        label = "onDragEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragenter",        insertText = "ondragenter",        kind = 5,        label = "ondragenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragEnter",        insertText = "onDragEnter",        kind = 5,        label = "onDragEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragexit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragexit",        insertText = "ondragexit",        kind = 5,        label = "ondragexit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragExit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragExit",        insertText = "onDragExit",        kind = 5,        label = "onDragExit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragleave",        insertText = "ondragleave",        kind = 5,        label = "ondragleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragLeave",        insertText = "onDragLeave",        kind = 5,        label = "onDragLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragover",        insertText = "ondragover",        kind = 5,        label = "ondragover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragOver",        insertText = "onDragOver",        kind = 5,        label = "onDragOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondragstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondragstart",        insertText = "ondragstart",        kind = 5,        label = "ondragstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDragStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDragStart",        insertText = "onDragStart",        kind = 5,        label = "onDragStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondrop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondrop",        insertText = "ondrop",        kind = 5,        label = "ondrop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDrop" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDrop",        insertText = "onDrop",        kind = 5,        label = "onDrop?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ondurationchange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ondurationchange",        insertText = "ondurationchange",        kind = 5,        label = "ondurationchange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onDurationChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onDurationChange",        insertText = "onDurationChange",        kind = 5,        label = "onDurationChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onemptied" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onemptied",        insertText = "onemptied",        kind = 5,        label = "onemptied?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEmptied" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEmptied",        insertText = "onEmptied",        kind = 5,        label = "onEmptied?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onencrypted" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onencrypted",        insertText = "onencrypted",        kind = 5,        label = "onencrypted?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEncrypted" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEncrypted",        insertText = "onEncrypted",        kind = 5,        label = "onEncrypted?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onended" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onended",        insertText = "onended",        kind = 5,        label = "onended?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onEnded" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onEnded",        insertText = "onEnded",        kind = 5,        label = "onEnded?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onerror" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onerror",        insertText = "onerror",        kind = 5,        label = "onerror?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onError" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onError",        insertText = "onError",        kind = 5,        label = "onError?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocus" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocus",        insertText = "onfocus",        kind = 5,        label = "onfocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocus" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocus",        insertText = "onFocus",        kind = 5,        label = "onFocus?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocusin" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocusin",        insertText = "onfocusin",        kind = 5,        label = "onfocusin?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusIn" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocusIn",        insertText = "onFocusIn",        kind = 5,        label = "onFocusIn?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onfocusout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onfocusout",        insertText = "onfocusout",        kind = 5,        label = "onfocusout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onFocusOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onFocusOut",        insertText = "onFocusOut",        kind = 5,        label = "onFocusOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ongotpointercapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ongotpointercapture",        insertText = "ongotpointercapture",        kind = 5,        label = "ongotpointercapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onGotPointerCapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onGotPointerCapture",        insertText = "onGotPointerCapture",        kind = 5,        label = "onGotPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oninput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oninput",        insertText = "oninput",        kind = 5,        label = "oninput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInput" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onInput",        insertText = "onInput",        kind = 5,        label = "onInput?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "oninvalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "oninvalid",        insertText = "oninvalid",        kind = 5,        label = "oninvalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onInvalid" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onInvalid",        insertText = "onInvalid",        kind = 5,        label = "onInvalid?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeydown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeydown",        insertText = "onkeydown",        kind = 5,        label = "onkeydown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyDown",        insertText = "onKeyDown",        kind = 5,        label = "onKeyDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeypress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeypress",        insertText = "onkeypress",        kind = 5,        label = "onkeypress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyPress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyPress",        insertText = "onKeyPress",        kind = 5,        label = "onKeyPress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onkeyup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onkeyup",        insertText = "onkeyup",        kind = 5,        label = "onkeyup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onKeyUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onKeyUp",        insertText = "onKeyUp",        kind = 5,        label = "onKeyUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onload" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onload",        insertText = "onload",        kind = 5,        label = "onload?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoad" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoad",        insertText = "onLoad",        kind = 5,        label = "onLoad?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadeddata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadeddata",        insertText = "onloadeddata",        kind = 5,        label = "onloadeddata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedData" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadedData",        insertText = "onLoadedData",        kind = 5,        label = "onLoadedData?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadedmetadata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadedmetadata",        insertText = "onloadedmetadata",        kind = 5,        label = "onloadedmetadata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadedMetadata" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadedMetadata",        insertText = "onLoadedMetadata",        kind = 5,        label = "onLoadedMetadata?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onloadstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onloadstart",        insertText = "onloadstart",        kind = 5,        label = "onloadstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLoadStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLoadStart",        insertText = "onLoadStart",        kind = 5,        label = "onLoadStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onlostpointercapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onlostpointercapture",        insertText = "onlostpointercapture",        kind = 5,        label = "onlostpointercapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onLostPointerCapture" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onLostPointerCapture",        insertText = "onLostPointerCapture",        kind = 5,        label = "onLostPointerCapture?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmousedown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmousedown",        insertText = "onmousedown",        kind = 5,        label = "onmousedown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseDown",        insertText = "onMouseDown",        kind = 5,        label = "onMouseDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseenter",        insertText = "onmouseenter",        kind = 5,        label = "onmouseenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseEnter",        insertText = "onMouseEnter",        kind = 5,        label = "onMouseEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseleave",        insertText = "onmouseleave",        kind = 5,        label = "onmouseleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseLeave",        insertText = "onMouseLeave",        kind = 5,        label = "onMouseLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmousemove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmousemove",        insertText = "onmousemove",        kind = 5,        label = "onmousemove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseMove",        insertText = "onMouseMove",        kind = 5,        label = "onMouseMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseout",        insertText = "onmouseout",        kind = 5,        label = "onmouseout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseOut",        insertText = "onMouseOut",        kind = 5,        label = "onMouseOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseover",        insertText = "onmouseover",        kind = 5,        label = "onmouseover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseOver",        insertText = "onMouseOver",        kind = 5,        label = "onMouseOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onmouseup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onmouseup",        insertText = "onmouseup",        kind = 5,        label = "onmouseup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onMouseUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onMouseUp",        insertText = "onMouseUp",        kind = 5,        label = "onMouseUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpaste" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpaste",        insertText = "onpaste",        kind = 5,        label = "onpaste?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPaste" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPaste",        insertText = "onPaste",        kind = 5,        label = "onPaste?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpause" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpause",        insertText = "onpause",        kind = 5,        label = "onpause?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPause" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPause",        insertText = "onPause",        kind = 5,        label = "onPause?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onplay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onplay",        insertText = "onplay",        kind = 5,        label = "onplay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlay" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPlay",        insertText = "onPlay",        kind = 5,        label = "onPlay?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onplaying" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onplaying",        insertText = "onplaying",        kind = 5,        label = "onplaying?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPlaying" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPlaying",        insertText = "onPlaying",        kind = 5,        label = "onPlaying?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointercancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointercancel",        insertText = "onpointercancel",        kind = 5,        label = "onpointercancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerCancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerCancel",        insertText = "onPointerCancel",        kind = 5,        label = "onPointerCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerdown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerdown",        insertText = "onpointerdown",        kind = 5,        label = "onpointerdown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerDown" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerDown",        insertText = "onPointerDown",        kind = 5,        label = "onPointerDown?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerenter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerenter",        insertText = "onpointerenter",        kind = 5,        label = "onpointerenter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerEnter" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerEnter",        insertText = "onPointerEnter",        kind = 5,        label = "onPointerEnter?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerleave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerleave",        insertText = "onpointerleave",        kind = 5,        label = "onpointerleave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerLeave" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerLeave",        insertText = "onPointerLeave",        kind = 5,        label = "onPointerLeave?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointermove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointermove",        insertText = "onpointermove",        kind = 5,        label = "onpointermove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerMove",        insertText = "onPointerMove",        kind = 5,        label = "onPointerMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerout" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerout",        insertText = "onpointerout",        kind = 5,        label = "onpointerout?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOut" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerOut",        insertText = "onPointerOut",        kind = 5,        label = "onPointerOut?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerover" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerover",        insertText = "onpointerover",        kind = 5,        label = "onpointerover?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerOver" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerOver",        insertText = "onPointerOver",        kind = 5,        label = "onPointerOver?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onpointerup" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onpointerup",        insertText = "onpointerup",        kind = 5,        label = "onpointerup?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onPointerUp" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onPointerUp",        insertText = "onPointerUp",        kind = 5,        label = "onPointerUp?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onprogress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onprogress",        insertText = "onprogress",        kind = 5,        label = "onprogress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onProgress" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onProgress",        insertText = "onProgress",        kind = 5,        label = "onProgress?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onratechange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onratechange",        insertText = "onratechange",        kind = 5,        label = "onratechange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onRateChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onRateChange",        insertText = "onRateChange",        kind = 5,        label = "onRateChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onreset" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onreset",        insertText = "onreset",        kind = 5,        label = "onreset?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onReset" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onReset",        insertText = "onReset",        kind = 5,        label = "onReset?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onscroll" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onscroll",        insertText = "onscroll",        kind = 5,        label = "onscroll?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onScroll" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onScroll",        insertText = "onScroll",        kind = 5,        label = "onScroll?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onseeked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onseeked",        insertText = "onseeked",        kind = 5,        label = "onseeked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeked" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSeeked",        insertText = "onSeeked",        kind = 5,        label = "onSeeked?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onseeking" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onseeking",        insertText = "onseeking",        kind = 5,        label = "onseeking?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSeeking" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSeeking",        insertText = "onSeeking",        kind = 5,        label = "onSeeking?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onselect" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onselect",        insertText = "onselect",        kind = 5,        label = "onselect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSelect" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSelect",        insertText = "onSelect",        kind = 5,        label = "onSelect?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onstalled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onstalled",        insertText = "onstalled",        kind = 5,        label = "onstalled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onStalled" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onStalled",        insertText = "onStalled",        kind = 5,        label = "onStalled?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onsubmit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onsubmit",        insertText = "onsubmit",        kind = 5,        label = "onsubmit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSubmit" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSubmit",        insertText = "onSubmit",        kind = 5,        label = "onSubmit?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onsuspend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onsuspend",        insertText = "onsuspend",        kind = 5,        label = "onsuspend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onSuspend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onSuspend",        insertText = "onSuspend",        kind = 5,        label = "onSuspend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontimeupdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontimeupdate",        insertText = "ontimeupdate",        kind = 5,        label = "ontimeupdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTimeUpdate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTimeUpdate",        insertText = "onTimeUpdate",        kind = 5,        label = "onTimeUpdate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchcancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchcancel",        insertText = "ontouchcancel",        kind = 5,        label = "ontouchcancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchCancel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchCancel",        insertText = "onTouchCancel",        kind = 5,        label = "onTouchCancel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchend",        insertText = "ontouchend",        kind = 5,        label = "ontouchend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchEnd",        insertText = "onTouchEnd",        kind = 5,        label = "onTouchEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchmove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchmove",        insertText = "ontouchmove",        kind = 5,        label = "ontouchmove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchMove" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchMove",        insertText = "onTouchMove",        kind = 5,        label = "onTouchMove?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontouchstart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontouchstart",        insertText = "ontouchstart",        kind = 5,        label = "ontouchstart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTouchStart" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTouchStart",        insertText = "onTouchStart",        kind = 5,        label = "onTouchStart?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ontransitionend" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ontransitionend",        insertText = "ontransitionend",        kind = 5,        label = "ontransitionend?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onTransitionEnd" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onTransitionEnd",        insertText = "onTransitionEnd",        kind = 5,        label = "onTransitionEnd?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onvolumechange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onvolumechange",        insertText = "onvolumechange",        kind = 5,        label = "onvolumechange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onVolumeChange" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onVolumeChange",        insertText = "onVolumeChange",        kind = 5,        label = "onVolumeChange?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onwaiting" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onwaiting",        insertText = "onwaiting",        kind = 5,        label = "onwaiting?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWaiting" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onWaiting",        insertText = "onWaiting",        kind = 5,        label = "onWaiting?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onwheel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onwheel",        insertText = "onwheel",        kind = 5,        label = "onwheel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "onWheel" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "onWheel",        insertText = "onWheel",        kind = 5,        label = "onWheel?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "part" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "part",        insertText = "part",        kind = 5,        label = "part?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "prefix" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "prefix",        insertText = "prefix",        kind = 5,        label = "prefix?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "property" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "property",        insertText = "property",        kind = 5,        label = "property?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "ref" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "ref",        insertText = "ref",        kind = 5,        label = "ref?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "resource" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "resource",        insertText = "resource",        kind = 5,        label = "resource?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "role" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "role",        insertText = "role",        kind = 5,        label = "role?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "slot" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "slot",        insertText = "slot",        kind = 5,        label = "slot?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "spellcheck" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "spellcheck",        insertText = "spellcheck",        kind = 5,        label = "spellcheck?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "style" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "style",        insertText = "style",        kind = 5,        label = "style?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "tabindex" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "tabindex",        insertText = "tabindex",        kind = 5,        label = "tabindex?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "tabIndex" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "tabIndex",        insertText = "tabIndex",        kind = 5,        label = "tabIndex?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "textContent" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "textContent",        insertText = "textContent",        kind = 5,        label = "textContent?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "title" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "title",        insertText = "title",        kind = 5,        label = "title?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "translate" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "translate",        insertText = "translate",        kind = 5,        label = "translate?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "typeof" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "typeof",        insertText = "typeof",        kind = 5,        label = "typeof?",        sortText = "12"      }, {        commitCharacters = { ".", ",", "(" },        data = {          entryNames = { "vocab" },          file = "/home/sqve/code/tsserver-completions/src/routes/index.tsx",          line = 4,          offset = 20        },        filterText = "vocab",        insertText = "vocab",        kind = 5,        label = "vocab?",        sortText = "12"      } }  }}

Note again that the latter has more completion items than the former.

@rchl
Copy link
Member

rchl commented Feb 9, 2023

I do see different completions in those two cases but I'm still unsure what is expected and what not.

Here class is shown:

Screenshot 2023-02-09 at 18 11 46

While here it isn't:

Screenshot 2023-02-09 at 18 11 57

But that seems like expected behavior because if class is already defined then it wouldn't make sense to provide it again (the case when typing directly after class="" is weird but it results in more completions, not less).

But if that's the original problem then I think it's not specific to this server but to typescript itself because I can reproduce the same in VSCode (both this server and VSCode use tsserver from typescript under the hood). So you could search typescript issues as it might have been reported already and if not then report it there. It's not really the logic that this server controls.

@rchl
Copy link
Member

rchl commented Feb 9, 2023

Also important to mention that your issue @sQVe might be different from the initial one.

The initial one was about class being missing in <main |> where class wasn't already defined. In that case it works for me:

Screenshot 2023-02-09 at 18 19 13

It's a snippet completion though and I can see that responses in your logs don't have those. That would mean that either neovim doesn't support snippet completions or doesn't announce support for those (the textDocument.completion.completionItem.snippetSupport capability is not set).

@sQVe
Copy link

sQVe commented Feb 9, 2023

@rchl I did not look for class when testing this but rather onClick. That should work in both cases, since it's not defined already, but it doesn't.

@brun8
Copy link
Author

brun8 commented Feb 9, 2023

as for reproducing in vscode, it doesn't seem to happen there for me

vscode_1

and this is the whole list of suggestions in neovim, no onClick

nvim_3

@rchl
Copy link
Member

rchl commented Feb 9, 2023

I've already pointed out what is likely the issue here:

It's a snippet completion though and I can see that responses in your logs don't have those. That would mean that either neovim doesn't support snippet completions or doesn't announce support for those (the textDocument.completion.completionItem.snippetSupport capability is not set).

sQVe added a commit to sQVe/dotfiles that referenced this issue Feb 10, 2023
Ensure that capabilities is set for all LSP servers, which in turn
provides the correct completions.

Closes: jose-elias-alvarez/typescript.nvim#61
Ref: typescript-language-server/typescript-language-server#679
@sQVe
Copy link

sQVe commented Feb 10, 2023

@rchl I'm very grateful that you took your time and helped me debug this.

I solved this by properly setting capabilities, which was misconfigured after refactoring a while back. After this change, see sQVe/dotfiles@9581eb5, everything works as one would expect.

Thank you once again 🙏🏼

@rchl
Copy link
Member

rchl commented Feb 10, 2023

I'm assuming it's the same for @brun8. It looks like it from the screenshots.

@rchl rchl closed this as completed Feb 10, 2023
@rchl rchl added the question label Feb 10, 2023
@sQVe
Copy link

sQVe commented Feb 10, 2023

@rchl Yes. I would assume it is, especially after looking through his/hers dotfiles. It's very likely a capabilities misconfiguration.

@brun8
Copy link
Author

brun8 commented Feb 11, 2023

yes it was, thanks for the help!

@dgutov
Copy link

dgutov commented Mar 22, 2023

If the client doesn't advertise support for snippet completions, shouldn't you turn those into regular ones?

I.e. even though className requires a value, simply completing to className without assignment will be more useful for such clients than not providing those completions at all.

@rchl
Copy link
Member

rchl commented Mar 22, 2023

I don't think that this server should be doing that. You could request such feature in typescript repo since it would be in a much better position to do that (this server is getting data from typescript).

@dgutov
Copy link

dgutov commented Mar 22, 2023

Okay, but what do I say in that feature request? I'm not familiar with how this server uses the typescript lib.

Does it query the compiler via some introspection modules? Does the compiler provide the snippets as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants