mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-10-18 03:26:07 +08:00
feat(language): add Gleam coding language (@binajmen) (#6771)
### Description Adding the Gleam language! https://gleam.run/ ### Checks - [x] Adding a language? - Make sure to follow the [languages documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md) - [x] Add language to `packages/contracts/src/schemas/languages.ts` - [x] Add language to exactly one group in `frontend/src/ts/constants/languages.ts` - [x] Add language json file to `frontend/static/languages` - [x] Check if any open issues are related to this PR; if so, be sure to tag them below. - [x] Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info) - [x] Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title.
This commit is contained in:
parent
363e21b541
commit
3757744b28
3 changed files with 450 additions and 0 deletions
|
@ -340,6 +340,7 @@ export const LanguageGroups: Record<string, Language[]> = {
|
|||
"code_arduino",
|
||||
"code_systemverilog",
|
||||
"code_elixir",
|
||||
"code_gleam",
|
||||
"code_zig",
|
||||
"code_gdscript",
|
||||
"code_gdscript_2",
|
||||
|
|
448
frontend/static/languages/code_gleam.json
Normal file
448
frontend/static/languages/code_gleam.json
Normal file
|
@ -0,0 +1,448 @@
|
|||
{
|
||||
"name": "code_gleam",
|
||||
"ligatures": true,
|
||||
"words": [
|
||||
"!",
|
||||
"!=",
|
||||
"%",
|
||||
"&&",
|
||||
"*",
|
||||
"+",
|
||||
"-",
|
||||
"->",
|
||||
"..",
|
||||
"/",
|
||||
"<",
|
||||
"<-",
|
||||
"<<>>",
|
||||
"<=",
|
||||
"<>",
|
||||
"==",
|
||||
">",
|
||||
">=",
|
||||
"[]",
|
||||
"#()",
|
||||
"_",
|
||||
"as",
|
||||
"assert",
|
||||
"auto",
|
||||
"BitArray",
|
||||
"Bool",
|
||||
"case",
|
||||
"const",
|
||||
"delegate",
|
||||
"derive",
|
||||
"echo",
|
||||
"else",
|
||||
"external",
|
||||
"False",
|
||||
"Float",
|
||||
"fn",
|
||||
"if",
|
||||
"implement",
|
||||
"import",
|
||||
"Int",
|
||||
"let",
|
||||
"List",
|
||||
"macro",
|
||||
"Nil",
|
||||
"opaque",
|
||||
"panic",
|
||||
"pub",
|
||||
"String",
|
||||
"test",
|
||||
"todo",
|
||||
"True",
|
||||
"type",
|
||||
"use",
|
||||
"||",
|
||||
"|>",
|
||||
"bit_array.append",
|
||||
"bit_array.base16_decode",
|
||||
"bit_array.base16_encode",
|
||||
"bit_array.base64_decode",
|
||||
"bit_array.base64_encode",
|
||||
"bit_array.base64_url_decode",
|
||||
"bit_array.base64_url_encode",
|
||||
"bit_array.byte_size",
|
||||
"bit_array.concat",
|
||||
"bit_array.copy",
|
||||
"bit_array.drop",
|
||||
"bit_array.ends_with",
|
||||
"bit_array.from_string",
|
||||
"bit_array.inspect",
|
||||
"bit_array.is_empty",
|
||||
"bit_array.part",
|
||||
"bit_array.slice",
|
||||
"bit_array.starts_with",
|
||||
"bit_array.to_string",
|
||||
"bool.and",
|
||||
"bool.exclusive_nor",
|
||||
"bool.exclusive_or",
|
||||
"bool.guard",
|
||||
"bool.lazy_guard",
|
||||
"bool.nand",
|
||||
"bool.negate",
|
||||
"bool.nor",
|
||||
"bool.or",
|
||||
"bytes_tree.append",
|
||||
"bytes_tree.append_builder",
|
||||
"bytes_tree.append_string",
|
||||
"bytes_tree.byte_size",
|
||||
"bytes_tree.concat",
|
||||
"bytes_tree.from_bit_array",
|
||||
"bytes_tree.from_string",
|
||||
"bytes_tree.from_string_builder",
|
||||
"bytes_tree.new",
|
||||
"bytes_tree.prepend",
|
||||
"bytes_tree.prepend_builder",
|
||||
"bytes_tree.prepend_string",
|
||||
"bytes_tree.to_bit_array",
|
||||
"decode.at",
|
||||
"decode.bit_array",
|
||||
"decode.bool",
|
||||
"decode.collapse_errors",
|
||||
"decode.decode_error",
|
||||
"decode.dict",
|
||||
"decode.dynamic",
|
||||
"decode.failure",
|
||||
"decode.field",
|
||||
"decode.float",
|
||||
"decode.int",
|
||||
"decode.list",
|
||||
"decode.map",
|
||||
"decode.map_errors",
|
||||
"decode.new_primitive_decoder",
|
||||
"decode.one_of",
|
||||
"decode.optional",
|
||||
"decode.optional_field",
|
||||
"decode.optionally_at",
|
||||
"decode.recursive",
|
||||
"decode.run",
|
||||
"decode.string",
|
||||
"decode.subfield",
|
||||
"decode.success",
|
||||
"decode.Decoder",
|
||||
"decode.DecodeError",
|
||||
"dict.combine",
|
||||
"dict.delete",
|
||||
"dict.drop",
|
||||
"dict.each",
|
||||
"dict.filter",
|
||||
"dict.fold",
|
||||
"dict.from_list",
|
||||
"dict.get",
|
||||
"dict.has_key",
|
||||
"dict.insert",
|
||||
"dict.is_empty",
|
||||
"dict.keys",
|
||||
"dict.map_values",
|
||||
"dict.merge",
|
||||
"dict.new",
|
||||
"dict.size",
|
||||
"dict.take",
|
||||
"dict.to_list",
|
||||
"dict.upsert",
|
||||
"dict.values",
|
||||
"Dict",
|
||||
"dynamic.array",
|
||||
"dynamic.bit_array",
|
||||
"dynamic.bool",
|
||||
"dynamic.classify",
|
||||
"dynamic.float",
|
||||
"dynamic.from",
|
||||
"dynamic.int",
|
||||
"dynamic.list",
|
||||
"dynamic.nil",
|
||||
"dynamic.properties",
|
||||
"dynamic.string",
|
||||
"dynamic.Dynamic",
|
||||
"float.absolute_value",
|
||||
"float.add",
|
||||
"float.ceiling",
|
||||
"float.clamp",
|
||||
"float.compare",
|
||||
"float.divide",
|
||||
"float.exponential",
|
||||
"float.floor",
|
||||
"float.logarithm",
|
||||
"float.loosely_compare",
|
||||
"float.loosely_equals",
|
||||
"float.max",
|
||||
"float.min",
|
||||
"float.modulo",
|
||||
"float.multiply",
|
||||
"float.negate",
|
||||
"float.parse",
|
||||
"float.power",
|
||||
"float.product",
|
||||
"float.random",
|
||||
"float.round",
|
||||
"float.square_root",
|
||||
"float.subtract",
|
||||
"float.sum",
|
||||
"float.to_precision",
|
||||
"float.to_string",
|
||||
"function.apply1",
|
||||
"function.apply2",
|
||||
"function.apply3",
|
||||
"function.compose",
|
||||
"function.constant",
|
||||
"function.curry2",
|
||||
"function.curry3",
|
||||
"function.curry4",
|
||||
"function.curry5",
|
||||
"function.curry6",
|
||||
"function.flip",
|
||||
"function.identity",
|
||||
"function.tap",
|
||||
"Gt",
|
||||
"int.absolute_value",
|
||||
"int.add",
|
||||
"int.base_parse",
|
||||
"int.bitwise_and",
|
||||
"int.bitwise_exclusive_or",
|
||||
"int.bitwise_not",
|
||||
"int.bitwise_or",
|
||||
"int.bitwise_shift_left",
|
||||
"int.bitwise_shift_right",
|
||||
"int.clamp",
|
||||
"int.compare",
|
||||
"int.digits",
|
||||
"int.divide",
|
||||
"int.floor_divide",
|
||||
"int.is_even",
|
||||
"int.is_odd",
|
||||
"int.max",
|
||||
"int.min",
|
||||
"int.modulo",
|
||||
"int.multiply",
|
||||
"int.negate",
|
||||
"int.parse",
|
||||
"int.power",
|
||||
"int.product",
|
||||
"int.random",
|
||||
"int.remainder",
|
||||
"int.square_root",
|
||||
"int.subtract",
|
||||
"int.to_base16",
|
||||
"int.to_base2",
|
||||
"int.to_base36",
|
||||
"int.to_base8",
|
||||
"int.to_base_string",
|
||||
"int.to_float",
|
||||
"int.to_string",
|
||||
"int.undigits",
|
||||
"io.debug",
|
||||
"io.print",
|
||||
"io.print_error",
|
||||
"io.println",
|
||||
"io.println_error",
|
||||
"list.all",
|
||||
"list.any",
|
||||
"list.append",
|
||||
"list.chunk",
|
||||
"list.combination_pairs",
|
||||
"list.combinations",
|
||||
"list.contains",
|
||||
"list.count",
|
||||
"list.drop",
|
||||
"list.drop_while",
|
||||
"list.each",
|
||||
"list.filter",
|
||||
"list.filter_map",
|
||||
"list.find",
|
||||
"list.find_map",
|
||||
"list.first",
|
||||
"list.flat_map",
|
||||
"list.flatten",
|
||||
"list.fold",
|
||||
"list.fold_right",
|
||||
"list.fold_until",
|
||||
"list.group",
|
||||
"list.index_fold",
|
||||
"list.index_map",
|
||||
"list.interleave",
|
||||
"list.intersperse",
|
||||
"list.is_empty",
|
||||
"list.key_filter",
|
||||
"list.key_find",
|
||||
"list.key_pop",
|
||||
"list.key_set",
|
||||
"list.last",
|
||||
"list.length",
|
||||
"list.map",
|
||||
"list.map2",
|
||||
"list.map_fold",
|
||||
"list.max",
|
||||
"list.min",
|
||||
"list.partition",
|
||||
"list.permutations",
|
||||
"list.prepend",
|
||||
"list.range",
|
||||
"list.reduce",
|
||||
"list.repeat",
|
||||
"list.rest",
|
||||
"list.reverse",
|
||||
"list.sample",
|
||||
"list.scan",
|
||||
"list.shuffle",
|
||||
"list.sized_chunk",
|
||||
"list.sort",
|
||||
"list.split",
|
||||
"list.split_while",
|
||||
"list.strict_zip",
|
||||
"list.take",
|
||||
"list.take_while",
|
||||
"list.transpose",
|
||||
"list.try_each",
|
||||
"list.try_fold",
|
||||
"list.try_map",
|
||||
"list.unique",
|
||||
"list.unzip",
|
||||
"list.window",
|
||||
"list.window_by_2",
|
||||
"list.wrap",
|
||||
"list.zip",
|
||||
"Lt",
|
||||
"None",
|
||||
"Ok",
|
||||
"option.all",
|
||||
"option.flatten",
|
||||
"option.from_result",
|
||||
"option.is_none",
|
||||
"option.is_some",
|
||||
"option.lazy_or",
|
||||
"option.lazy_unwrap",
|
||||
"option.map",
|
||||
"option.or",
|
||||
"option.then",
|
||||
"option.to_result",
|
||||
"option.unwrap",
|
||||
"option.values",
|
||||
"Option",
|
||||
"order.break_tie",
|
||||
"order.compare",
|
||||
"order.lazy_break_tie",
|
||||
"order.negate",
|
||||
"order.reverse",
|
||||
"Order",
|
||||
"pair.first",
|
||||
"pair.map_first",
|
||||
"pair.map_second",
|
||||
"pair.new",
|
||||
"pair.second",
|
||||
"pair.swap",
|
||||
"result.all",
|
||||
"result.flatten",
|
||||
"result.is_error",
|
||||
"result.is_ok",
|
||||
"result.lazy_or",
|
||||
"result.lazy_unwrap",
|
||||
"result.map",
|
||||
"result.map_error",
|
||||
"result.nil_error",
|
||||
"result.or",
|
||||
"result.partition",
|
||||
"result.replace",
|
||||
"result.replace_error",
|
||||
"result.then",
|
||||
"result.try",
|
||||
"result.try_recover",
|
||||
"result.unwrap",
|
||||
"result.unwrap_both",
|
||||
"result.unwrap_error",
|
||||
"result.values",
|
||||
"Result",
|
||||
"set.contains",
|
||||
"set.delete",
|
||||
"set.difference",
|
||||
"set.drop",
|
||||
"set.each",
|
||||
"set.filter",
|
||||
"set.fold",
|
||||
"set.from_list",
|
||||
"set.insert",
|
||||
"set.intersection",
|
||||
"set.is_disjoint",
|
||||
"set.is_empty",
|
||||
"set.is_subset",
|
||||
"set.map",
|
||||
"set.new",
|
||||
"set.size",
|
||||
"set.symmetric_difference",
|
||||
"set.take",
|
||||
"set.to_list",
|
||||
"set.union",
|
||||
"Set",
|
||||
"Some",
|
||||
"string.append",
|
||||
"string.byte_size",
|
||||
"string.capitalise",
|
||||
"string.compare",
|
||||
"string.concat",
|
||||
"string.contains",
|
||||
"string.crop",
|
||||
"string.drop_end",
|
||||
"string.drop_start",
|
||||
"string.ends_with",
|
||||
"string.first",
|
||||
"string.from_utf_codepoints",
|
||||
"string.inspect",
|
||||
"string.is_empty",
|
||||
"string.join",
|
||||
"string.last",
|
||||
"string.length",
|
||||
"string.lowercase",
|
||||
"string.pad_end",
|
||||
"string.pad_start",
|
||||
"string.pop_grapheme",
|
||||
"string.repeat",
|
||||
"string.replace",
|
||||
"string.reverse",
|
||||
"string.slice",
|
||||
"string.split",
|
||||
"string.split_once",
|
||||
"string.starts_with",
|
||||
"string.to_graphemes",
|
||||
"string.to_option",
|
||||
"string.to_utf_codepoints",
|
||||
"string.trim",
|
||||
"string.trim_end",
|
||||
"string.trim_start",
|
||||
"string.uppercase",
|
||||
"string.utf_codepoint",
|
||||
"string.utf_codepoint_to_int",
|
||||
"string_tree.append",
|
||||
"string_tree.append_tree",
|
||||
"string_tree.byte_size",
|
||||
"string_tree.concat",
|
||||
"string_tree.from_string",
|
||||
"string_tree.from_strings",
|
||||
"string_tree.is_empty",
|
||||
"string_tree.is_equal",
|
||||
"string_tree.join",
|
||||
"string_tree.lowercase",
|
||||
"string_tree.new",
|
||||
"string_tree.prepend",
|
||||
"string_tree.prepend_tree",
|
||||
"string_tree.replace",
|
||||
"string_tree.reverse",
|
||||
"string_tree.split",
|
||||
"string_tree.to_string",
|
||||
"string_tree.uppercase",
|
||||
"StringTree",
|
||||
"uri.empty",
|
||||
"uri.merge",
|
||||
"uri.origin",
|
||||
"uri.parse",
|
||||
"uri.parse_query",
|
||||
"uri.path_segments",
|
||||
"uri.percent_decode",
|
||||
"uri.percent_encode",
|
||||
"uri.query_to_string",
|
||||
"uri.to_string",
|
||||
"Uri",
|
||||
"UtfCodepoint"
|
||||
]
|
||||
}
|
|
@ -397,6 +397,7 @@ export const LanguageSchema = z.enum(
|
|||
"code_arduino",
|
||||
"code_systemverilog",
|
||||
"code_elixir",
|
||||
"code_gleam",
|
||||
"code_zig",
|
||||
"code_gdscript",
|
||||
"code_gdscript_2",
|
||||
|
|
Loading…
Add table
Reference in a new issue