diff --git a/README.md b/README.md index 2849f8a1..fac054fe 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ Properties: - turboConsoleLog.logMessagePrefix (string): The prefix of the log message (default one is ๐Ÿš€ ). +- turboConsoleLog.logMessagePrefixRandomEmoji (boolean): Whether to prepend the log message with a random emoji. + - turboConsoleLog.logMessageSuffix (string): The suffix of the log message (default one is `:` ). - turboConsoleLog.addSemicolonInTheEnd (boolean): Whether to put a semicolon in the end of the log message or not. diff --git a/package.json b/package.json index f91d40d7..0b73a820 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,11 @@ "default": "๐Ÿš€", "description": "The prefix of the log message." }, + "turboConsoleLog.logMessagePrefixRandomEmoji": { + "type": "boolean", + "default": false, + "description": "Determines if the prefix of a log message is prepended with a random emoji" + }, "turboConsoleLog.logMessageSuffix": { "type": "string", "default": ":", diff --git a/src/debug-message/js/JSDebugMessage.ts b/src/debug-message/js/JSDebugMessage.ts index b1a6f7d2..98ea3379 100644 --- a/src/debug-message/js/JSDebugMessage.ts +++ b/src/debug-message/js/JSDebugMessage.ts @@ -13,7 +13,8 @@ import { DebugMessageLine } from '../DebugMessageLine'; import { JSDebugMessageLine } from './JSDebugMessageLine'; import { getMultiLineContextVariableLine, - closingBracketLine, + closingBracketLine, + randomEmoji } from '../../utilities'; import { JSDebugMessageAnonymous } from './JSDebugMessageAnonymous'; @@ -112,7 +113,8 @@ export class JSDebugMessage extends DebugMessage { extensionProperties.logFunction !== 'log' ? extensionProperties.logFunction : `console.${extensionProperties.logType}` - }(${extensionProperties.quote}${extensionProperties.logMessagePrefix}${ + }(${extensionProperties.quote}${extensionProperties.logMessagePrefixRandomEmoji ? + randomEmoji() : ''}${extensionProperties.logMessagePrefix}${ extensionProperties.logMessagePrefix.length !== 0 && extensionProperties.logMessagePrefix !== `${extensionProperties.delimiterInsideMessage} ` diff --git a/src/entities/extension/extensionProperties.ts b/src/entities/extension/extensionProperties.ts index e54f2027..ac187492 100644 --- a/src/entities/extension/extensionProperties.ts +++ b/src/entities/extension/extensionProperties.ts @@ -1,6 +1,7 @@ export type ExtensionProperties = { wrapLogMessage: boolean; logMessagePrefix: string; + logMessagePrefixRandomEmoji: boolean; logMessageSuffix: string; addSemicolonInTheEnd: boolean; insertEnclosingClass: boolean; diff --git a/src/extension.ts b/src/extension.ts index 60c5e670..de8e1af1 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -26,6 +26,7 @@ function getExtensionProperties( return { wrapLogMessage: workspaceConfig.wrapLogMessage ?? false, logMessagePrefix: workspaceConfig.logMessagePrefix ?? '', + logMessagePrefixRandomEmoji: workspaceConfig.logMessagePrefixRandomEmoji ?? false, logMessageSuffix: workspaceConfig.logMessageSuffix ?? '', addSemicolonInTheEnd: workspaceConfig.addSemicolonInTheEnd ?? false, insertEnclosingClass: workspaceConfig.insertEnclosingClass ?? true, diff --git a/src/utilities/index.ts b/src/utilities/index.ts index 68bf03a0..f9f8730c 100644 --- a/src/utilities/index.ts +++ b/src/utilities/index.ts @@ -3,10 +3,12 @@ import { getMultiLineContextVariableLine } from './getMultiLineContextVariableLi import { closingBracketLine } from './closingBracketLine'; import { spacesBeforeLine } from './spacesBeforeLine'; import { getTabSize } from './getTabSize'; +import { randomEmoji } from './randomEmoji'; export { locBrackets, getMultiLineContextVariableLine, closingBracketLine, spacesBeforeLine, getTabSize, + randomEmoji }; diff --git a/src/utilities/randomEmoji.ts b/src/utilities/randomEmoji.ts new file mode 100644 index 00000000..095b3599 --- /dev/null +++ b/src/utilities/randomEmoji.ts @@ -0,0 +1,89 @@ +export function randomEmoji(): string { + return `${emojiList[Math.floor(Math.random() * emojiList.length)]} ` +} + +const emojiList = [ + '๐Ÿ”ต', + '๐ŸŸฆ', + '๐Ÿ’™', + '๐Ÿ”ท', + '๐ŸŸข', + '๐ŸŸฉ', + '๐Ÿ’š', + 'โ˜˜๏ธ', + '๐Ÿ', + '๐ŸŒˆ', + '๐Ÿ”ด', + '๐ŸŸฅ', + 'โค๏ธ', + '๐ŸŽ', + '๐ŸŸก', + '๐ŸŸจ', + '๐Ÿ’›', + '๐ŸŸ ', + '๐ŸŸง', + '๐Ÿงก', + '๐ŸŠ', + '๐Ÿ”ถ', + '๐ŸŸฃ', + '๐ŸŸช', + '๐Ÿ’œ', + '๐ŸŸค', + '๐ŸŸซ', + '๐Ÿ˜ˆ', + '๐Ÿ‘บ', + '๐Ÿ’€', + '๐Ÿ‘ป', + '๐Ÿ‘ฝ', + '๐Ÿค–', + '๐Ÿ˜บ', + '๐Ÿ™Œ', + '๐Ÿ‘‰', + '๐Ÿง ', + '๐Ÿ‘„', + '๐Ÿ‘€', + '๐ŸŽฉ', + '๐Ÿฆ„', + '๐ŸŒฒ', + '๐ŸŽน', + '๐ŸŽท', + '๐ŸŽบ', + '๐ŸŽธ', + '๐ŸŽป', + '๐ŸŒน', + '๐ŸŒ', + 'โœจ', + '๐ŸŒ', + '๐Ÿ”ฅ', + 'โ„๏ธ', + '๐Ÿ', + '๐Ÿ‡', + '๐Ÿ‰', + '๐Ÿ‹', + '๐Ÿท', + '๐Ÿธ', + '๐Ÿฆœ', + '๐Ÿž', + '๐Ÿง€', + '๐Ÿ—', + '๐Ÿ”', + '๐ŸŒˆ', + '๐Ÿณ๏ธโ€โšง๏ธ', + '๐Ÿณ๏ธโ€๐ŸŒˆ', + '๐Ÿฅ', + '๐Ÿฟ', + '๐Ÿง', + '๐Ÿฉ', + '๐Ÿช', + '๐Ÿง', + '๐Ÿบ', + '๐Ÿง‹', + 'โšฝ', + '๐Ÿ€', + '๐Ÿˆ', + 'โšพ', + '๐Ÿ', + '๐Ÿ†', + '๐ŸŽฎ', + '๐Ÿ’Ž' +] \ No newline at end of file