gh-here 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/file-utils.js CHANGED
@@ -187,46 +187,77 @@ function getFileIcon(filename) {
187
187
  }
188
188
 
189
189
  function getLanguageFromExtension(ext) {
190
+ if (!ext) return undefined;
191
+ const normalized = String(ext).toLowerCase();
190
192
  const langMap = {
193
+ // JavaScript family
191
194
  'js': 'javascript',
195
+ 'mjs': 'javascript',
192
196
  'jsx': 'javascript',
193
197
  'ts': 'typescript',
194
198
  'tsx': 'typescript',
195
- 'py': 'python',
196
- 'java': 'java',
199
+
200
+ // Web
197
201
  'html': 'html',
202
+ 'htm': 'html',
198
203
  'css': 'css',
199
204
  'scss': 'scss',
200
205
  'sass': 'sass',
206
+ 'less': 'less',
207
+
208
+ // Data / config
201
209
  'json': 'json',
202
210
  'xml': 'xml',
203
211
  'yaml': 'yaml',
204
212
  'yml': 'yaml',
213
+
214
+ // Shell & scripts
205
215
  'sh': 'bash',
206
216
  'bash': 'bash',
207
217
  'zsh': 'bash',
208
- 'go': 'go',
209
- 'rs': 'rust',
210
- 'cpp': 'cpp',
211
- 'cxx': 'cpp',
212
- 'cc': 'cpp',
218
+ 'fish': 'bash',
219
+ 'ps1': 'powershell',
220
+
221
+ // Compiled / systems
213
222
  'c': 'c',
214
223
  'h': 'c',
224
+ 'cpp': 'cpp',
225
+ 'cc': 'cpp',
226
+ 'cxx': 'cpp',
215
227
  'hpp': 'cpp',
228
+ 'rs': 'rust',
229
+ 'go': 'go',
230
+ 'java': 'java',
231
+ 'kt': 'kotlin',
232
+ 'swift': 'swift',
233
+
234
+ // Scripting
235
+ 'py': 'python',
216
236
  'php': 'php',
217
237
  'rb': 'ruby',
218
- 'swift': 'swift',
219
- 'kt': 'kotlin',
220
238
  'dart': 'dart',
221
239
  'r': 'r',
222
240
  'sql': 'sql',
223
- 'dockerfile': 'dockerfile',
241
+ 'scala': 'scala',
242
+ 'clj': 'clojure',
243
+ 'lua': 'lua',
244
+ 'pl': 'perl',
245
+ 'groovy': 'groovy',
246
+
247
+ // Markup / frameworks
224
248
  'md': 'markdown',
225
249
  'markdown': 'markdown',
226
250
  'vue': 'vue',
227
- 'svelte': 'svelte'
251
+ 'svelte': 'svelte',
252
+
253
+ // Misc text
254
+ 'txt': 'plaintext',
255
+ 'log': 'plaintext',
256
+
257
+ // Special filename-style extensions
258
+ 'dockerfile': 'dockerfile'
228
259
  };
229
- return langMap[ext];
260
+ return langMap[normalized];
230
261
  }
231
262
 
232
263
  function getLanguageColor(language) {