summaryrefslogtreecommitdiff
path: root/cli/tools/repl.rs
AgeCommit message (Collapse)Author
2021-09-08fix(cli): better handling of source maps (#11954)Kitson Kelly
Ref: #11874
2021-09-07refactor(lsp): use deno_ast and cache swc ASTs (#11780)David Sherret
2021-08-14fix(cli/tools/repl): dont highlight candidate when completion is list (#11697)Casper Beyer
2021-08-06feat(repl): add --eval flag for evaluating code when the repl starts (#11590)David Sherret
2021-08-06refactor: make `ParsedModule` implement `Sync` (#11581)David Sherret
2021-07-30chore: upgrade Rust to 1.54.0 (#11554)Yusuke Tanaka
2021-07-19fix(repl): output error without hanging when input is invalid (#11426)Ayato Tokubi
2021-07-08feat(repl): support autocomplete on declarations containing a primitive (#11325)David Sherret
2021-07-06chore: use parking_lot for synchronization primitives to align with tokio ↵David Sherret
(#11289) parking_lot is already transitively used in tokio via the "full" cargo feature
2021-07-06fix(repl): do not panic when Deno.inspect throws (#11292)Casper Beyer
2021-06-29chore: get rid of REPL timeout (#11175)Bert Belder
* Get rid of timeout * Use tokio channel and reduce calls to run_event_loop Co-authored-by: David Sherret <dsherret@gmail.com>
2021-06-24feat(repl): support import declarations in the REPL (#11086)David Sherret
2021-06-22feat(repl): show list completion (#11001)Casper Beyer
2021-06-21feat(repl): Type stripping in the REPL (#10934)David Sherret
2021-06-15fix(repl): Complete declarations (#10963)David Sherret
2021-06-09refactor(repl): Extract out structs for internal REPL code (#10915)David Sherret
* Extract out ReplEditor. * Extract out ReplSession. * Move PRELUDE declaration up.
2021-05-26refactor: move JsRuntimeInspector to deno_core (#10763)Bartek Iwańczuk
This commit moves implementation of "JsRuntimeInspector" to "deno_core" crate. To achieve that following changes were made: * "Worker" and "WebWorker" no longer own instance of "JsRuntimeInspector", instead it is now owned by "deno_core::JsRuntime". * Consequently polling of inspector is no longer done in "Worker"/"WebWorker", instead it's done in "deno_core::JsRuntime::poll_event_loop". * "deno_core::JsRuntime::poll_event_loop" and "deno_core::JsRuntime::run_event_loop", now accept "wait_for_inspector" boolean that tells if event loop should still be "pending" if there are active inspector sessions - this change fixes the problem that inspector disconnects from the frontend and process exits once the code has stopped executing.
2021-05-26refactor: Rewrite Inspector implementation (#10725)Bartek Iwańczuk
This commit refactors implementation of inspector. The intention is to be able to move inspector implementation to "deno_core". Following things were done to make that possible: * "runtime/inspector.rs" was split into "runtime/inspector/mod.rs" and "runtime/inspector/server.rs", separating inspector implementation from Websocket server implementation. * "DenoInspector" was renamed to "JsRuntimeInspector" and reference to "server" was removed from the structure, making it independent of Websocket server used to connect to Chrome Devtools. * "WebsocketSession" was renamed to "InspectorSession" and rewritten in such a way that it's not tied to Websockets anymore; instead it accepts a pair of "proxy" channel ends that allow to integrate the session with different "transports". * "InspectorSession" was renamed to "LocalInspectorSession" to better indicate that it's an "in-memory" session and doesn't require Websocket server. It was also rewritten in such a way that it uses "InspectorSession" from previous point instead of reimplementing "v8::inspector::ChannelImpl" trait; this is done by using the "proxy" channels to communicate with the V8 session. Consequently "LocalInspectorSession" is now a frontend to "InspectorSession". This introduces a small inconvenience that awaiting responses for "LocalInspectorSession" requires to concurrently poll worker's event loop. This arises from the fact that "InspectorSession" is now owned by "JsRuntimeInspector", which in turn is owned by "Worker" or "WebWorker". To ease this situation "Worker::with_event_loop" helper method was added, that takes a future and concurrently polls it along with the event loop (using "tokio::select!" macro inside a loop).
2021-02-21fix(repl): filter out symbol candidates (#9555)Casper Beyer
2021-02-08refactor(cli/tools/repl): merge highlighter into helper (#9448)Casper Beyer
2021-02-05fix(repl): prevent symbol completion panic (#9400)Casper Beyer
2021-01-13Remove unnecessary boxing of tokio::time::Sleep (#9105)Bert Belder
2021-01-11upgrade: tokio 1.0 (#8779)Bartek Iwańczuk
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka
2020-12-13refactor: deno_runtime crate (#8640)Bartek Iwańczuk
This commit moves Deno JS runtime, ops, permissions and inspector implementation to new "deno_runtime" crate located in "runtime/" directory. Details in "runtime/README.md". Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-12-01fix: higlight `async` and `of` in REPL (#8569)Liam Murphy
2020-12-01fix(repl): close calls sometimes prints results (#8558)Casper Beyer
2020-11-27refactor(repl): use SWC lexer to highlight and validate (#8496)Liam Murphy
2020-11-26refactor(cli): reorganize main.rs and split workers (#8495)Bartek Iwańczuk
Factored out "init_v8_flags", "init_logger" and "get_subcommand" from "main" function. Also "Worker" was removed in favor of moving logic to "MainWorker" and "WebWorker" respectively.
2020-11-25add canary versioning (#8480)crowlKats
2020-11-19refactor(cli): move tooling to cli/tools/ (#8424)Bartek Iwańczuk
This commit moves following tools into a single "tools" module located at "cli/tools/mod.rs": - formatter - linter - test runner - coverage collector - installer - binary upgrader - repl