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/.claude/settings.local.json +20 -11
- package/README.md +30 -101
- package/SAMPLE.md +287 -0
- package/lib/constants.js +38 -0
- package/lib/error-handler.js +55 -0
- package/lib/file-tree-builder.js +81 -0
- package/lib/file-utils.js +43 -12
- package/lib/renderers.js +440 -194
- package/lib/server.js +120 -32
- package/lib/validation.js +77 -0
- package/package.json +1 -1
- package/public/app.js +199 -1825
- package/public/app.js.backup +1902 -0
- package/public/js/clipboard-utils.js +45 -0
- package/public/js/constants.js +60 -0
- package/public/js/draft-manager.js +36 -0
- package/public/js/editor-manager.js +159 -0
- package/public/js/file-tree.js +321 -0
- package/public/js/keyboard-handler.js +41 -0
- package/public/js/modal-manager.js +70 -0
- package/public/js/navigation.js +254 -0
- package/public/js/notification.js +23 -0
- package/public/js/search-handler.js +238 -0
- package/public/js/theme-manager.js +108 -0
- package/public/js/utils.js +123 -0
- package/public/styles.css +874 -570
- package/.channels_cache_v2.json +0 -10882
- package/.users_cache.json +0 -16187
- package/blog-post.md +0 -100
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
|
-
|
|
196
|
-
|
|
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
|
-
'
|
|
209
|
-
'
|
|
210
|
-
|
|
211
|
-
|
|
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
|
-
'
|
|
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[
|
|
260
|
+
return langMap[normalized];
|
|
230
261
|
}
|
|
231
262
|
|
|
232
263
|
function getLanguageColor(language) {
|