1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
|
4 | exports.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 | ];
|
102 | function 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 | }
|
114 | exports.findMatchedLanguage = findMatchedLanguage;
|
115 | function 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 | }
|
129 | exports.filterSupportedLanguages = filterSupportedLanguages;
|
130 | function getLanguageIdentifier(language) {
|
131 | return language.alias[0];
|
132 | }
|
133 | exports.getLanguageIdentifier = getLanguageIdentifier;
|
134 | function 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 | }
|
145 | exports.createLanguageList = createLanguageList;
|
146 |
|
\ | No newline at end of file |