enso/app
Kaz Wesley 4d4a2990a0
Distinguish assignment/thunk by statement context (#11324)
Align `Assignment`/`Function` distinction in AST with compiler's implemented semantics:
- The ambiguous case `funcOrVar = expression` is now parsed as a `Function` when in a `Type` definition or in the top level of a module. I.e. it is an `Assignment` in contexts where the RHS is evaluated immediately when the binding is evaluated, and a `Function` in contexts where the RHS is evaluated each time the bound name is evaluated.
- `Assignment` statements now may only occur in function bodies.

Correcting this distinction lays the groundwork for #11302.

Other changes:
- Fixed incorrect source code locations for negative literals and negated expressions.

# Important Notes
New APIs:
- The parser now exposes a `parse_block` entry point, which allows parsing input lines as if in the body of a function. The previous entry point has been renamed to `parse_module`.
2024-10-18 17:54:55 +00:00
..
.vscode Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
common Make Asset Table selection backend specific (#11288) 2024-10-17 09:40:17 +00:00
gui Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
ide-desktop Allow updating local assets (#11314) 2024-10-15 14:32:52 +03:00
rust-ffi Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
ydoc-server Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
ydoc-server-nodejs Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
ydoc-server-polyglot Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
ydoc-shared Distinguish assignment/thunk by statement context (#11324) 2024-10-18 17:54:55 +00:00
.example.env Debug Ydoc/LS interaction without making code changes (#10687) 2024-08-06 19:53:36 +02:00
.gitignore Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
modules.d.ts Format TS code (#10648) 2024-07-26 17:47:59 +10:00
README.md Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00

Desktop app

This folder contains projects related to the desktop app.

Folder structure

Refer to the README.md in each individual module (if it exists) for the internal folder structure of the module.

  • assets/: Icons and images used by other modules. Currently these are only used by dashboard/.
  • client/: The code for the Electron desktop app.
  • common/: Utility functions required by multiple other modules.
  • content/: The entry point for the GUI1 web app. This is the main page for the desktop app.
  • content-config/: The statically-typed configuration object for content/.
  • dashboard/: The dashboard, used to manage projects. It launches the GUI (located in content/ for GUI1, or /app/gui2/ for GUI2) when a project is opened.
  • icons/: Generates the logo for the app.
  • ts-plugin-namespace-auto-import/: (WIP) A TypeScript plugin to change auto-import to use import * as moduleName rather than import {}.
  • types/: Miscellaneous types used by multiple modules.