vsj0702 commited on
Commit
92d336f
Β·
verified Β·
1 Parent(s): ebdaa7b

Upgrading from ace to monaco

Browse files
Files changed (1) hide show
  1. code_editor.py +38 -12
code_editor.py CHANGED
@@ -1,7 +1,7 @@
1
  # code_editor.py
2
 
3
  import streamlit as st
4
- import streamlit_ace as st_ace
5
  import os
6
  import time, psutil
7
  from pathlib import Path
@@ -82,19 +82,45 @@ def render_code_editor(ace_theme):
82
  st.session_state.prev_language = selected_lang
83
 
84
  # ── ACE Code Editor ──────────────────────────────
85
- code = st_ace.st_ace(
 
 
 
 
 
 
 
 
 
 
 
 
86
  value=st.session_state.code,
87
- placeholder=f"Start typing your {selected_lang} code…",
88
- language=selected_lang.lower() if selected_lang != "C++" else "c_cpp",
89
- theme=ace_theme,
90
- keybinding="vscode",
91
- font_size=14,
92
- min_lines=20,
93
- show_gutter=True,
94
- wrap=True,
95
- auto_update=True,
96
- key=editor_key
 
97
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
98
 
99
  if code != st.session_state.code:
100
  st.session_state.code = code
 
1
  # code_editor.py
2
 
3
  import streamlit as st
4
+ from streamlit_monaco import st_monaco # import streamlit_ace as st_ace
5
  import os
6
  import time, psutil
7
  from pathlib import Path
 
82
  st.session_state.prev_language = selected_lang
83
 
84
  # ── ACE Code Editor ──────────────────────────────
85
+ monaco_lang_map = {
86
+ "Python": "python",
87
+ "Java": "java",
88
+ "C": "c",
89
+ "C++": "cpp",
90
+ "JavaScript": "javascript",
91
+ "C#": "csharp"
92
+ }
93
+ language = monaco_lang_map.get(st.session_state.selected_lang, "python")
94
+ theme = "vs-dark" if st.session_state.dark_mode else "vs"
95
+
96
+ # Display editor
97
+ code = st_monaco(
98
  value=st.session_state.code,
99
+ language=language,
100
+ theme=theme,
101
+ height=400,
102
+ key=st.session_state.editor_key,
103
+ options={
104
+ "fontSize": 14,
105
+ "minimap": {"enabled": False},
106
+ "automaticLayout": True,
107
+ "wordWrap": "on",
108
+ "ariaLabel": f"Start typing your {st.session_state.selected_lang} code…"
109
+ }
110
  )
111
+ # code = st_ace.st_ace(
112
+ # value=st.session_state.code,
113
+ # placeholder=f"Start typing your {selected_lang} code…",
114
+ # language=selected_lang.lower() if selected_lang != "C++" else "c_cpp",
115
+ # theme=ace_theme,
116
+ # keybinding="vscode",
117
+ # font_size=14,
118
+ # min_lines=20,
119
+ # show_gutter=True,
120
+ # wrap=True,
121
+ # auto_update=True,
122
+ # key=editor_key
123
+ # )
124
 
125
  if code != st.session_state.code:
126
  st.session_state.code = code