* Roll our own cpp LRLanguage
This fixes a bug when using a coding style with braces on a new line. Previously, it was inconsistent whether braces were indented (GNU style) or not (Allman style). This commit standardizes on Allman style.
* Fix try-catch and do-while recognition
Both sections are needed; `indentOnInput` is required to call the indent checker, and `DoStatement` is required to provide the correct indent to the indent checker.
* Add copyright line from upstream because I am forgetful
* style changes
---------
Co-authored-by: Ethan <ethteck@gmail.com>
* Add progress bar to the scratch editor
* all your metadataBase are belong to us
* Don't empty the bar on failed compilations, color scaling
* some changes
* new component, editor option
* a smidge of padding
---------
Co-authored-by: Mark Street <streetster@gmail.com>
* Organize tests, update settings, backend deps
* Remove project import code from backend
* Remove some frontent project code
* more progress, project cleanup
* more preset work
* .
* upd8z
* Admins can delete scratches & preset migration
* bye, source presets
* fixes & changes
* Preset in admin panel & rename migration
* mypy
* Fix perset viewset & tests
* Change compilers hash files
* test annotations so Windows doesn't run them
* Mark nits
* Preset auto ID field
* scratch as reference (1/?)
* backend fixes to preset (2/3)
* Use preset ID instead of name in frontend
* update frogger preset
* I broke one of the ten commandments of react
* finishing touches (3/3 lol)
* Update serializers.py
* Initial clangd support
Tidy up languageserver.ts
Add CompilerCommand option
* Codemirror tooltip newline handling
* Force github login through redirects instead of popup window
* Gracefully exit LS when scratch unloads
* Break scratch language out to api, move language server integration to new hook
* Fix broken import
* Fix languageServer.ts import warnings
(and rename languageserver.ts to languageServer.ts)
* Format on Alt-Shift-F
* Add default, site-wide .clang-format
* Allow source to reference context definitions
* Remove overzealous IIFEs
* Clean up yaml imports, useLanguageServer state
* Remove webpack yaml-specific config
* Fix default-clang-format.yaml loading
* Add editor option to enable / disable language server
* Change language server setting text
* Add ability to select small language server, version bump
* EditorSettings clean
* EditorSettings 2: Electric Boogaloo (sponsored by tailwind)
* Fix tooltip appearance
* Remove alignment settings from default-clang-format.yaml
* Remove references to preferSmallLanguageServer
---------
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
Co-authored-by: Mark Street <streetster@gmail.com>
* Backend updates, mypy fixes
* new migration (oops), some fixes
* Frontend updates
* cleanup
* Prevent problems panel from starting open if there are no problems
(fixes#703)
* update again
* oopz
* stylelint
* Update checkout version
* Fix test
* Fix test - device.ts still being used on the server :/
* fix cod
* Switch from @shopify/web-worker to postMessage for useCompareExtension
* Type safety
* make formatting consistent
---------
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
- Use Next.js 13 app directory for all routes except projects
- Add Tailwind (resolves#619) and use it for most components
- New footer
- Adjust navbar (logotype, buttons moved to right)
- Improve the styling of the search box
- New /settings/account page
- /credits grabs contributors list for this repo from GitHub's API
- ResolveĀ #634
- New welcome page header with scrolling platform icons
* add projects list
* new project page
* mypy
* allow '.' in github identifiers
* implement project create
* project settings
* disallow anons from being project members
* uploadable project icon
* docker attempt
* fix tests
* add tests
* add description form
* refactor to add useEntity and FieldSet
* move FieldSet out of subdirectory
* use same page for project tabs
* scroll up to UnderlineNav when tab changes
* stylelint
* configure vscode mypy extension
* mypy
* fix mypy and dmypy
dmypy does not support follow_imports=silent. Instead we explicitly
disable most checks for asm_differ and m2c, which
has the same effect
* remove redundant mypy flags
* FieldSet style tweaks
* give UnderlineNav horiz padding
* fix swr mutate of project header
* few tweaks to help docker (#550)
* eth changes
* use POST/DELETE rather than PUT for project members
* add migration
* fix pr creation
* simplify project platform derivation
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* refactor scratch actions to its own component
* move toolbar actions into nav area
* fit ScratchToolbar on one line where possible
* fix HydrationError
* reduce wasted space by calculating layout in js
* avoid layout shift when edit time changes
* move edit time next to scratch name
* stop showing "Active now" after time
* align edit time on baseline
* drop 'Edited' prefix