Spaces:
Sleeping
Sleeping
Upgrading from ace to monaco
Browse files- 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
value=st.session_state.code,
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
|
|
|
| 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
|