UNPKG

5.7 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3// We expect alias[0] to be used for the ADF attribute, see ED-2813
4exports.DEFAULT_LANGUAGES = [
5 { name: 'ABAP', alias: ['abap'] },
6 { name: 'ActionScript', alias: ['actionscript', 'actionscript3', 'as'] },
7 { name: 'Ada', alias: ['ada', 'ada95', 'ada2005'] },
8 { name: 'AppleScript', alias: ['applescript'] },
9 { name: 'Arduino', alias: ['arduino'] },
10 { name: 'Autoit', alias: ['autoit'] },
11 { name: 'C', alias: ['c'] },
12 { name: 'C++', alias: ['c++', 'cpp'] },
13 { name: 'Clojure', alias: ['clojure', 'clj'] },
14 { name: 'CoffeeScript', alias: ['coffeescript', 'coffee-script', 'coffee'] },
15 { name: 'ColdFusion', alias: ['coldfusion'] },
16 { name: 'CSharp', alias: ['csharp', 'c#'] },
17 { name: 'CSS', alias: ['css'] },
18 { name: 'CUDA', alias: ['cuda', 'cu'] },
19 { name: 'D', alias: ['d'] },
20 { name: 'Dart', alias: ['dart'] },
21 { name: 'Delphi', alias: ['delphi', 'pas', 'pascal', 'objectpascal'] },
22 { name: 'Diff', alias: ['diff'] },
23 { name: 'Elixir', alias: ['elixir', 'ex', 'exs'] },
24 { name: 'Erlang', alias: ['erlang', 'erl'] },
25 { name: 'Fortran', alias: ['fortran'] },
26 { name: 'FoxPro', alias: ['foxpro', 'vfp', 'clipper', 'xbase'] },
27 { name: 'Go', alias: ['go'] },
28 { name: 'GraphQL', alias: ['graphql'] },
29 { name: 'Groovy', alias: ['groovy'] },
30 { name: 'Haskell', alias: ['haskell', 'hs'] },
31 { name: 'Haxe', alias: ['haxe', 'hx', 'hxsl'] },
32 { name: 'Html', alias: ['html'] },
33 { name: 'Java', alias: ['java'] },
34 { name: 'JavaFX', alias: ['javafx', 'jfx'] },
35 { name: 'JavaScript', alias: ['javascript', 'js'] },
36 { name: 'JSON', alias: ['json'] },
37 { name: 'Julia', alias: ['julia', 'jl'] },
38 { name: 'Kotlin', alias: ['kotlin'] },
39 { name: 'LiveScript', alias: ['livescript', 'live-script'] },
40 { name: 'Lua', alias: ['lua'] },
41 { name: 'Mathematica', alias: ['mathematica', 'mma', 'nb'] },
42 { name: 'MATLAB', alias: ['matlab'] },
43 {
44 name: 'Objective-C',
45 alias: ['objective-c', 'objectivec', 'obj-c', 'objc'],
46 },
47 {
48 name: 'Objective-J',
49 alias: ['objective-j', 'objectivej', 'obj-j', 'objj'],
50 },
51 { name: 'ObjectPascal', alias: ['objectpascal'] },
52 { name: 'OCaml', alias: ['ocaml'] },
53 { name: 'Octave', alias: ['octave'] },
54 { name: 'Perl', alias: ['perl', 'pl'] },
55 { name: 'PHP', alias: ['php', 'php3', 'php4', 'php5'] },
56 { name: 'PlainText', alias: ['plaintext', 'text'] },
57 { name: 'PowerShell', alias: ['powershell', 'posh', 'ps1', 'psm1'] },
58 { name: 'Prolog', alias: ['prolog'] },
59 { name: 'Puppet', alias: ['puppet'] },
60 { name: 'Python', alias: ['python', 'py'] },
61 { name: 'QML', alias: ['qbs'] },
62 { name: 'R', alias: ['r'] },
63 { name: 'Racket', alias: ['racket', 'rkt'] },
64 { name: 'reStructuredText', alias: ['restructuredtext', 'rst', 'rest'] },
65 { name: 'Ruby', alias: ['ruby', 'rb', 'duby'] },
66 { name: 'Rust', alias: ['rust'] },
67 { name: 'Sass', alias: ['sass'] },
68 { name: 'Scala', alias: ['scala'] },
69 { name: 'Scheme', alias: ['scheme', 'scm'] },
70 { name: 'Shell', alias: ['shell', 'bash', 'sh', 'ksh', 'zsh'] },
71 { name: 'Smalltalk', alias: ['smalltalk', 'squeak', 'st'] },
72 {
73 name: 'SQL',
74 alias: [
75 'sql',
76 'postgresql',
77 'postgres',
78 'plpgsql',
79 'psql',
80 'postgresql-console',
81 'postgres-console',
82 'tsql',
83 't-sql',
84 'mysql',
85 'sqlite',
86 ],
87 },
88 { name: 'StandardML', alias: ['standardmL', 'sml'] },
89 { name: 'Swift', alias: ['swift'] },
90 { name: 'Tcl', alias: ['tcl'] },
91 { name: 'TeX', alias: ['tex', 'latex'] },
92 { name: 'TypeScript', alias: ['typescript', 'ts'] },
93 { name: 'Vala', alias: ['vala', 'vapi'] },
94 { name: 'VbNet', alias: ['vbnet', 'vb.net'] },
95 { name: 'Verilog', alias: ['verilog', 'v'] },
96 { name: 'VHDL', alias: ['vhdl'] },
97 { name: 'VisualBasic', alias: ['visualbasic', 'vb'] },
98 { name: 'XML', alias: ['xml'] },
99 { name: 'XQuery', alias: ['xquery', 'xqy', 'xq', 'xql', 'xqm'] },
100 { name: 'YAML', alias: ['yaml', 'yml'] },
101];
102function findMatchedLanguage(supportedLanguages, language) {
103 if (!language) {
104 return undefined;
105 }
106 var matches = supportedLanguages.filter(function (supportedLanguage) {
107 return supportedLanguage.alias.indexOf(language.toLowerCase()) !== -1;
108 });
109 if (matches.length > 0) {
110 return matches[0];
111 }
112 return undefined;
113}
114exports.findMatchedLanguage = findMatchedLanguage;
115function filterSupportedLanguages(supportedLanguages) {
116 if (!supportedLanguages || !supportedLanguages.length) {
117 return exports.DEFAULT_LANGUAGES;
118 }
119 return exports.DEFAULT_LANGUAGES.filter(function (language) {
120 var i = language.alias.length;
121 while (i--) {
122 if (supportedLanguages.indexOf(language.alias[i]) > -1) {
123 return true;
124 }
125 }
126 return false;
127 });
128}
129exports.filterSupportedLanguages = filterSupportedLanguages;
130function getLanguageIdentifier(language) {
131 return language.alias[0];
132}
133exports.getLanguageIdentifier = getLanguageIdentifier;
134function createLanguageList(supportedLanguages) {
135 return supportedLanguages.sort(function (left, right) {
136 if (left.name > right.name) {
137 return 1;
138 }
139 if (left.name < right.name) {
140 return -1;
141 }
142 return 0;
143 });
144}
145exports.createLanguageList = createLanguageList;
146//# sourceMappingURL=languageList.js.map
\No newline at end of file