Dmitry Bushev
ded8d22f43
refactor: fix typo interpeter ( #718 )
2020-05-07 07:56:04 +03:00
Ara Adkins
ea23cf6fbc
Add sections, underscore args and ignores ( #716 )
2020-05-06 19:00:03 +01:00
Dmitry Bushev
55486e50d3
Review of the Language Server Spec ( #712 )
...
* fix: file/event
* fix: capability text/canEdit
* fix: capability file/receivesTreeUpdates
* fix: capability executionContext/canModify
* fix: capability executionContext/receivesUpdates
* doc: file open&close wording
* doc: add SHA3-224
* misc: cleanup
* doc: rename project picker to manager
* update: remove DirectoryTruncated node
* doc: versioning
* test: increase PingHandler timeout
* Revert "test: increase PingHandler timeout"
This reverts commit b225a885c24d0d5b8dfbc02a220107653b5deae0.
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-05-06 17:58:18 +03:00
Łukasz Olczak
29190f8339
Truffle Integration for the Binary Protocol ( #711 )
2020-05-06 14:23:00 +02:00
Dmitry Bushev
7c7bd3e6ae
Add PoC of Caching Injection to IdExecutionInstrument ( #709 )
...
* add: impl setOverride
* rem: ValueOverrideInstrument
* debug: clean CI cache
* Revert "debug: clean CI cache"
This reverts commit ad08edd7456a74f210e5544fb5e6e1723cc649bb.
* upd: remove binding from IdExecutionListener
* update: val instrument
* remove: global value from instrument
* cleanup
* Revert "cleanup"
This reverts commit 329822d7d853d808e0869517992ea810f2d1784d.
* Revert "remove: global value from instrument"
This reverts commit 4cff1abe84eade5ae8c4e126c2324d6e942e0be8.
* add: cache to Handler
2020-05-05 18:34:21 +03:00
Marcin Kostrzewa
1c8600e53f
Fix polymorphic frame slot writes ( #710 )
2020-05-05 14:28:58 +02:00
Ara Adkins
a68c59344b
Fix miscellaneous bugs, refactoring ( #705 )
2020-05-01 21:25:48 +01:00
Ara Adkins
50e307e6ee
Bump scalac version to 2.13.2 ( #703 )
2020-04-30 20:30:55 +01:00
Ara Adkins
90d85fc810
Implement lambda consolidation ( #701 )
2020-04-30 15:58:45 +01:00
Dmitry Bushev
7e48e82dbc
Send Information About Function Calls ( #696 )
...
* Add Module reference to ModuleScope
* add: function call info
* add: impl getQualifiedName
* misc: cleanup
* add qualifiedName field
* upd: extend ClosureRootNode constructor
* misc: simplify
2020-04-29 18:56:03 +03:00
Marcin Kostrzewa
1254920482
fix double-eval of this arguments ( #700 )
2020-04-29 16:59:07 +02:00
Marcin Kostrzewa
d03a5a9dde
Stopgap JSON serialization for Enso objects ( #698 )
2020-04-29 11:23:46 +02:00
Łukasz Olczak
f7e9f9fa85
Implementation of The Visualisation Binary Protocol - RPC-side ( #688 )
2020-04-28 17:30:15 +02:00
Marcin Kostrzewa
4ba26a3034
Compile Error Handling ( #687 )
2020-04-28 14:03:33 +02:00
Ara Adkins
92d8393495
Remove non-working caches from CI ( #674 )
2020-04-24 17:33:27 +01:00
Ara Adkins
9013407091
Implement dataflow analysis for Enso ( #673 )
2020-04-23 16:25:39 +01:00
Dmitry Bushev
9fcef233a8
Add: executionContext/recompute command ( #669 )
...
* add: executionContext/recompute
* doc: review comments
2020-04-23 15:13:02 +03:00
Łukasz Olczak
413962df92
Implementation of The Visualisation Binary Protocol ( #665 )
2020-04-23 12:42:59 +02:00
Dmitry Bushev
a10e37342b
Execution Context Integration with Text Change Events ( #668 )
...
* add: notifications to CollaborativeBuffer
* impl: trigger re-execution on file notifications
* add: file notifications test
* doc: update
* update: don't re-execute on file open
* fix: typo
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-22 21:11:30 +03:00
Marcin Kostrzewa
9020008bc2
String concat and string conversion functions ( #667 )
2020-04-21 16:27:05 +02:00
Marcin Kostrzewa
e2d901fb68
Module file operations through execution server ( #660 )
2020-04-20 14:33:51 +02:00
Dmitry Bushev
75f25b66db
Integrate the LS with context management ( #657 )
2020-04-17 17:31:12 +01:00
Dmitry Bushev
86fdc07ce0
Run scalafmt after updating its version ( #661 )
2020-04-17 17:05:56 +01:00
Łukasz Olczak
50e6072b41
Flatbuffers integration ( #655 )
2020-04-17 15:47:58 +02:00
Ara Adkins
16b24d58e7
Implement demand analysis ( #658 )
2020-04-17 12:12:28 +01:00
Łukasz Olczak
d296ac1ef8
Implementation of session initialisation ( #649 )
2020-04-15 12:56:11 +02:00
Ara Adkins
8a99415a30
Fix warnings, docs, and repo structure ( #651 )
2020-04-14 17:00:51 +01:00
Dmitry Bushev
4e73aba706
Add executionContext/expressionValuesComputed notifincation ( #648 )
...
* WIP ExpressionValueUpdate
* Add client reference
* doc: update
* refactor: ExpressionValuesComputed
* refactor: conversion functions
* impl: Config findRelativePath
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-14 16:33:24 +03:00
Ara Adkins
875190d7a9
Remove some compilation warnings
2020-04-14 11:56:13 +01:00
Łukasz Olczak
e966392cc8
Implementation of the Language Server Supervisor Process ( #643 )
2020-04-10 12:11:15 +02:00
Dmitry Bushev
76faaaabcd
Add executionContext push & pop commands ( #637 )
...
* add: executionContext/push
* add: executionContext/pop
* add: stack to engine handler
* misc: cleanup
* misc: update error handling
* misc: cleanup
2020-04-09 16:29:14 +03:00
Marcin Kostrzewa
23f7797632
Language Execution Service ( #642 )
...
* Execution service
* fix language server
* cr feedbakz
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-09 15:02:12 +03:00
Dmitry Bushev
dc58fc6b2a
Add executionContext/destroy ( #634 )
...
* add: executionContext/destroy
* remove: ExecutionProtocol
* refactor: UnhandledLogging
* add: custom errors
* refactor: runtime errors
2020-04-06 14:15:50 +03:00
Dmitry Bushev
a0d68eca37
Add executionContext/create command ( #632 )
...
* WIP Context
* test: executionContext/create
* misc: scalafmt
* add: requestId
* doc: update
* update: routing
* misc: cleanup
* doc: update
* fix: runtime
* fix: runtime tests
* add: message envelope
* refactor: remove ContextManager
* refactor: correlationId
2020-04-02 16:58:32 +03:00
Łukasz Olczak
5c616c2727
Implementation of project/open and project/close commands. ( #631 )
2020-03-31 15:51:05 +02:00
Dmitry Bushev
0ffce13894
Add file/event command ( #626 )
...
* WIP FileEventWatcher
* WIP Capabilities
* update: FileEvent
* test: FileEventRegistryTest
* update: cleanup resources
* doc: misc
* update: FileEventRegistry protocol
* refactor: FileEventRegistry
* misc: cleanup
* doc: fix scaladoc
* test: resolve real path
* refactor: FileEventWatcher
* refactor: FileEventManager
* fix: test path
* update: FileEventManager handle watcher errors
* add: respond with custom errors
* add: handle ClientDisconnected
* doc: update
* add: force release capability on errors
* refactor: FileEventManager
* add: enumeratum
* update: stop manager after error
* update: watch manager
* update: manager sends events to client
* refactor: file event actors
* refactor: rename registry to handler
* refactor: rename manager to PathWatcher
* refactor: effectful watcher start and stop
* refactor: rename FileEventWatcher to WatcherAdapter
* misc: cleanup
* impl: unhandled
* feat: cancel timeout timers
2020-03-31 15:23:23 +03:00
Marcin Kostrzewa
bf758ebc6d
Thread IDs through the compiler pipelines ( #627 )
2020-03-26 11:59:50 +01:00
Dmitry Bushev
47ad474790
Add file/info command ( #614 )
...
* feat: impl file/info
* doc: typo
* add: OffsetDateTime
* update: UTCDateTime JSON format
* update: remove UTCDateTime
* fix: review comments
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-03-25 13:30:26 +03:00
Dmitry Bushev
f4d4b001aa
test: remove filemanager warmup ( #624 )
2020-03-25 13:12:41 +03:00
Ara Adkins
2c1d967dd6
Extract remaining analyses from codegen ( #616 )
2020-03-24 10:28:03 +00:00
Dmitry Bushev
6f8d3b73bb
test: wait for FileManager init ( #617 )
2020-03-23 21:37:11 +03:00
Ara Adkins
b6221e519a
Implement explicit alias analysis ( #613 )
2020-03-20 08:01:03 +00:00
Dmitry Bushev
1910498524
Add file/list filemanager command ( #612 )
...
* feat: impl file/list
* test: warmup zio executor
2020-03-19 18:40:23 +03:00
Marcin Kostrzewa
ed7c7c75f9
Execution context management ( #611 )
2020-03-19 12:29:11 +01:00
Dmitry Bushev
4864d2623f
Refactor FileManager file commands ( #609 )
...
* refactor: create Config.scala
* WIP FileSystemHandler
* doc: update FileSystem list
* add: zio FileSystem
* update: FileSystemHandler runAsync
* add: config timeouts
* rename FileSystemHandler to FileSystemManager
* add: ZioExec
* add: FileManager router
* fix: FileManager return FileWiteResult
* update: FileSystemApi interface
* refactor: FileSystem with Zio
* impl: FileManager
* impl: cleanup LanguageServer
* impl: ReadFileHandler
* impl: CreateFileHandler
* impl: DeleteFileHandler
* impl: CopyFileHandler
* impl: MoveFileHandler
* impl: ExistsFileHandler
* impl: TreeFileHandler
* fix: filemanager tests
* misc: cleanup
* fix: BufferRegistry tests
* doc: add misc
* doc: misc
* feat: add ZioExec parameter to FileManager
* feat: FileManager uses FileSystemApi interface
* feat: FileSystem has blocking semantics
* feat: FileManager props
2020-03-19 13:47:08 +03:00
Łukasz Olczak
2863498da3
Scaffold the Project Manager ( #610 )
2020-03-18 11:41:55 +01:00
Dmitry Bushev
b5010d65c7
Add file/tree message for language server ( #585 )
...
* feat: impl FileSystem tree
* impl: conversion to DirectoryTree
* refactor: rename Path RelativePath
* WIP path encoding
* feat: add SystemPath encoding
* misc: fetch master
* doc: update engine-services
* refactor: rename SystemPath
* doc: cleanup
* test: fix json ordering
* test: fix symlink target
* test: fix unclosed source
* test: fix windows
* misc: cleanup
* doc: typo
* feat: follow symlinks
* feat: detect symlink loops
* refactor: rename RelativePath to Path
* feat: extend FileSystmObject api
* doc: update engine-services
* feat: add path to Other file system object
* test: fix windows
* refactor: remove TreeSet
* feat: DirectoryTree files filter directories
* feat: add NotDirectory error
* refactor: readDirectoryEntry
* feat: SymlinkLoop contains target to the loop
* refactor: DirectoryTree conversion
* feat: tailrec tree algorithm
* misc: cleanup
* misc: remove redundant if branch
Co-authored-by: Łukasz Olczak <lukasz.jan.olczak@gmail.com>
2020-03-13 19:41:57 +03:00
Marcin Kostrzewa
4b3943ce9b
Create a server instrument for language server <> runtime communications ( #602 )
2020-03-12 18:32:21 +01:00
Łukasz Olczak
7a1b333f2c
'text/save' method ( #601 )
2020-03-12 16:27:47 +01:00
Josef
c2df4e7957
Store idmap with metadata in source file. ( #586 )
2020-03-11 21:13:23 +01:00
Łukasz Olczak
004f73c649
text/applyEdit
method (#598 )
2020-03-11 17:55:07 +01:00
Ara Adkins
ac5a9eb639
Add a --version
flag to the cli ( #584 )
2020-03-09 13:44:40 +00:00
Dmitry Bushev
7b17e7e789
Add file/move message to language server ( #574 )
...
* feat: impl Ws MoveFile
* doc: update engine-services
* misc: run scalafmt
* test: add more
* fix: rebase
* test: add missing cases
* misc: run scalafmt
* test: update
2020-03-09 14:26:10 +03:00
Dmitry Bushev
22f505b6c4
Add file/exists message to language server ( #579 )
...
* feat: impl file/exists
* doc: update engine-services
* doc: wrap 80
2020-03-09 13:54:44 +03:00
Łukasz Olczak
31d5e6eb5b
text/closeFile method ( #583 )
2020-03-06 19:14:50 +01:00
Ara Adkins
23d33c4438
Desugar operators to functions ( #581 )
2020-03-06 15:23:39 +00:00
Łukasz Olczak
e5530045bf
text/openFile method ( #575 )
2020-03-06 15:17:46 +01:00
Rostyslav Zatserkovnyi
dfb4ec43ac
Update GraalVM to 20.0.0 ( #576 )
2020-03-06 13:40:29 +00:00
Dmitry Bushev
2275a97233
Add file/copy message to language server ( #570 )
...
* feat: impl file/copy command
* test: add Ws tests
* doc: update engine-services
* misc: run scalafmt
* test: exists
* test: typo
* fix: impl missing test cases
2020-03-05 19:18:20 +03:00
Dmitry Bushev
a712288aad
Add file/delete message ( #568 )
...
* impl: file/delete
* add: tests
* doc: update engine-services
* misc: remove irrelevant comment
* test: address review comments
* Revert "misc: remove irrelevant comment"
This reverts commit a89a5505db59407a6ce7a8e8ab8e274ec0ee8f3f.
* test: exists
2020-03-04 16:43:35 +03:00
Łukasz Olczak
8bf56f5e6d
Artefact Builds for the Language Server ( #566 )
2020-03-03 14:11:42 +01:00
Marcin Kostrzewa
da392ff26f
Split tests & select random port
2020-03-03 11:16:17 +01:00
Ara Adkins
fa845ee4c6
Convert the compiler pipeline to scala ( #563 )
2020-03-02 12:33:28 +00:00
Marcin Kostrzewa
5628752271
Rope data structure ( #561 )
2020-02-28 14:17:48 +01:00
Łukasz Olczak
0b22606fa1
File and directory creation for LS ( #560 )
2020-02-28 10:37:42 +00:00
Łukasz Olczak
fe471314ec
File Reads for the Language Server ( #559 )
...
File Reads for the Language Server
2020-02-26 18:03:14 +01:00
Łukasz Olczak
016602972f
File write feature. ( #557 )
...
Provides writing to a file capability. It writes a textual content to an arbitrary file.
2020-02-25 14:38:48 +01:00
Marcin Kostrzewa
d394888a5a
Capabilities system & canEdit capability ( #555 )
2020-02-24 11:23:08 +01:00
Marcin Kostrzewa
639c2aeceb
Json RPC improvements & basic server structure. ( #522 )
2020-02-21 12:35:14 +01:00
Ara Adkins
e8fcb445be
Clean up the stopgap IR ( #521 )
2020-02-19 14:41:17 +00:00
Ara Adkins
adf5fe7db2
Add more in-depth tests to core ( #489 )
2020-02-14 16:29:24 +00:00
Dmitry Bushev
8d8e95e14a
Update to scala 2.13.1 ( #481 )
2020-02-13 14:33:39 +00:00
Ara Adkins
9dee1911f8
Add smart constructors for the core nodes ( #480 )
2020-02-13 09:52:05 +00:00
Marcin Kostrzewa
a288ecaa5c
JSON RPC base actor ( #482 )
2020-02-12 17:41:20 +01:00
Ara Adkins
ba84ee7e6e
Implement the primitive core entities ( #463 )
2020-01-31 16:58:35 +00:00
Marcin Kostrzewa
a2703bb296
Language Server files interface ( #462 )
2020-01-29 16:17:36 +01:00
Dmytro Mitin
3412606e2a
Subset of LSP - Part 1 ( #453 )
...
* Rename language-server -> runner, add language-server, gateway
* Add entry point --lsp
* Add Gateway, LanguageServer
* Add stab for Initialize
* Add stubs for Initialize, Initialized
* Add GatewayTest
* fix PR
* increase timeout
* merge with master
* fix compilation after merge
* reformat with scalafmt
* Add TODOs
* Add doc for gateway
* Update CONTRIBUTING.md
* Refactor code for PR
* Add Request#response(..)
* Make Initialize, Initialized extractor objects
* Refactor for -> map
* Fix docs
* Remove DerivationConfig
* Make Request, Notification polymorphic
* Add Param.Array, Params.Array
* Replace Decoder#apply -> tryDecode
* Refactor code
* Add docs
* Refactor code
* Refactor code
* Refactor code
* Make gateway a pure actor
* Add client capabilities
* Add server capabilities
* Add docs for capabilities
* Add docs
* Add docs
* Fix Server.Config
* Update doc for Server
* Add requests, notifications and params
* Improve PR
* Rename Protocol -> JsonRpcController
* Add docs
* Add requests and notifications
* Fix Result
* Add requests and notifications
* Add WillSaveTextDocumentWaitUntil request params and result
* Add params
* Add tests for requests
* Add textDocumentSync.willSaveWaitUntil server capability
* Handle text id
* Fix Edit workspace client capability
* Clean up
* Add initialize, initialized, shutdown, exit
* Add docs
* Fix identation
* Fix identation
* Refactor code
* Add docs
* Improve PR
* Add tests
* Fix docs for RequestExtractor
* Fix docs
2020-01-27 13:23:32 +02:00
Ara Adkins
053df2ac2b
Upgrade the graph macros ( #456 )
2020-01-24 18:56:52 +00:00
Marcin Kostrzewa
3b29bc3483
Add value caching for nodes ( #438 )
2020-01-22 17:04:55 +00:00
Marcin Kostrzewa
e80667a487
Function call instrumentation ( #433 )
2020-01-21 15:01:52 +01:00
Dmytro Mitin
498587e271
Stub Out Gateway and Language Server Akka Services, Implement a Starting Subset of LSP (beginning) ( #418 )
...
* Rename language-server -> runner, add language-server, gateway
* Add entry point --lsp
* Add Gateway, LanguageServer
* Add stab for Initialize
* Add stubs for Initialize, Initialized
* Add GatewayTest
* fix PR
* increase timeout
* merge with master
* fix compilation after merge
* reformat with scalafmt
* Add TODOs
* Add doc for gateway
* Update CONTRIBUTING.md
* Refactor code for PR
* Add Request#response(..)
* Make Initialize, Initialized extractor objects
* Refactor for -> map
* Fix docs
* Remove DerivationConfig
* Make Request, Notification polymorphic
* Add Param.Array, Params.Array
* Replace Decoder#apply -> tryDecode
* Refactor code
* Add docs
* Refactor code
* Refactor code
* Refactor code
* Make gateway a pure actor
* Add client capabilities
* Add server capabilities
* Add docs for capabilities
* Add docs
* Add docs
* Fix Server.Config
* Update doc for Server
* Improve PR
* Rename Protocol -> JsonRpcController
* Add docs
* Fix identation.
* Fix identation
* Fix identation
* Fix identation
* Fix docs
2020-01-17 17:35:44 +02:00
Marcin Kostrzewa
37e383b430
Polyglot API & module-level expression eval ( #424 )
2020-01-10 15:53:46 +01:00
Marcin Kostrzewa
05118016e1
Implement value extraction from scopes ( #419 )
2020-01-07 17:38:49 +01:00
Marcin Kostrzewa
4f177aa0f5
Fix uncached flows, refactor and document the function call flow ( #417 )
2020-01-07 13:39:07 +01:00
Marcin Kostrzewa
1eed651728
Interpreter lifecycle & Module changes ( #414 )
2019-12-20 16:02:34 +01:00
Ara Adkins
c3acc5c615
Complete AST to AstExpression translation ( #374 )
2019-12-06 19:22:20 +00:00
Marcin Kostrzewa
2b8af07148
Fix jupyter & tweak stacktrace elements & pretty printer ( #373 )
2019-12-06 12:58:20 +01:00
Ara Adkins
db4cbacec3
Add suspended blocks, fix thunk performance ( #371 )
...
This commit adds support for suspended blocks in the interpreter and also fixes
a major performance issue with nested thunks that was causing quadratic
evaluation time.
2019-12-04 16:00:53 +00:00
Marcin Kostrzewa
c7b3d31415
Source locations in Truffle nodes ( #368 )
2019-12-02 19:41:46 +01:00
Michał Wawrzyniec Urbańczyk
47f9a4889c
Scala AST refactoring ( #360 )
...
A new implementation of Scala AST, as described in #352 .
2019-12-02 14:30:37 +01:00
Ara Adkins
ed5786d99e
Add pattern matching and lazy arguments ( #365 )
...
Add new syntax support for the above constructs.
2019-12-02 11:59:45 +00:00
Marcin Kostrzewa
6bc14a3b9f
Add a tiny subset of nodelocs ( #364 )
2019-11-29 12:36:48 +00:00
Ara Adkins
9a4332108f
Add lambdas, types, and methods support to new syntax ( #358 )
2019-11-27 11:32:36 +00:00
Marcin Kostrzewa
85272edcb0
Graal upgrade to 19.3.0 ( #350 )
2019-11-22 16:38:31 +01:00
Ara Adkins
b91ab25fdb
Translate arith expressions using the new parser ( #346 )
2019-11-20 09:18:53 +00:00
Marcin Kostrzewa
427e784663
Repl & Debugger ( #345 )
2019-11-19 16:16:58 +01:00
Marcin Kostrzewa
51d66cdef6
Jupyter bindings ( #335 )
2019-11-18 14:36:03 +01:00
Ara Adkins
22aa4efda8
Add a low-level graph library ( #334 )
2019-11-18 11:18:16 +00:00
Marcin Kostrzewa
0ec41b5bbd
String literals, caller frame access, eval function ( #333 )
2019-11-15 15:49:57 +01:00
Josef
8da25bec2d
Text AST Reimplementation. ( #327 )
2019-11-14 13:55:45 +01:00
Marcin Kostrzewa
3929b3f72c
Implement call strategy controls and a functional if statement. ( #328 )
2019-11-13 12:27:52 +01:00
Ara Adkins
bfe81a731f
Reorganise repo for further development ( #308 )
2019-11-08 17:32:48 +00:00