@@ -78,63 +78,63 @@ const CollaborativeEditor = forwardRef(
7878 ) => {
7979 const editorRef = useRef ( null ) ;
8080 // const providerRef = useRef<WebrtcProvider | null>(null);
81- const [ selectedLanguage , setSelectedLanguage ] = useState ( "JavaScript " ) ;
81+ const [ selectedLanguage , setSelectedLanguage ] = useState ( "Python " ) ;
8282 let sessionEndNotified = false ;
8383
8484 const languageConf = new Compartment ( ) ;
8585
8686 // Referenced: https://codemirror.net/examples/config/#dynamic-configuration
87- const autoLanguage = EditorState . transactionExtender . of ( ( tr ) => {
88- if ( ! tr . docChanged ) return null ;
89-
90- const snippet = tr . newDoc . sliceString ( 0 , 100 ) ;
91-
92- // Handle code change
93- props . onCodeChange ( tr . newDoc . toString ( ) ) ;
94-
95- // Test for various language
96- const docIsPython = / ^ \s * ( d e f | c l a s s ) \s / . test ( snippet ) ;
97- const docIsJava = / ^ \s * ( c l a s s | p u b l i c \s + s t a t i c \s + v o i d \s + m a i n ) \s / . test (
98- snippet
99- ) ; // Java has some problems
100- const docIsCpp = / ^ \s * ( # i n c l u d e | n a m e s p a c e | i n t \s + m a i n ) \s / . test ( snippet ) ; // Yet to test c++
101- const docIsGo = / ^ ( p a c k a g e | i m p o r t | f u n c | t y p e | v a r | c o n s t ) \s / . test ( snippet ) ;
102-
103- let newLanguage ;
104- let languageType ;
105- let languageLabel ;
106-
107- if ( docIsPython ) {
108- newLanguage = python ( ) ;
109- languageLabel = "Python" ;
110- languageType = pythonLanguage ;
111- } else if ( docIsJava ) {
112- newLanguage = java ( ) ;
113- languageLabel = "Java" ;
114- languageType = javaLanguage ;
115- } else if ( docIsGo ) {
116- newLanguage = go ( ) ;
117- languageLabel = "Go" ;
118- languageType = goLanguage ;
119- } else if ( docIsCpp ) {
120- newLanguage = cpp ( ) ;
121- languageLabel = "C++" ;
122- languageType = cppLanguage ;
123- } else {
124- newLanguage = javascript ( ) ; // Default to JavaScript
125- languageLabel = "JavaScript" ;
126- languageType = javascriptLanguage ;
127- }
128-
129- const stateLanguage = tr . startState . facet ( language ) ;
130- if ( languageType == stateLanguage ) return null ;
131-
132- setSelectedLanguage ( languageLabel ) ;
133-
134- return {
135- effects : languageConf . reconfigure ( newLanguage ) ,
136- } ;
137- } ) ;
87+ // const autoLanguage = EditorState.transactionExtender.of((tr) => {
88+ // if (!tr.docChanged) return null;
89+
90+ // const snippet = tr.newDoc.sliceString(0, 100);
91+
92+ // // Handle code change
93+ // props.onCodeChange(tr.newDoc.toString());
94+
95+ // // Test for various language
96+ // const docIsPython = /^\s*(def|class)\s/.test(snippet);
97+ // const docIsJava = /^\s*(class|public\s+static\s+void\s+main)\s/.test(
98+ // snippet
99+ // ); // Java has some problems
100+ // const docIsCpp = /^\s*(#include|namespace|int\s+main)\s/.test(snippet); // Yet to test c++
101+ // const docIsGo = /^(package|import|func|type|var|const)\s/.test(snippet);
102+
103+ // let newLanguage;
104+ // let languageType;
105+ // let languageLabel;
106+
107+ // if (docIsPython) {
108+ // newLanguage = python();
109+ // languageLabel = "Python";
110+ // languageType = pythonLanguage;
111+ // } else if (docIsJava) {
112+ // newLanguage = java();
113+ // languageLabel = "Java";
114+ // languageType = javaLanguage;
115+ // } else if (docIsGo) {
116+ // newLanguage = go();
117+ // languageLabel = "Go";
118+ // languageType = goLanguage;
119+ // } else if (docIsCpp) {
120+ // newLanguage = cpp();
121+ // languageLabel = "C++";
122+ // languageType = cppLanguage;
123+ // } else {
124+ // newLanguage = javascript(); // Default to JavaScript
125+ // languageLabel = "JavaScript";
126+ // languageType = javascriptLanguage;
127+ // }
128+
129+ // const stateLanguage = tr.startState.facet(language);
130+ // if (languageType == stateLanguage) return null;
131+
132+ // setSelectedLanguage(languageLabel);
133+
134+ // return {
135+ // effects: languageConf.reconfigure(newLanguage),
136+ // };
137+ // });
138138
139139 const [ messageApi , contextHolder ] = message . useMessage ( ) ;
140140
@@ -290,8 +290,9 @@ const CollaborativeEditor = forwardRef(
290290 doc : ytext . toString ( ) ,
291291 extensions : [
292292 basicSetup ,
293- languageConf . of ( javascript ( ) ) ,
294- autoLanguage ,
293+ languageConf . of ( python ( ) ) ,
294+ // languageConf.of(javascript()),
295+ // autoLanguage,
295296 yCollab ( ytext , provider . awareness , { undoManager } ) ,
296297 ] ,
297298 } ) ;
@@ -326,9 +327,9 @@ const CollaborativeEditor = forwardRef(
326327 ref = { editorRef }
327328 style = { { height : "400px" , border : "1px solid #ddd" } }
328329 />
329- < div className = "language-detected" >
330+ { /* <div className="language-detected">
330331 <strong>Current Language Detected: </strong> {selectedLanguage}
331- </ div >
332+ </div> */ }
332333 </ >
333334 ) ;
334335 }
0 commit comments