Skip to content

Commit f6971ca

Browse files
committed
override console.log/error and catch unhandled rejections
1 parent 6868884 commit f6971ca

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

packages/tailwindcss-intellisense/src/class-names/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import normalizePath from 'normalize-path'
1717
import { withUserEnvironment } from './environment'
1818
import execa from 'execa'
1919
import { klona } from 'klona/full'
20+
import { formatError } from '../lsp/util/formatError'
2021

2122
function arraysEqual(arr1, arr2) {
2223
return (
@@ -238,7 +239,7 @@ export default async function getClassNames(
238239
result = await run()
239240
console.log('Initialised successfully.')
240241
} catch (error) {
241-
console.error('Failed to initialise:', error)
242+
console.error(formatError('Failed to initialise:', error))
242243
return null
243244
}
244245

packages/tailwindcss-intellisense/src/lsp/server.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,20 @@ import {
3636
import { createEmitter } from '../lib/emitter'
3737
import { registerDocumentColorProvider } from './providers/documentColorProvider'
3838
import { TextDocument } from 'vscode-languageserver-textdocument'
39+
import { formatError } from './util/formatError'
3940

4041
let connection = createConnection(ProposedFeatures.all)
4142
const state: State = { enabled: false, emitter: createEmitter(connection) }
4243
let documents = new TextDocuments(TextDocument)
4344
let workspaceFolder: string | null
4445

46+
console.log = connection.console.log.bind(connection.console)
47+
console.error = connection.console.error.bind(connection.console)
48+
49+
process.on('unhandledRejection', (e: any) => {
50+
connection.console.error(formatError(`Unhandled exception`, e))
51+
})
52+
4553
const defaultSettings: Settings = {
4654
tabSize: 2,
4755
emmetCompletions: false,
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// https://github.com/vscode-langservers/vscode-json-languageserver/blob/master/src/utils/runner.ts
2+
export function formatError(message: string, err: any): string {
3+
if (err instanceof Error) {
4+
let error = <Error>err
5+
return `${message}: ${error.message}\n${error.stack}`
6+
} else if (typeof err === 'string') {
7+
return `${message}: ${err}`
8+
} else if (err) {
9+
return `${message}: ${err.toString()}`
10+
}
11+
return message
12+
}

0 commit comments

Comments
 (0)