diff --git a/index.html b/index.html
index ba33878..0bb2012 100644
--- a/index.html
+++ b/index.html
@@ -33,20 +33,12 @@
.root {
height: 100%;
display: grid;
- grid-template-areas:
- "code eval"
- "bottom bottom"
- "statusbar statusbar";
- grid-template-columns: 60% 40%;
- grid-template-rows: 1fr 0.7fr 2.5em;
- }
-
- .root.embed_value_explorer {
grid-template-areas:
"code code"
"bottom files"
"statusbar statusbar";
grid-template-columns: 70% 30%;
+ grid-template-rows: 1fr 0.7fr 2.5em;
}
.root.fullscreen_editor {
@@ -54,17 +46,16 @@
grid-template-rows: 1fr 0fr 2.5em;
}
- .editor_container, .bottom, .eval, .files_container, .statusbar {
+ .editor_container, .bottom, .files_container, .statusbar {
box-shadow: 1px 1px 3px 0px var(--shadow_color);
}
- .editor_container, .eval, .bottom, .statusbar, .files_container {
+ .editor_container, .bottom, .statusbar, .files_container {
margin: 8px;
}
.editor_container:focus-within,
.bottom:focus-within,
- .eval:focus-within,
.files_container:focus-within,
.help_dialog {
outline: none;
@@ -81,18 +72,6 @@
font-size: 16px;
}
- .eval {
- display: grid;
- grid-area: eval;
- overflow: auto;
- white-space: pre;
- }
-
- .eval_content {
- padding: 5px;
- outline: none;
- }
-
/* ace markers */
.selection {
diff --git a/src/editor/calltree.js b/src/editor/calltree.js
index 5746967..0e0505d 100644
--- a/src/editor/calltree.js
+++ b/src/editor/calltree.js
@@ -1,6 +1,5 @@
import {exec} from '../index.js'
import {el, stringify, fn_link, scrollIntoViewIfNeeded} from './domutils.js'
-import {FLAGS} from '../feature_flags.js'
import {stringify_for_header} from './value_explorer.js'
import {find_node} from '../ast_utils.js'
import {is_expandable, root_calltree_node, get_deferred_calls, has_error}
@@ -37,23 +36,11 @@ export class CallTree {
}
if(e.key == 'a') {
- if(FLAGS.embed_value_explorer) {
- exec('calltree.select_arguments')
- } else {
- // TODO make clear that arguments are shown
- this.ui.eval.show_value(this.state.current_calltree_node.args)
- this.ui.eval.focus_value_or_error(this.container)
- }
+ exec('calltree.select_arguments')
}
if(e.key == 'r' || e.key == 'Enter') {
- if(FLAGS.embed_value_explorer) {
- exec('calltree.select_return_value')
- } else {
- // TODO make clear that return value is shown
- this.ui.eval.show_value_or_error(this.state.current_calltree_node)
- this.ui.eval.focus_value_or_error(this.container)
- }
+ exec('calltree.select_return_value')
}
if(e.key == 'ArrowDown' || e.key == 'j'){
diff --git a/src/editor/editor.js b/src/editor/editor.js
index 42060d3..8b35def 100644
--- a/src/editor/editor.js
+++ b/src/editor/editor.js
@@ -1,7 +1,6 @@
import {exec, get_state} from '../index.js'
import {ValueExplorer, stringify_for_header} from './value_explorer.js'
import {el, stringify, fn_link} from './domutils.js'
-import {FLAGS} from '../feature_flags.js'
/*
normalize events 'change' and 'changeSelection':
@@ -173,6 +172,8 @@ export class Editor {
update_value_explorer_margin() {
if(this.widget != null) {
+ // TODO: set margin left based on current line width, not on max line
+ // width?
this.widget.content.style.marginLeft =
(this.ace_editor.getSession().getScreenWidth() + 1) + 'ch'
}
@@ -265,15 +266,9 @@ export class Editor {
}
focus_value_explorer(return_to) {
- if(FLAGS.embed_value_explorer) {
- if(this.widget != null) {
- this.widget.return_to = return_to
- this.widget.content.focus({preventScroll: true})
- }
- } else {
- if(get_state().selection_state != null) {
- this.ui.eval.focus_value_or_error()
- }
+ if(this.widget != null) {
+ this.widget.return_to = return_to
+ this.widget.content.focus({preventScroll: true})
}
}
diff --git a/src/editor/eval.js b/src/editor/eval.js
deleted file mode 100644
index ed99c59..0000000
--- a/src/editor/eval.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import {ValueExplorer} from './value_explorer.js'
-import {el} from './domutils.js'
-
-export class Eval {
-
- constructor(ui, container) {
- this.ui = ui
- this.container = container
-
- this.container.addEventListener('keydown', (e) => {
- if(e.key == 'Escape') {
- this.escape()
- }
- })
-
- // TODO jump to fn location, view function calls
- // container.addEventListener('click', jump_to_fn_location)
-
- }
-
- escape() {
- if(this.focusedFrom == null) {
- this.ui.editor.focus()
- } else {
- this.focusedFrom.focus()
- this.focusedFrom = null
- }
- }
-
- show_value(value){
- this.container.innerHTML = ''
- const container = el('div', {'class': 'eval_content', tabindex: 0})
- this.container.appendChild(container)
- const explorer = new ValueExplorer({
- container,
- on_escape: () => this.escape()
- })
- explorer.render(value)
- }
-
- show_error(error){
- this.container.innerHTML = ''
- this.container.appendChild(el('span', 'eval_error', error.toString()))
- }
-
- show_value_or_error({ok, value, error}){
- if(ok) {
- this.show_value(value)
- } else {
- this.show_error(error)
- }
- }
-
- clear_value_or_error() {
- this.container.innerHTML = ''
- }
-
- focus_value_or_error(from) {
- this.focusedFrom = from
- if(this.container.childElementCount != 1) {
- throw new Error('illegal state')
- }
- this.container.children[0].focus()
- }
-
-
-}
diff --git a/src/editor/ui.js b/src/editor/ui.js
index c11183a..5ca8100 100644
--- a/src/editor/ui.js
+++ b/src/editor/ui.js
@@ -4,9 +4,7 @@ import {Files} from './files.js'
import {CallTree} from './calltree.js'
import {Logs} from './logs.js'
import {IO_Cache} from './io_cache.js'
-import {Eval} from './eval.js'
import {el} from './domutils.js'
-import {FLAGS} from '../feature_flags.js'
export class UI {
constructor(container, state){
@@ -20,12 +18,8 @@ export class UI {
this.debugger = {}
container.appendChild(
- (this.root = el('div',
- 'root ' + (FLAGS.embed_value_explorer ? 'embed_value_explorer' : ''),
+ (this.root = el('div', 'root',
this.editor_container = el('div', 'editor_container'),
- FLAGS.embed_value_explorer
- ? null
- : (this.eval_container = el('div', {class: 'eval'})),
el('div', 'bottom',
this.debugger_container = el('div', 'debugger',
this.debugger_loaded = el('div', 'debugger_wrapper',
@@ -173,17 +167,6 @@ export class UI {
}
})
- if(!FLAGS.embed_value_explorer) {
- this.eval = new Eval(this, this.eval_container)
- } else {
- // Stub
- this.eval = {
- show_value_or_error(){},
- clear_value_or_error(){},
- focus_value_or_error(){},
- }
- }
-
this.editor = new Editor(this, this.editor_container)
this.calltree = new CallTree(this, this.debugger.calltree)
diff --git a/src/effects.js b/src/effects.js
index 41692e8..0bd5e50 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -6,7 +6,6 @@ import {
get_deferred_calls
} from './calltree.js'
import {current_cursor_position} from './calltree.js'
-import {FLAGS} from './feature_flags.js'
import {exec, FILES_ROOT} from './index.js'
// Imports in the context of `run_window`, so global variables in loaded
@@ -221,7 +220,6 @@ export const render_common_side_effects = (prev, next, command, ui) => {
} else {
// Rerender entire calltree
ui.render_debugger(next)
- ui.eval.clear_value_or_error()
clear_coloring(ui)
render_coloring(ui, next)
ui.logs.rerender_logs(next.logs)
@@ -255,14 +253,6 @@ export const render_common_side_effects = (prev, next, command, ui) => {
ui.calltree.render_select_node(prev, next)
}
- if(node_changed) {
- if(!next.current_calltree_node.toplevel) {
- ui.eval.show_value_or_error(next.current_calltree_node)
- } else {
- ui.eval.clear_value_or_error()
- }
- }
-
if(prev.calltree_node_by_loc != next.calltree_node_by_loc) {
render_coloring(ui, next)
}
@@ -290,15 +280,11 @@ export const render_common_side_effects = (prev, next, command, ui) => {
const selresult = next.selection_state?.result
if(selresult != null && prev.selection_state?.result != selresult) {
- if(FLAGS.embed_value_explorer) {
- const node = next.selection_state.node
- ui.editor.embed_value_explorer({
- index: node.index + node.length,
- result: next.selection_state.result,
- })
- } else {
- ui.eval.show_value_or_error(next.selection_state.result)
- }
+ const node = next.selection_state.node
+ ui.editor.embed_value_explorer({
+ index: node.index + node.length,
+ result: next.selection_state.result,
+ })
}
// Value explorer
diff --git a/src/feature_flags.js b/src/feature_flags.js
deleted file mode 100644
index 2bb7c21..0000000
--- a/src/feature_flags.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const FLAGS = {
- embed_value_explorer: true,
-}