FrederickSundeep commited on
Commit
b39e94f
·
1 Parent(s): 5877c29

commit 000401

Browse files
Files changed (1) hide show
  1. templates/index.html +29 -20
templates/index.html CHANGED
@@ -87,35 +87,44 @@
87
  });
88
  };
89
 
90
- const language_keywords = {
91
- python: ['def ', 'print(', 'import ', 'class '],
92
- javascript: ['function ', 'console.log(', 'let ', 'const ', 'document.getElementById'],
93
- typescript: ['interface ', 'type ', 'let ', 'const ', ': string', ': number'],
94
  java: ['import java.', 'ArrayList<', 'System.out', 'void main(', 'public class', 'new '],
95
- c: ['#include <stdio.h>', 'printf(', 'scanf(', 'int main('],
96
- cpp: ['#include', 'std::', 'cout <<', 'cin >>'],
97
  bash: ['#!/bin/bash', 'echo ', 'cd ', 'ls', 'pwd'],
98
- shell: ['#!/bin/sh', 'echo ', 'export ', 'fi'],
99
  sql: ['SELECT ', 'INSERT ', 'UPDATE ', 'FROM ', 'WHERE ', 'JOIN ', 'DELETE '],
100
- html: ['<!DOCTYPE html>', '<html>', '<div>', '<script>'],
101
- css: ['color:', 'font-size:', 'margin:', 'padding:'],
102
- go: ['package main', 'fmt.Println', 'func main()'],
103
- php: ['<?php', 'echo ', '$_', '->'],
104
- ruby: ['def ', 'puts ', 'end', 'class '],
105
- kotlin: ['fun main(', 'val ', 'var ', 'println('],
106
- swift: ['import SwiftUI', 'struct ', 'var body:', 'Text('],
107
- rust: ['fn main()', 'println!', 'let mut'],
108
- scala: ['object ', 'def ', 'val ', 'println('],
109
- dart: ['void main()', 'print(', 'var ', 'class '],
110
  };
111
 
112
  const detectLanguageByKeywords = (code) => {
 
 
 
113
  for (const [lang, keywords] of Object.entries(language_keywords)) {
114
- if (keywords.some(kw => code.includes(kw))) {
115
- return lang;
 
 
 
 
 
116
  }
117
  }
118
- return '';
 
119
  };
120
 
121
  const renderCode = (text) => {
 
87
  });
88
  };
89
 
90
+ const language_keywords = {
91
+ python: ['def ', 'print(', 'import ', 'class ', 'self', 'elif', 'None'],
92
+ javascript: ['function ', 'console.log(', 'let ', 'const ', 'document.getElementById', '=>'],
93
+ typescript: ['interface ', 'type ', ': string', ': number', 'let ', 'const '],
94
  java: ['import java.', 'ArrayList<', 'System.out', 'void main(', 'public class', 'new '],
95
+ c: ['#include <stdio.h>', 'printf(', 'scanf(', 'int main(', 'return 0;'],
96
+ cpp: ['#include', 'std::', 'cout <<', 'cin >>', 'using namespace std'],
97
  bash: ['#!/bin/bash', 'echo ', 'cd ', 'ls', 'pwd'],
98
+ shell: ['#!/bin/sh', 'echo ', 'export ', 'fi', 'if ['],
99
  sql: ['SELECT ', 'INSERT ', 'UPDATE ', 'FROM ', 'WHERE ', 'JOIN ', 'DELETE '],
100
+ html: ['<!DOCTYPE html>', '<html>', '<div>', '<script>', '<head>', '<body>'],
101
+ css: ['color:', 'font-size:', 'margin:', 'padding:', 'display:', 'position:'],
102
+ go: ['package main', 'fmt.Println(', 'func main()', 'import "fmt"'],
103
+ php: ['<?php', 'echo ', '$_', '->', '$_', 'function '],
104
+ ruby: ['def ', 'puts ', 'end', 'class ', ':symbol', 'require '],
105
+ kotlin: ['fun main(', 'val ', 'var ', 'println(', 'object '],
106
+ swift: ['import SwiftUI', 'struct ', 'var body:', 'Text(', 'let '],
107
+ rust: ['fn main()', 'println!', 'let mut', '::std', 'use '],
108
+ scala: ['object ', 'def ', 'val ', 'println(', 'case class'],
109
+ dart: ['void main()', 'print(', 'var ', 'class ', 'import '],
110
  };
111
 
112
  const detectLanguageByKeywords = (code) => {
113
+ let maxMatches = 0;
114
+ let bestMatch = 'plaintext';
115
+
116
  for (const [lang, keywords] of Object.entries(language_keywords)) {
117
+ const matches = keywords.reduce(
118
+ (count, keyword) => count + (code.includes(keyword) ? 1 : 0),
119
+ 0
120
+ );
121
+ if (matches > maxMatches) {
122
+ maxMatches = matches;
123
+ bestMatch = lang;
124
  }
125
  }
126
+
127
+ return bestMatch;
128
  };
129
 
130
  const renderCode = (text) => {