enso/app
Kaz Wesley 4cff789b69
Refactor precedence for whitespace changes (#10569)
Single-phase whitespace-aware precedence resolution.

#### Performance
![newplot(4)](https://github.com/user-attachments/assets/9822b0dc-17c3-4d2d-adf7-eb8b1c240522)
Since this is a major refactor of the core of the parser, I benchmarked it; it's about 3% faster.

# Important Notes
- Move operator-identifier recognition to lexer.
- Move compound-token assembly out of precedence resolver
2024-07-18 15:48:20 +00:00
..
.vscode Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
dashboard Auto scroll for all types of drags (#10584) 2024-07-18 08:49:39 +00:00
gui2 Refactor precedence for whitespace changes (#10569) 2024-07-18 15:48:20 +00:00
ide-desktop Still more dashboard fixes (#10573) 2024-07-17 23:52:27 +00:00
.example.env Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
.gitignore Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
eslint.config.mjs Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
modules.d.ts Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
README.md Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
tsconfig.json 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.