Skip to content

Instantly share code, notes, and snippets.

@Happy-Ferret
Created June 22, 2019 17:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Happy-Ferret/02cc5f6e1be833e4da157540f9a4fc86 to your computer and use it in GitHub Desktop.
Save Happy-Ferret/02cc5f6e1be833e4da157540f9a4fc86 to your computer and use it in GitHub Desktop.
Happy Theme
{
"name": "happy-theme",
"type": "dark",
"colors": {
"activityBarBadge.background": "#007acc",
"editor.background": "#1e1e1e",
"editor.foreground": "#d4d4d4",
"editor.inactiveSelectionBackground": "#3a3d41",
"editor.selectionHighlightBackground": "#add6ff26",
"editorIndentGuide.activeBackground": "#707070",
"editorIndentGuide.background": "#404040",
"input.placeholderForeground": "#a6a6a6",
"list.dropBackground": "#383b3d",
"menu.background": "#252526",
"menu.foreground": "#cccccc",
"settings.numberInputBackground": "#292929",
"settings.textInputBackground": "#292929",
"sideBarTitle.foreground": "#bbbbbb",
"statusBar.background": "#000000",
//"activityBar.background": "#333333",
//"activityBar.dropBackground": "#ffffff1f",
//"activityBar.foreground": "#ffffff",
//"activityBar.inactiveForeground": "#ffffff99",
//"activityBarBadge.foreground": "#ffffff",
//"badge.background": "#4d4d4d",
//"badge.foreground": "#ffffff",
//"breadcrumb.activeSelectionForeground": "#e0e0e0",
//"breadcrumb.background": "#1e1e1e",
//"breadcrumb.focusForeground": "#e0e0e0",
//"breadcrumb.foreground": "#cccccccc",
//"breadcrumbPicker.background": "#252526",
//"button.background": "#0e639c",
//"button.foreground": "#ffffff",
//"button.hoverBackground": "#1177bb",
//"debugExceptionWidget.background": "#420b0d",
//"debugExceptionWidget.border": "#a31515",
//"debugToolBar.background": "#333333",
//"descriptionForeground": "#ccccccb3",
//"diffEditor.insertedTextBackground": "#9bb95533",
//"diffEditor.removedTextBackground": "#ff000033",
//"dropdown.background": "#3c3c3c",
//"dropdown.border": "#3c3c3c",
//"dropdown.foreground": "#f0f0f0",
//"editor.findMatchBackground": "#515c6a",
//"editor.findMatchHighlightBackground": "#ea5c0055",
//"editor.findRangeHighlightBackground": "#3a3d4166",
//"editor.focusedStackFrameHighlightBackground": "#7abd7a4d",
//"editor.hoverHighlightBackground": "#264f7840",
//"editor.lineHighlightBorder": "#282828",
//"editor.rangeHighlightBackground": "#ffffff0b",
//"editor.selectionBackground": "#264f78",
//"editor.snippetFinalTabstopHighlightBorder": "#525252",
//"editor.snippetTabstopHighlightBackground": "#7c7c7c4d",
//"editor.stackFrameHighlightBackground": "#ffff0033",
//"editor.wordHighlightBackground": "#575757b8",
//"editor.wordHighlightStrongBackground": "#004972b8",
//"editorActiveLineNumber.foreground": "#c6c6c6",
//"editorBracketMatch.background": "#0064001a",
//"editorBracketMatch.border": "#888888",
//"editorCodeLens.foreground": "#999999",
//"editorCursor.foreground": "#aeafad",
//"editorError.foreground": "#ea4646",
//"editorGroup.border": "#444444",
//"editorGroup.dropBackground": "#53595d80",
//"editorGroupHeader.noTabsBackground": "#1e1e1e",
//"editorGroupHeader.tabsBackground": "#252526",
//"editorGutter.addedBackground": "#587c0c",
//"editorGutter.background": "#1e1e1e",
//"editorGutter.commentRangeForeground": "#c5c5c5",
//"editorGutter.deletedBackground": "#94151b",
//"editorGutter.modifiedBackground": "#0c7d9d",
//"editorHint.foreground": "#eeeeeeb3",
//"editorHoverWidget.background": "#252526",
//"editorHoverWidget.border": "#454545",
//"editorInfo.foreground": "#008000",
//"editorLineNumber.activeForeground": "#c6c6c6",
//"editorLineNumber.foreground": "#858585",
//"editorLink.activeForeground": "#4e94ce",
//"editorMarkerNavigation.background": "#2d2d30",
//"editorMarkerNavigationError.background": "#ea4646",
//"editorMarkerNavigationInfo.background": "#008000",
//"editorMarkerNavigationWarning.background": "#4d9e4d",
//"editorOverviewRuler.addedForeground": "#007acc99",
//"editorOverviewRuler.border": "#7f7f7f4d",
//"editorOverviewRuler.bracketMatchForeground": "#a0a0a0",
//"editorOverviewRuler.commonContentForeground": "#60606066",
//"editorOverviewRuler.currentContentForeground": "#40c8ae80",
//"editorOverviewRuler.deletedForeground": "#007acc99",
//"editorOverviewRuler.errorForeground": "#ff1212b3",
//"editorOverviewRuler.findMatchForeground": "#f6b94db3",
//"editorOverviewRuler.incomingContentForeground": "#40a6ff80",
//"editorOverviewRuler.infoForeground": "#121288b3",
//"editorOverviewRuler.modifiedForeground": "#007acc99",
//"editorOverviewRuler.rangeHighlightForeground": "#007acc99",
//"editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc",
//"editorOverviewRuler.warningForeground": "#128812b3",
//"editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc",
//"editorOverviewRuler.wordHighlightStrongForeground": "#c0a0c0cc",
//"editorPane.background": "#1e1e1e",
//"editorRuler.foreground": "#5a5a5a",
//"editorSuggestWidget.background": "#252526",
//"editorSuggestWidget.border": "#454545",
//"editorSuggestWidget.foreground": "#d4d4d4",
//"editorSuggestWidget.highlightForeground": "#0097fb",
//"editorSuggestWidget.selectedBackground": "#062f4a",
//"editorUnnecessaryCode.opacity": "#000000aa",
//"editorWarning.foreground": "#4d9e4d",
//"editorWhitespace.foreground": "#e3e4e229",
//"editorWidget.background": "#252526",
//"editorWidget.border": "#454545",
//"errorForeground": "#f48771",
//"extensionButton.prominentBackground": "#327e36",
//"extensionButton.prominentForeground": "#ffffff",
//"extensionButton.prominentHoverBackground": "#28632b",
//"focusBorder": "#0e639ccc",
//"foreground": "#cccccc",
//"gitDecoration.addedResourceForeground": "#81b88b",
//"gitDecoration.conflictingResourceForeground": "#6c6cc4",
//"gitDecoration.deletedResourceForeground": "#c74e39",
//"gitDecoration.ignoredResourceForeground": "#8c8c8c",
//"gitDecoration.modifiedResourceForeground": "#e2c08d",
//"gitDecoration.submoduleResourceForeground": "#8db9e2",
//"gitDecoration.untrackedResourceForeground": "#73c991",
//"input.background": "#3c3c3c",
//"input.foreground": "#cccccc",
//"inputOption.activeBorder": "#007acc",
//"inputValidation.errorBackground": "#5a1d1d",
//"inputValidation.errorBorder": "#be1100",
//"inputValidation.infoBackground": "#063b49",
//"inputValidation.infoBorder": "#007acc",
//"inputValidation.warningBackground": "#352a05",
//"inputValidation.warningBorder": "#b89500",
//"list.activeSelectionBackground": "#094771",
//"list.activeSelectionForeground": "#ffffff",
//"list.errorForeground": "#f88070",
//"list.focusBackground": "#062f4a",
//"list.highlightForeground": "#0097fb",
//"list.hoverBackground": "#2a2d2e",
//"list.inactiveFocusBackground": "#313135",
//"list.inactiveSelectionBackground": "#37373d",
//"list.invalidItemForeground": "#b89500",
//"list.warningForeground": "#4d9e4d",
//"listFilterWidget.background": "#653723",
//"listFilterWidget.noMatchesOutline": "#be1100",
//"listFilterWidget.outline": "#00000000",
//"menu.selectionBackground": "#094771",
//"menu.selectionForeground": "#ffffff",
//"menu.separatorBackground": "#bbbbbb",
//"menubar.selectionBackground": "#ffffff1a",
//"menubar.selectionForeground": "#cccccc",
//"merge.commonContentBackground": "#60606029",
//"merge.commonHeaderBackground": "#60606066",
//"merge.currentContentBackground": "#40c8ae33",
//"merge.currentHeaderBackground": "#40c8ae80",
//"merge.incomingContentBackground": "#40a6ff33",
//"merge.incomingHeaderBackground": "#40a6ff80",
//"notificationCenterHeader.background": "#303031",
//"notificationLink.foreground": "#3794ff",
//"notifications.background": "#252526",
//"notifications.border": "#303031",
//"panel.background": "#1e1e1e",
//"panel.border": "#80808059",
//"panel.dropBackground": "#ffffff1f",
//"panelTitle.activeBorder": "#80808059",
//"panelTitle.activeForeground": "#e7e7e7",
//"panelTitle.inactiveForeground": "#e7e7e799",
//"peekView.border": "#007acc",
//"peekViewEditor.background": "#001f33",
//"peekViewEditor.matchHighlightBackground": "#ff8f0099",
//"peekViewEditorGutter.background": "#001f33",
//"peekViewResult.background": "#252526",
//"peekViewResult.fileForeground": "#ffffff",
//"peekViewResult.lineForeground": "#bbbbbb",
//"peekViewResult.matchHighlightBackground": "#ea5c004d",
//"peekViewResult.selectionBackground": "#3399ff33",
//"peekViewResult.selectionForeground": "#ffffff",
//"peekViewTitle.background": "#1e1e1e",
//"peekViewTitleDescription.foreground": "#ccccccb3",
//"peekViewTitleLabel.foreground": "#ffffff",
//"pickerGroup.border": "#3f3f46",
//"pickerGroup.foreground": "#3794ff",
//"progressBar.background": "#0e70c0",
//"scrollbar.shadow": "#000000",
//"scrollbarSlider.activeBackground": "#bfbfbf66",
//"scrollbarSlider.background": "#79797966",
//"scrollbarSlider.hoverBackground": "#646464b3",
//"settings.checkboxBackground": "#3c3c3c",
//"settings.checkboxBorder": "#3c3c3c",
//"settings.checkboxForeground": "#f0f0f0",
//"settings.dropdownBackground": "#3c3c3c",
//"settings.dropdownBorder": "#3c3c3c",
//"settings.dropdownForeground": "#f0f0f0",
//"settings.dropdownListBorder": "#454545",
//"settings.headerForeground": "#e7e7e7",
//"settings.modifiedItemIndicator": "#0c7d9d",
//"settings.numberInputForeground": "#cccccc",
//"settings.textInputForeground": "#cccccc",
//"sideBar.background": "#252526",
//"sideBar.dropBackground": "#ffffff1f",
//"sideBarSectionHeader.background": "#80808033",
//"statusBar.background": "#007acc",
//"statusBar.debuggingBackground": "#cc6633",
//"statusBar.debuggingForeground": "#ffffff",
//"statusBar.foreground": "#ffffff",
//"statusBar.noFolderBackground": "#68217a",
//"statusBar.noFolderForeground": "#ffffff",
//"statusBarItem.activeBackground": "#ffffff2e",
//"statusBarItem.hostBackground": "#388a34",
//"statusBarItem.hoverBackground": "#ffffff1f",
//"statusBarItem.prominentBackground": "#388a34",
//"statusBarItem.prominentHoverBackground": "#369432",
//"tab.activeBackground": "#1e1e1e",
//"tab.activeForeground": "#ffffff",
//"tab.activeModifiedBorder": "#3399cc",
//"tab.border": "#252526",
//"tab.inactiveBackground": "#2d2d2d",
//"tab.inactiveForeground": "#ffffff80",
//"tab.inactiveModifiedBorder": "#3399cc80",
//"tab.unfocusedActiveForeground": "#ffffff80",
//"tab.unfocusedActiveModifiedBorder": "#3399cc80",
//"tab.unfocusedInactiveForeground": "#ffffff40",
//"tab.unfocusedInactiveModifiedBorder": "#3399cc40",
//"terminal.ansiBlack": "#000000",
//"terminal.ansiBlue": "#2472c8",
//"terminal.ansiBrightBlack": "#666666",
//"terminal.ansiBrightBlue": "#3b8eea",
//"terminal.ansiBrightCyan": "#29b8db",
//"terminal.ansiBrightGreen": "#23d18b",
//"terminal.ansiBrightMagenta": "#d670d6",
//"terminal.ansiBrightRed": "#f14c4c",
//"terminal.ansiBrightWhite": "#e5e5e5",
//"terminal.ansiBrightYellow": "#f5f543",
//"terminal.ansiCyan": "#11a8cd",
//"terminal.ansiGreen": "#0dbc79",
//"terminal.ansiMagenta": "#bc3fbc",
//"terminal.ansiRed": "#cd3131",
//"terminal.ansiWhite": "#e5e5e5",
//"terminal.ansiYellow": "#e5e510",
//"terminal.background": "#1e1e1e",
//"terminal.border": "#80808059",
//"terminal.foreground": "#cccccc",
//"terminal.selectionBackground": "#ffffff40",
//"textBlockQuote.background": "#7f7f7f1a",
//"textBlockQuote.border": "#007acc80",
//"textCodeBlock.background": "#0a0a0a66",
//"textLink.activeForeground": "#3794ff",
//"textLink.foreground": "#3794ff",
//"textPreformat.foreground": "#d7ba7d",
//"textSeparator.foreground": "#ffffff2e",
//"titleBar.activeBackground": "#3c3c3c",
//"titleBar.activeForeground": "#cccccc",
//"titleBar.inactiveBackground": "#3c3c3c99",
//"titleBar.inactiveForeground": "#cccccc99",
//"widget.shadow": "#000000"
},
"tokenColors": [
{
"scope": [
"meta.embedded",
"source.groovy.embedded"
],
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "emphasis",
"settings": {
"fontStyle": "italic"
}
},
{
"scope": "strong",
"settings": {
"fontStyle": "bold"
}
},
{
"scope": "header",
"settings": {
"foreground": "#000080"
}
},
{
"scope": "comment",
"settings": {
"foreground": "#6A9955"
}
},
{
"scope": "constant.language",
"settings": {
"foreground": "#569cd6"
}
},
{
"name": "Go Constant",
"scope": [
"keyword.const.go",
"constant.language.go",
"constant.numeric.integer.go"
],
"settings": {
"foreground": "#F97500",
}
},
{
"name": "Go Interface",
"scope": [
"keyword.interface.go",
],
"settings": {
"foreground": "#b96eb6",
}
},
{
"scope": [
"constant.numeric"
],
"settings": {
"foreground": "#b5cea8"
}
},
{
"scope": "constant.regexp",
"settings": {
"foreground": "#646695"
}
},
{
"scope": "entity.name.tag",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "entity.name.tag.css",
"settings": {
"foreground": "#d7ba7d"
}
},
{
"scope": "entity.other.attribute-name",
"settings": {
"foreground": "#9cdcfe"
}
},
{
"scope": [
"entity.other.attribute-name.class.css",
"entity.other.attribute-name.class.mixin.css",
"entity.other.attribute-name.id.css",
"entity.other.attribute-name.parent-selector.css",
"entity.other.attribute-name.pseudo-class.css",
"entity.other.attribute-name.pseudo-element.css",
"source.css.less entity.other.attribute-name.id",
"entity.other.attribute-name.attribute.scss",
"entity.other.attribute-name.scss"
],
"settings": {
"foreground": "#d7ba7d"
}
},
{
"scope": "invalid",
"settings": {
"foreground": "#f44747"
}
},
{
"scope": "markup.underline",
"settings": {
"fontStyle": "underline"
}
},
{
"scope": "markup.bold",
"settings": {
"fontStyle": "bold",
"foreground": "#569cd6"
}
},
{
"scope": "markup.heading",
"settings": {
"fontStyle": "bold",
"foreground": "#569cd6"
}
},
{
"scope": "markup.italic",
"settings": {
"fontStyle": "italic"
}
},
{
"scope": "markup.inserted",
"settings": {
"foreground": "#b5cea8"
}
},
{
"scope": "markup.deleted",
"settings": {
"foreground": "#ce9178"
}
},
{
"scope": "markup.changed",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "punctuation.definition.quote.begin.markdown",
"settings": {
"foreground": "#6A9955"
}
},
{
"scope": "punctuation.definition.list.begin.markdown",
"settings": {
"foreground": "#6796e6"
}
},
{
"scope": "markup.inline.raw",
"settings": {
"foreground": "#ce9178"
}
},
{
"name": "brackets of XML/HTML tags",
"scope": "punctuation.definition.tag",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "meta.preprocessor",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "meta.preprocessor.string",
"settings": {
"foreground": "#ce9178"
}
},
{
"scope": "meta.preprocessor.numeric",
"settings": {
"foreground": "#b5cea8"
}
},
{
"scope": "meta.structure.dictionary.key.python",
"settings": {
"foreground": "#9cdcfe"
}
},
{
"scope": "meta.diff.header",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "storage",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "storage.type",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "storage.modifier",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "string",
"settings": {
"foreground": "#ce9178"
}
},
{
"scope": "string.tag",
"settings": {
"foreground": "#ce9178"
}
},
{
"scope": "string.value",
"settings": {
"foreground": "#ce9178"
}
},
{
"scope": "string.regexp",
"settings": {
"foreground": "#d16969"
}
},
{
"name": "String interpolation",
"scope": [
"punctuation.definition.template-expression.begin",
"punctuation.definition.template-expression.end",
"punctuation.section.embedded"
],
"settings": {
"foreground": "#569cd6"
}
},
{
"name": "Reset JavaScript string interpolation expression",
"scope": [
"meta.template.expression"
],
"settings": {
"foreground": "#d4d4d4"
}
},
{
"scope": [
"support.type.vendored.property-name",
"support.type.property-name",
"variable.css",
"variable.scss",
"variable.other.less",
"source.coffee.embedded"
],
"settings": {
"foreground": "#9cdcfe"
}
},
{
"scope": "keyword",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "keyword.control",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "keyword.operator",
"settings": {
"foreground": "#d4d4d4"
}
},
{
"scope": [
"keyword.operator.new",
"keyword.operator.expression",
"keyword.operator.cast",
"keyword.operator.sizeof",
"keyword.operator.instanceof",
"keyword.operator.logical.python"
],
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "keyword.other.unit",
"settings": {
"foreground": "#b5cea8"
}
},
{
"scope": [
"punctuation.section.embedded.begin.php",
"punctuation.section.embedded.end.php"
],
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "support.function.git-rebase",
"settings": {
"foreground": "#9cdcfe"
}
},
{
"scope": "constant.sha.git-rebase",
"settings": {
"foreground": "#b5cea8"
}
},
{
"name": "coloring of the Java import and package identifiers",
"scope": [
"storage.modifier.import.java",
"variable.language.wildcard.java",
"storage.modifier.package.java"
],
"settings": {
"foreground": "#d4d4d4"
}
},
{
"name": "this.self",
"scope": "variable.language",
"settings": {
"foreground": "#569cd6"
}
},
{
"name": "Function declarations",
"scope": [
"entity.name.function",
"support.function",
"support.constant.handlebars"
],
"settings": {
"foreground": "#DCDCAA"
}
},
{
"name": "Types declaration and references",
"scope": [
"meta.return-type",
"support.class",
"support.type",
"entity.name.type",
"entity.name.class",
"storage.type.numeric.go",
"storage.type.byte.go",
"storage.type.boolean.go",
"storage.type.string.go",
"storage.type.uintptr.go",
"storage.type.error.go",
"storage.type.rune.go",
"storage.type.cs",
"storage.type.generic.cs",
"storage.type.modifier.cs",
"storage.type.variable.cs",
"storage.type.annotation.java",
"storage.type.generic.java",
"storage.type.java",
"storage.type.object.array.java",
"storage.type.primitive.array.java",
"storage.type.primitive.java",
"storage.type.token.java",
"storage.type.groovy",
"storage.type.annotation.groovy",
"storage.type.parameters.groovy",
"storage.type.generic.groovy",
"storage.type.object.array.groovy",
"storage.type.primitive.array.groovy",
"storage.type.primitive.groovy"
],
"settings": {
"foreground": "#4EC9B0"
}
},
{
"name": "Types declaration and references, TS grammar specific",
"scope": [
"meta.type.cast.expr",
"meta.type.new.expr",
"support.constant.math",
"support.constant.dom",
"support.constant.json",
"entity.other.inherited-class"
],
"settings": {
"foreground": "#4EC9B0"
}
},
{
"name": "Control flow keywords",
"scope": "keyword.control",
"settings": {
"foreground": "#C586C0"
}
},
{
"name": "Variable and parameter name",
"scope": [
"variable",
"meta.definition.variable.name",
"support.variable",
"entity.name.variable"
],
"settings": {
"foreground": "#9CDCFE"
}
},
{
"name": "Object keys, TS grammar specific",
"scope": [
"meta.object-literal.key"
],
"settings": {
"foreground": "#9CDCFE"
}
},
{
"name": "CSS property value",
"scope": [
"support.constant.property-value",
"support.constant.font-name",
"support.constant.media-type",
"support.constant.media",
"constant.other.color.rgb-value",
"constant.other.rgb-value",
"support.constant.color"
],
"settings": {
"foreground": "#CE9178"
}
},
{
"name": "Regular expression groups",
"scope": [
"punctuation.definition.group.regexp",
"punctuation.definition.group.assertion.regexp",
"punctuation.definition.character-class.regexp",
"punctuation.character.set.begin.regexp",
"punctuation.character.set.end.regexp",
"keyword.operator.negation.regexp",
"support.other.parenthesis.regexp"
],
"settings": {
"foreground": "#CE9178"
}
},
{
"scope": [
"constant.character.character-class.regexp",
"constant.other.character-class.set.regexp",
"constant.other.character-class.regexp",
"constant.character.set.regexp"
],
"settings": {
"foreground": "#d16969"
}
},
{
"scope": [
"keyword.operator.or.regexp",
"keyword.control.anchor.regexp"
],
"settings": {
"foreground": "#DCDCAA"
}
},
{
"scope": "keyword.operator.quantifier.regexp",
"settings": {
"foreground": "#d7ba7d"
}
},
{
"scope": "constant.character",
"settings": {
"foreground": "#569cd6"
}
},
{
"scope": "constant.character.escape",
"settings": {
"foreground": "#d7ba7d"
}
},
{
"scope": "token.info-token",
"settings": {
"foreground": "#6796e6"
}
},
{
"scope": "token.warn-token",
"settings": {
"foreground": "#cd9731"
}
},
{
"scope": "token.error-token",
"settings": {
"foreground": "#f44747"
}
},
{
"scope": "token.debug-token",
"settings": {
"foreground": "#b267e6"
}
}
]
}
@Happy-Ferret
Copy link
Author

Improvement: #554ca5 => #5b51b4

Improved contrast ratio for comments.

@Happy-Ferret
Copy link
Author

    {
        "name": "TypeScript Interface",
        "scope": [
            "entity.name.type.interface.ts",
        ],
        "settings": {
            "foreground": "#b96eb6e5",
        }
    },
    {
        "name": "TypeScript Constant",
        "scope": [
            "variable.other.constant.ts",
        ],
        "settings": {
            "foreground": "#F97500",
        }
    },
    {
        "name": "TypeScript Async",
        "scope": [
            "storage.modifier.async.ts",
        ],
        "settings": { // #c586c0ff
            "foreground": "#0cb84e",
        }
    },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment