sublimelsp / LSP-tailwindcss

Tailwind css support for Sublime's LSP plugin
MIT License
54 stars 5 forks source link

LSP-tailwindcss: Unhandled exception: Cannot read property 'filter' of undefined #24

Closed predragnikolic closed 2 years ago

predragnikolic commented 2 years ago

Updating tailwindcss to version 0.7.1 throws this exception.

Logs:

:: <-- LSP-tailwindcss client/registerCapability(2): {'registrations': [{'registerOptions': {'documentSelector': None}, 'method': 'textDocument/hover', 'id': 'a6bbee67-d756-4629-8e5b-42f547991fd5'}, {'registerOptions': {'documentSelector': None}, 'method': 'textDocument/documentColor', 'id': '6e89eb51-9302-4572-8d9b-28b2b3819b4c'}, {'registerOptions': {'documentSelector': None}, 'method': 'textDocument/codeAction', 'id': '4a521115-8b03-4414-a131-db07be60c40d'}, {'registerOptions': {'documentSelector': None, 'resolveProvider': True, 'triggerCharacters': ['"', "'", '`', ' ', '.', '[', '!', '/', ':']}, 'method': 'textDocument/completion', 'id': '6f797e05-63ec-4d0f-9351-12306f572cad'}]}
:: >>> LSP-tailwindcss 2: None
LSP-tailwindcss: Unhandled exception: Cannot read property 'filter' of undefined
TypeError: Cannot read property 'filter' of undefined
    at matchClassAttributes (/home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45607:30)
    at /home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45614:25
    at Generator.next (<anonymous>)
    at fulfilled (/home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45456:58)
:: <-  LSP-tailwindcss window/logMessage: {'type': 1, 'message': "Unhandled exception: Cannot read property 'filter' of undefined\nTypeError: Cannot read property 'filter' of undefined\n    at matchClassAttributes (/home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45607:30)\n    at /home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45614:25\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/predragnikolic/Documents/sandbox/tailwindcss-intellisense/packages/tailwindcss-language-server/bin/tailwindcss-language-server:45456:58)"}
predragnikolic commented 2 years ago

This is because the client is not sending: classAttributes

so it breaks here https://github.com/tailwindlabs/tailwindcss-intellisense/blob/ecdfc1a98e1237fe72d150f8565f8490a5a12113/packages/tailwindcss-language-service/src/util/find.ts#L176

LSP-tailwindcss should always make sure to provide these options in the settings object, regardless if ST supports them or not, to avoid errors like this.