textadept-lsp
textadept-lsp copied to clipboard
attempt to index a nil value (field 'call_tip_triggers')
trafficstars
Low priority "cosmetic" problem. Please feel free to close the issue.
I'm using the versions of textadept and textadept-lsp from the repo as of two days ago. I have also commented out line 386 in lsp/init.lua as per recent discussion.
As soon as I make a change (type one character) into a Haskell file, I get the following error:
/home/amy/.config/textadept/modules/lsp/init.lua:1144: attempt to index a nil value (field 'call_tip_triggers')
I can continue to edit the file, and everything seems to work fine. Here's the language server log.
Starting language server: haskell-language-server --lsp
RPC send: {"params":{"rootUri":"file:///home/amy/github/pandoc-columns","processId":null,"clientInfo":{"name":"textadept","version":"Textadept 12.0 alpha 2"},"capabilities":{"textDocument":{"synchronization":{"didSave":true},"documentSymbol":{"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]}},"signatureHelp":{"signatureInformation":{"parameterInformation":{"labelOffsetSupport":true},"activeParameterSupport":true,"documentationFormat":["plaintext"]}},"completion":{"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]},"completionItem":{"preselectSupport":true,"documentationFormat":["plaintext"]}},"hover":{"contentFormat":["plaintext"]}}}},"method":"initialize","jsonrpc":"2.0","id":1}
RPC recv: {"id":1,"jsonrpc":"2.0","result":{"capabilities":{"callHierarchyProvider":true,"codeActionProvider":true,"codeLensProvider":{"resolveProvider":false,"workDoneProgress":false},"colorProvider":false,"completionProvider":{"resolveProvider":true,"triggerCharacters":["."]},"declarationProvider":false,"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentRangeFormattingProvider":true,"documentSymbolProvider":true,"executeCommandProvider":{"commands":["3076683:class:classplugin.codeaction","3076683:class:classplugin.typelens","3076683:refineImports:RefineImportLensCommand","3076683:splice:expandTHSpliceInplace","3076683:hlint:applyOne","3076683:hlint:applyAll","3076683:ghcide-extend-import-action:extendImport","3076683:importLens:ImportLensCommand","3076683:retrie:retrieCommand","3076683:ghcide-type-lenses:typesignature.add","3076683:eval:evalCommand","3076683:gadt:GADT.toGADT","3076683:moduleName:updateModuleName"]},"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":false,"referencesProvider":true,"renameProvider":true,"selectionRangeProvider":true,"semanticTokensProvider":{"legend":{"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"]}},"textDocumentSync":{"change":2,"openClose":true,"save":{}},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"changeNotifications":true,"supported":true}},"workspaceSymbolProvider":true}}}
RPC send: {"params":{},"jsonrpc":"2.0","method":"initialized"}
RPC send: {"params":{"textDocument":{"text":"{-|\nModule : Columns\nDescription : Pandoc filter to support columns in Markdown.\nCopyright : (c) 2020-2023 Amy de Buitléir\nLicense : BSD--3\nMaintainer : [email protected]\nStability : experimental\nPortability : POSIX\n\nSee <https://github.com/mhwombat/pandoc-linear-table> for information\non how to use this filter.\n-}\n\n{-# LANGUAGE OverloadedStrings #-}\nmodule Text.Pandoc.Filters.Columns\n (\n transform,\n formatColumns\n ) where\n\nimport Text.Pandoc qualified as P\nimport Text.Pandoc.Walk (walk)\n\n\n-- | A transformation that can be used with Hakyll.\ntransform :: P.Pandoc -> P.Pandoc\ntransform = walk formatColumns\n\nformatColumns :: P.Block -> P.Block\nformatColumns (P.Div attr@(_,[\"columns\"],_) bs)\n = P.Table attr defaultTableCaption colSpecs\n defaultTableHeader [body]\n defaultTableFooter\n where body = blocksToTableBody bs\n colSpecs = map (const defaultColSpec) bs\nformatColumns b = b\n\nblocksToTableBody :: [P.Block] -> P.TableBody\nblocksToTableBody bs = P.TableBody P.nullAttr (P.RowHeadColumns 0) [] [row]\n where row = blocksToTableRow bs\n\nblocksToTableRow :: [P.Block] -> P.Row\nblocksToTableRow = P.Row P.nullAttr . map blockToCell\n\nblockToCell :: P.Block -> P.Cell\nblockToCell b = P.Cell P.nullAttr P.AlignDefault (P.RowSpan 1) (P.ColSpan 1) [b]\n\ndefaultColSpec :: P.ColSpec\ndefaultColSpec = (P.AlignDefault, P.ColWidthDefault)\n\ndefaultTableCaption :: P.Caption\ndefaultTableCaption = P.Caption Nothing []\n\ndefaultTableHeader :: P.TableHead\ndefaultTableHeader = P.TableHead P.nullAttr []\n\ndefaultTableFooter :: P.TableFoot\ndefaultTableFooter = P.TableFoot P.nullAttr []\n","version":0,"languageId":"haskell","uri":"file:///home/amy/github/pandoc-columns/src/Text/Pandoc/Filters/Columns.hs"}},"jsonrpc":"2.0","method":"textDocument/didOpen"}
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"haskell-language-server version: 1.9.1.0 (GHC: 9.2.7) (PATH: /nix/store/9p9x12f3nf6pd30dvyzr164hwhpzq73h-haskell-language-server-1.9.1.0/bin/.haskell-language-server-9.2.7-unwrapped)","type":3}}
INFO: haskell-language-server version: 1.9.1.0 (GHC: 9.2.7) (PATH: /nix/store/9p9x12f3nf6pd30dvyzr164hwhpzq73h-haskell-language-server-1.9.1.0/bin/.haskell-language-server-9.2.7-unwrapped)
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Directory: /home/amy/github/pandoc-columns","type":3}}
INFO: Directory: /home/amy/github/pandoc-columns
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Starting (haskell-language-server) LSP server...\n GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}\n PluginIds: [ pragmas\n , LSPRecorderCallback\n , rename\n , ghcide-completions\n , class\n , refineImports\n , splice\n , cabal\n , changeTypeSignature\n , qualifyImportedNames\n , alternateNumberFormat\n , hlint\n , cabalfmt\n , explicit-fields\n , ghcide-code-actions-fill-holes\n , floskell\n , ghcide-extend-import-action\n , codeRange\n , importLens\n , retrie\n , ghcide-type-lenses\n , ghcide-code-actions-imports-exports\n , ghcide-hover-and-symbols\n , eval\n , gadt\n , fourmolu\n , callHierarchy\n , stylish-haskell\n , ghcide-code-actions-type-signatures\n , ghcide-code-actions-bindings\n , moduleName\n , ormolu\n , ghcide-core\n , explicit-fixity ]","type":3}}
INFO: Starting (haskell-language-server) LSP server...
GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
PluginIds: [ pragmas
, LSPRecorderCallback
, rename
, ghcide-completions
, class
, refineImports
, splice
, cabal
, changeTypeSignature
, qualifyImportedNames
, alternateNumberFormat
, hlint
, cabalfmt
, explicit-fields
, ghcide-code-actions-fill-holes
, floskell
, ghcide-extend-import-action
, codeRange
, importLens
, retrie
, ghcide-type-lenses
, ghcide-code-actions-imports-exports
, ghcide-hover-and-symbols
, eval
, gadt
, fourmolu
, callHierarchy
, stylish-haskell
, ghcide-code-actions-type-signatures
, ghcide-code-actions-bindings
, moduleName
, ormolu
, ghcide-core
, explicit-fixity ]
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Logging heap statistics every 60.00s","type":3}}
INFO: Logging heap statistics every 60.00s
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Starting LSP server...\n If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!\n PluginIds: [ pragmas\n , LSPRecorderCallback\n , rename\n , ghcide-completions\n , class\n , refineImports\n , splice\n , cabal\n , changeTypeSignature\n , qualifyImportedNames\n , alternateNumberFormat\n , hlint\n , cabalfmt\n , explicit-fields\n , ghcide-code-actions-fill-holes\n , floskell\n , ghcide-extend-import-action\n , codeRange\n , importLens\n , retrie\n , ghcide-type-lenses\n , ghcide-code-actions-imports-exports\n , ghcide-hover-and-symbols\n , eval\n , gadt\n , fourmolu\n , callHierarchy\n , stylish-haskell\n , ghcide-code-actions-type-signatures\n , ghcide-code-actions-bindings\n , moduleName\n , ormolu\n , ghcide-core\n , explicit-fixity ]","type":3}}
INFO: Starting LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
PluginIds: [ pragmas
, LSPRecorderCallback
, rename
, ghcide-completions
, class
, refineImports
, splice
, cabal
, changeTypeSignature
, qualifyImportedNames
, alternateNumberFormat
, hlint
, cabalfmt
, explicit-fields
, ghcide-code-actions-fill-holes
, floskell
, ghcide-extend-import-action
, codeRange
, importLens
, retrie
, ghcide-type-lenses
, ghcide-code-actions-imports-exports
, ghcide-hover-and-symbols
, eval
, gadt
, fourmolu
, callHierarchy
, stylish-haskell
, ghcide-code-actions-type-signatures
, ghcide-code-actions-bindings
, moduleName
, ormolu
, ghcide-core
, explicit-fixity ]
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Starting server","type":3}}
INFO: Starting server
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Started LSP server in 0.00s","type":3}}
INFO: Started LSP server in 0.00s
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 4259414404448018621 \"file:///home/amy/github/pandoc-columns\"], clientSettings = hashed Nothing}","type":3}}
INFO: Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 4259414404448018621 "file:///home/amy/github/pandoc-columns"], clientSettings = hashed Nothing}
2023-03-18T16:42:37.489953Z | Info | No log file specified; using stderr.
2023-03-18T16:42:37.490378Z | Info | haskell-language-server version: 1.9.1.0 (GHC: 9.2.7) (PATH: /nix/store/9p9x12f3nf6pd30dvyzr164hwhpzq73h-haskell-language-server-1.9.1.0/bin/.haskell-language-server-9.2.7-unwrapped)
2023-03-18T16:42:37.490745Z | Info | Directory: /home/amy/github/pandoc-columns
2023-03-18T16:42:37.490886Z | Info | Starting (haskell-language-server) LSP server...
GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
PluginIds: [ pragmas
, LSPRecorderCallback
, rename
, ghcide-completions
, class
, refineImports
, splice
, cabal
, changeTypeSignature
, qualifyImportedNames
, alternateNumberFormat
, hlint
, cabalfmt
, explicit-fields
, ghcide-code-actions-fill-holes
, floskell
, ghcide-extend-import-action
, codeRange
, importLens
, retrie
, ghcide-type-lenses
, ghcide-code-actions-imports-exports
, ghcide-hover-and-symbols
, eval
, gadt
, fourmolu
, callHierarchy
, stylish-haskell
, ghcide-code-actions-type-signatures
, ghcide-code-actions-bindings
, moduleName
, ormolu
, ghcide-core
, explicit-fixity ]
2023-03-18T16:42:37.492750Z | Info | Logging heap statistics every 60.00s
2023-03-18T16:42:37.529608Z | Info | Starting LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
PluginIds: [ pragmas
, LSPRecorderCallback
, rename
, ghcide-completions
, class
, refineImports
, splice
, cabal
, changeTypeSignature
, qualifyImportedNames
, alternateNumberFormat
, hlint
, cabalfmt
, explicit-fields
, ghcide-code-actions-fill-holes
, floskell
, ghcide-extend-import-action
, codeRange
, importLens
, retrie
, ghcide-type-lenses
, ghcide-code-actions-imports-exports
, ghcide-hover-and-symbols
, eval
, gadt
, fourmolu
, callHierarchy
, stylish-haskell
, ghcide-code-actions-type-signatures
, ghcide-code-actions-bindings
, moduleName
, ormolu
, ghcide-core
, explicit-fixity ]
2023-03-18T16:42:37.529937Z | Info | Starting server
2023-03-18T16:42:37.530977Z | Info | Started LSP server in 0.00s
2023-03-18T16:42:37.570135Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 4259414404448018621 "file:///home/amy/github/pandoc-columns"], clientSettings = hashed Nothing}
2023-03-18T16:42:37.594084Z | Info | Cradle path: src/Text/Pandoc/Filters/Columns.hs
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Cradle path: src/Text/Pandoc/Filters/Columns.hs","type":3}}
INFO: Cradle path: src/Text/Pandoc/Filters/Columns.hs
2023-03-18T16:42:37.594352Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Text/Pandoc/Filters/Columns.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Text/Pandoc/Filters/Columns.hs.\nProceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).\nYou should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.","type":2}}
WARN: No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Text/Pandoc/Filters/Columns.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
2023-03-18T16:42:37.667155Z | Info | Interface files cache directory: /home/amy/.cache/ghcide/main-1a596a151463f2c53ee4feb14ecd276a1ccebfda
2023-03-18T16:42:37.667483Z | Info | Making new HscEnv. In-place unit ids: [main]
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Interface files cache directory: /home/amy/.cache/ghcide/main-1a596a151463f2c53ee4feb14ecd276a1ccebfda","type":3}}
INFO: Interface files cache directory: /home/amy/.cache/ghcide/main-1a596a151463f2c53ee4feb14ecd276a1ccebfda
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Making new HscEnv. In-place unit ids: [main]","type":3}}
INFO: Making new HscEnv. In-place unit ids: [main]
RPC recv: {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[{"message":"Could not find module ‘Text.Pandoc’\nPerhaps you meant Text.Parsec (from parsec-3.1.15.0)","range":{"end":{"character":18,"line":20},"start":{"character":7,"line":20}},"severity":1,"source":"not found"},{"message":"Could not find module ‘Text.Pandoc.Walk’\nIt is not a module in the current program, or in any known package.","range":{"end":{"character":23,"line":21},"start":{"character":7,"line":21}},"severity":1,"source":"not found"}],"uri":"file:///home/amy/github/pandoc-columns/src/Text/Pandoc/Filters/Columns.hs","version":0}}
RPC send: {"params":{"textDocument":{"version":1679157801,"uri":"file:///home/amy/github/pandoc-columns/src/Text/Pandoc/Filters/Columns.hs"},"contentChanges":[{"text":"{-|\nModule : Columns\nDescription : Pandoc filter to support columns in Markdown.\nCopyright : (c) 2020-2023 Amy de Buitléir\nLicense : BSD--3\nMaintainer : [email protected]\nStability : experimental\nPortability : POSIX\n\nSee <https://github.com/mhwombat/pandoc-linear-table> for information\non how to use this filter.\n-}\n\n{-# LANGUAGE OverloadedStrings #-}\n module Text.Pandoc.Filters.Columns\n (\n transform,\n formatColumns\n ) where\n\nimport Text.Pandoc qualified as P\nimport Text.Pandoc.Walk (walk)\n\n\n-- | A transformation that can be used with Hakyll.\ntransform :: P.Pandoc -> P.Pandoc\ntransform = walk formatColumns\n\nformatColumns :: P.Block -> P.Block\nformatColumns (P.Div attr@(_,[\"columns\"],_) bs)\n = P.Table attr defaultTableCaption colSpecs\n defaultTableHeader [body]\n defaultTableFooter\n where body = blocksToTableBody bs\n colSpecs = map (const defaultColSpec) bs\nformatColumns b = b\n\nblocksToTableBody :: [P.Block] -> P.TableBody\nblocksToTableBody bs = P.TableBody P.nullAttr (P.RowHeadColumns 0) [] [row]\n where row = blocksToTableRow bs\n\nblocksToTableRow :: [P.Block] -> P.Row\nblocksToTableRow = P.Row P.nullAttr . map blockToCell\n\nblockToCell :: P.Block -> P.Cell\nblockToCell b = P.Cell P.nullAttr P.AlignDefault (P.RowSpan 1) (P.ColSpan 1) [b]\n\ndefaultColSpec :: P.ColSpec\ndefaultColSpec = (P.AlignDefault, P.ColWidthDefault)\n\ndefaultTableCaption :: P.Caption\ndefaultTableCaption = P.Caption Nothing []\n\ndefaultTableHeader :: P.TableHead\ndefaultTableHeader = P.TableHead P.nullAttr []\n\ndefaultTableFooter :: P.TableFoot\ndefaultTableFooter = P.TableFoot P.nullAttr []\n"}]},"jsonrpc":"2.0","method":"textDocument/didChange"}
2023-03-18T16:43:37.509218Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
RPC recv: {"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Live bytes: 0.00MB Heap size: 0.00MB","type":3}}
INFO: Live bytes: 0.00MB Heap size: 0.00MB
RPC send: {"params":{"textDocument":{"version":1679157850,"uri":"file:///home/amy/github/pandoc-columns/src/Text/Pandoc/Filters/Columns.hs"},"contentChanges":[{"text":"{-|\nModule : Columns\nDescription : Pandoc filter to support columns in Markdown.\nCopyright : (c) 2020-2023 Amy de Buitléir\nLicense : BSD--3\nMaintainer : [email protected]\nStability : experimental\nPortability : POSIX\n\nSee <https://github.com/mhwombat/pandoc-linear-table> for information\non how to use this filter.\n-}\n\n{-# LANGUAGE OverloadedStrings #-}\n module Text.Pandoc.Filters.Columns\n (\n transform,\n formatColumns\n ) where\n\nimport Text.Pandoc qualified as P\nimport Text.Pandoc.Walk (walk)\n\n\n-- | A transformation that can be used with Hakyll.\ntransform :: P.Pandoc -> P.Pandoc\ntransform = walk formatColumns\n\nformatColumns :: P.Block -> P.Block\nformatColumns (P.Div attr@(_,[\"columns\"],_) bs)\n = P.Table attr defaultTableCaption colSpecs\n defaultTableHeader [body]\n defaultTableFooter\n where body = blocksToTableBody bs\n colSpecs = map (const defaultColSpec) bs\nformatColumns b = b\n\nblocksToTableBody :: [P.Block] -> P.TableBody\nblocksToTableBody bs = P.TableBody P.nullAttr (P.RowHeadColumns 0) [] [row]\n where row = blocksToTableRow bs\n\nblocksToTableRow :: [P.Block] -> P.Row\nblocksToTableRow = P.Row P.nullAttr . map blockToCell\n\nblockToCell :: P.Block -> P.Cell\nblockToCell b = P.Cell P.nullAttr P.AlignDefault (P.RowSpan 1) (P.ColSpan 1) [b]\n\ndefaultColSpec :: P.ColSpec\ndefaultColSpec = (P.AlignDefault, P.ColWidthDefault)\n\ndefaultTableCaption :: P.Caption\ndefaultTableCaption = P.Caption Nothing []\n\ndefaultTableHeader :: P.TableHead\ndefaultTableHeader = P.TableHead P.nullAttr []\n\ndefaultTableFooter :: P.TableFoot\ndefaultTableFooter = P.TableFoot P.nullAttr []\n"}]},"jsonrpc":"2.0","method":"textDocument/didChange"}
That's a legitimate error, so thanks for the report. It should be fixed via https://github.com/orbitalquark/textadept-lsp/commit/bb042d651c48a4825c1e4422779643ea04c1e1c1.