Skip to content

Instantly share code, notes, and snippets.

@GPrimola
Last active September 28, 2025 17:38
Show Gist options
  • Select an option

  • Save GPrimola/88af6cafe94ab2101d77ca3ba53691ba to your computer and use it in GitHub Desktop.

Select an option

Save GPrimola/88af6cafe94ab2101d77ca3ba53691ba to your computer and use it in GitHub Desktop.
VSCode Config for Atom Elixir Syntax Highlighting
// Refer to https://github.com/GPrimola/vscode-elixir-ls/blob/function-capture-anonymous/syntaxes/elixir.json
{
"workbench.colorTheme": "Atomize",
"workbench.colorCustomizations": {},
"workbench.tree.indent": 16,
"window.openFilesInNewWindow": "on",
"editor.semanticHighlighting.enabled": false,
"editor.bracketPairColorization.enabled": false,
"editor.fontSize": 14,
"editor.fontFamily": "MesloLGS NF, Consolas, DejaVu Sans Mono, monospace",
"editor.lineHeight": 1.5,
"editor.tabSize": 2,
"editor.detectIndentation": true,
"editor.tokenColorCustomizations": {
"[*]": { // Atomize and Atom One Dark
"textMateRules": [
// FUNCTIONS
{
"scope": "source.elixir entity.name.function.call.dot.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.elixir entity.name.function.call.capture.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.elixir entity.name.function.typespec.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.elixir entity.name.function.call.local.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.elixir entity.name.function.call.local.pipe.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.elixir meta.function.definition.elixir",
"settings": {
"foreground": "#abb2bf",
}
},
{
"scope": "source.elixir meta.function.definition.elixir variable.other.readwrite.elixir",
"settings": {
"foreground": "#d19a66",
"fontStyle": "italic"
}
},
{
"scope": "source.elixir meta.type.definition.elixir",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.elixir variable.other.anonymous.elixir",
"settings": {
"foreground": "#c678dd"
}
},
{
"scope": "source.elixir keyword.control.elixir",
"settings": {
"foreground": "#c678dd"
}
},
{
"scope": "source.elixir keyword.operator.other.elixir",
"settings": {
"foreground": "#d19a66"
}
},
{
"scope": "source.elixir keyword.operator.other.anonymous.elixir",
"settings": {
"foreground": "#c678dd"
}
},
// OPERATORS AND MATCH
{
"scope": "source.elixir keyword.operator.arithmetic.elixir",
"settings": {
"foreground": "#d19a66"
}
},
{
"scope": "source.elixir keyword.operator.assignment.elixir",
"settings": {
"foreground": "#d19a66"
}
},
{
"scope": "source.elixir keyword.operator.logical.elixir",
"settings": {
"foreground": "#d19a66"
}
},
{
"scope": "source.elixir keyword.operator.comparison.elixir",
"settings": {
"foreground": "#d19a66"
}
},
// STRING INTERPOLATION
{
"scope": "source.elixir string.quoted.double.elixir meta.embedded.line.elixir punctuation.section.embedded.elixir",
"settings": {
"foreground": "#e06c75"
}
},
{
"scope": "source.elixir string.quoted.double.interpolated.elixir meta.embedded.line.elixir punctuation.section.embedded.elixir",
"settings": {
"foreground": "#e06c75"
}
},
{
"scope": "source.elixir string.quoted.double.heredoc.elixir meta.embedded.line.elixir punctuation.section.embedded.elixir",
"settings": {
"foreground": "#e06c75"
}
},
{
"scope": "source.elixir string.quoted.double.elixir constant.character.escape.elixir",
"settings": {
"foreground": "#98c379"
}
},
// PARENTHESIS
{
"scope": "source.elixir punctuation.section.function.elixir",
"settings": {
"foreground": "#828997"
}
},
// BRACES
{
"scope": "source.elixir punctuation.section.array.elixir",
"settings": {
"foreground": "#828997"
}
},
// CURLY BRACES
{
"scope": "source.elixir punctuation.section.scope.elixir",
"settings": {
"foreground": "#828997"
}
},
// REGEX
{
"scope": [
"punctuation.section.regexp.begin.elixir",
"punctuation.section.regexp.end.elixir",
"string.regexp.interpolated.elixir",
"source.elixir"
],
"settings": {
"foreground": "#be5046"
}
},
{
"scope": [
"source.elixir",
"string.regexp.interpolated.elixir",
"string.regexp.group.elixir",
"string.regexp.character-class.elixir"
],
"settings": {
"foreground": "#be5046"
}
},
{
"scope": [
"string.regexp.arbitrary-repitition.elixir",
"string.regexp.group.elixir",
"string.regexp.interpolated.elixir",
"source.elixir"
],
"settings": {
"foreground": "#be5046"
}
},
{
"scope": "source.elixir string.regexp.interpolated.elixir constant.character.escape.elixir",
"settings": {
"foreground": "#98c379"
}
},
// SIGIL W
{
"scope": "source.elixir string.quoted.double.interpolated.elixir punctuation.section.list.begin.elixir",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.elixir string.quoted.double.interpolated.elixir punctuation.section.list.end.elixir",
"settings": {
"foreground": "#828997"
}
},
// MODULE FUNCTION CALL
{
"scope": "source.elixir punctuation.separator.method.elixir",
"settings": {
"foreground": "#d19a66"
}
},
// ANONYMOUS FUNCTION ARG SEPARATOR
{
"scope": "source.elixir punctuation.separator.object.elixir",
"settings": {
"foreground": "#d19a66"
}
},
// VARIABLES
{
"scope": "source.elixir variable.other.readwrite.elixir",
"settings": {
"foreground": "#abb2bf"
}
},
// NUMBERS
{
"scope": "source.elixir constant.numeric.elixir",
"settings": {
"foreground": "#61afef"
}
},
// BOOLEANS
{
"scope": "source.elixir constant.language.elixir",
"settings": {
"foreground": "#61afef"
}
},
// ATOMS
{
"scope": "source.elixir constant.language.symbol.elixir",
"settings": {
"foreground": "#56b6c2"
}
},
{
"scope": "source.elixir constant.language.symbol.double-quoted.elixir",
"settings": {
"foreground": "#56b6c2"
}
},
{
"scope": "source.elixir constant.language.symbol.double-quoted.elixir punctuation.definition.constant.elixir",
"settings": {
"foreground": "#61afef"
}
},
{
"scope": "source.elixir constant.language.symbol.elixir punctuation.definition.constant.elixir",
"settings": {
"foreground": "#61afef"
}
},
// MODULE ATTRIBUTES
{
"scope": [
"punctuation.definition.variable.elixir",
"variable.other.constant.elixir",
"meta.type.definition.elixir",
"source.elixir"
],
"settings": {
"foreground": "#e06c75"
}
},
// ALIAS, REQUIRE, IMPORT
{
"scope": "source.elixir keyword.other.special-method.elixir",
"settings": {
"foreground": "#e06c75"
}
},
// __MODULE__
// {
// "scope": "source.elixir variable.other.readwrite.elixir",
// "settings": {
// "foreground": "#e06c75"
// }
// }
///
// ERLANG
///
// FUNCTIONS
{
"scope": "source.erlang meta.directive.erlang meta.function-call.erlang entity.name.function.erlang",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang",
"settings": {
"foreground": "#abb2bf"
}
},
{
"scope": "source.erlang meta.function.erlang entity.name.function.definition.erlang",
"settings": {
"foreground": "#61AFEF"
}
},
{
"scope": "source.erlang meta.function.erlang entity.name.function.erlang",
"settings": {
"foreground": "#61AFEF"
}
},
{
"scope": "source.erlang meta.directive.export.erlang meta.structure.list.function.erlang entity.name.function.erlang",
"settings": {
"foreground": "#abb2bf"
}
},
// VARIABLES
{
"scope": "source.erlang meta.function.erlang variable.other.erlang",
"settings": {
"foreground": "#E06C75"
}
},
{
"scope": "source.erlang meta.function.erlang meta.expression.parenthesized variable.other.erlang",
"settings": {
"foreground": "#D19A66",
"fontStyle": "italic"
}
},
{
"scope": "source.erlang meta.function.erlang meta.expression.parenthesized meta.structure.list.erlang variable.other.erlang",
"settings": {
"foreground": "#E06C75"
}
},
{
"scope": "source.erlang meta.function.erlang meta.expression.case.erlang variable.other.erlang",
"settings": {
"foreground": "#E06C75"
}
},
{
"scope": "source.erlang meta.function.erlang meta.structure.tuple.erlang variable.other.erlang",
"settings": {
"foreground": "#E06C75"
}
},
{
"scope": "source.erlang meta.function.erlang meta.expression.parenthesized variable.language.omitted.erlang",
"settings": {
"foreground": "#5C6370"
}
},
// Atoms
{
"scope": "source.erlang constant.other.symbol.unquoted.erlang",
"settings": {
"foreground": "#56B6C2"
}
},
{
"scope": "source.erlang constant.other.symbol.quoted.single.erlang",
"settings": {
"foreground": "#56B6C2"
}
},
{
"scope": "source.erlang meta.record-usage.erlang meta.structure.record.erlang variable.other.field.erlang",
"settings": {
"foreground": "#56B6C2"
}
},
{
"scope": "source.erlang punctuation.definition.symbol.begin.erlang",
"settings": {
"foreground": "#61AFEF"
}
},
{
"scope": "source.erlang punctuation.definition.symbol.end.erlang",
"settings": {
"foreground": "#61AFEF"
}
},
// BOOLEANS
{
"scope": "source.erlang constant.language",
"settings": {
"foreground": "#61AFEF"
}
},
// NUMBERS
{
"scope": "source.erlang constant.numeric.integer.decimal.erlang",
"settings": {
"foreground": "#61AFEF"
}
},
// TUPLES
{
"scope": "source.erlang meta.structure.tuple.erlang punctuation.definition.tuple.begin.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang meta.structure.tuple.erlang punctuation.definition.tuple.end.erlang",
"settings": {
"foreground": "#828997"
}
},
// RECORDS
{
"scope": "source.erlang meta.record-usage.erlang meta.structure.record.erlang punctuation.definition.class.record.begin.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang meta.record-usage.erlang meta.structure.record.erlang punctuation.definition.class.record.end.erlang",
"settings": {
"foreground": "#828997"
}
},
// LISTS
{
"scope": "source.erlang meta.structure.list.erlang punctuation.definition.list.begin.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang meta.structure.list.erlang punctuation.definition.list.end.erlang",
"settings": {
"foreground": "#828997"
}
},
// PARENTHESIS
{
"scope": "source.erlang punctuation.definition.parameters.begin.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang punctuation.definition.parameters.end.erlang",
"settings": {
"foreground": "#828997"
}
},
// .,;#-
{
"scope": "source.erlang punctuation.separator.tuple.erlang",
"settings": {
"foreground": "#D19A66"
}
},
{
"scope": "source.erlang punctuation.separator.expressions.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang punctuation.separator.clauses.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang punctuation.terminator.function.erlang",
"settings": {
"foreground": "#ABB2BF"
}
},
{
"scope": "source.erlang meta.record-usage.erlang keyword.operator.record.erlang",
"settings": {
"foreground": "#ABB2BF"
}
},
{
"scope": "source.erlang punctuation.section.directive.begin.erlang",
"settings": {
"foreground": "#ABB2BF"
}
},
{
"scope": "source.erlang meta.function-call.erlang punctuation.separator.module-function.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// ->
{
"scope": "source.erlang punctuation.separator.clause-head-body.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// =
{
"scope": "source.erlang keyword.operator.symbolic.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// /
{
"scope": "source.erlang punctuation.separator.function-arity.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// :
{
"scope": "source.erlang meta.expression.parenthesized meta.structure.tuple.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// | on specs
{
"scope": "source.erlang meta.directive.erlang",
"settings": {
"foreground": "#D19A66"
}
},
// << >>
{
"scope": "source.erlang meta.structure.binary.erlang punctuation.definition.binary.begin.erlang",
"settings": {
"foreground": "#828997"
}
},
{
"scope": "source.erlang meta.structure.binary.erlang punctuation.definition.binary.end.erlang",
"settings": {
"foreground": "#828997"
}
}
]
}
},
"redhat.telemetry.enabled": true,
"terminal.integrated.fontFamily": "MesloLGS NF",
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"editor.quickSuggestionsDelay": 1000
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment