* SHC support
* fixed platform icon order
* remove unnecessary ARG in dockerfile
* tidied up dreamcast CC, moved some flags to settings
* enable dreamcast support in CI
* fixed formatting
* cleaned up cc even more as per mkst's advice
* Move Include function labels in diff option to common options
* Bump asm-differ
Include the first function's label in the diff
---------
Co-authored-by: 1superchip <1superchip@gmail.com>
* Implement Win 9x platform and msvc compilers.
* Add credit info for Windows icon.
* Solve issue with read only temp dir for MSVC.
* Update armcc.zip link
* Add new dep to backend ci
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Add MS-DOS platform and Watcom compilers.
* Remove --reloc from i686 disasm
The --reloc option seems to generate a lot of noise for the i686
objdump.
* Add credit for MS-DOS icon.
* Fixes more black formatting issues.
* Fix black & string appendage issue
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* 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>
Adds a new checkbox for disabling pseudo instructions on MIPS scratches
by passing the `-Mno-aliases` flag to `objdump`. This is disabled by
default.

### Why is this useful?
Because GAS likes using the same pseudo instruction for multiple
instructions, which sometimes leads to confusion of "why this doesn't
match if it is the same instruction". Complains about this usually
happen with the `li` pseudo instruction.
Example ("both are `li`s, why it doesn't match?!?!?"):

Disabling pseudos ("oh, they actually are different instructions"):

### Disadvantages
Some pseudos are clearer as pseudos than their actual raw instruction;
like for example the `nop`, which gets disassembled as `sll, zero, zero,
0x0`. `move` is also an example of this (even if the underlying
instruction changes depending on the assembler).
There doesn't seem to be any option in `objdump` to only allow some
pseudos.
`asm-differ` seems to have custom logic for handling `nop`s which gets
lost when disabling them, this can be seen in this screenshot:

A workaround for this could be made in the `asm-differ` repo.
### Other
I also allowed passing the other objdump flags to PS1 and PS2.
* Trying to add a new section
* objdump section is no longer borken
* objdump section is a bit more independent from the compilerargs one
* add objdump_flags to database
* Allow to save objdump flags on change
* Actually pass the objdump flags to objdump
* Allow adding objdump flags to presets
* add short description to compilers.json
* filter_objdump_flags
* Introduce GCCMIPSCompiler class
* Add -M gekko / broadway by default for gc/wii compilers
* format autogenerated file
* type annotation
* Disable enum trailing comma warnings on Majora's Mask
* wip
* flags as array, backend parsing, frontend cleanup
* style scratch options
* loose ends
* only show diff opts section if there are any options to show
* fix mypy
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Co-authored-by: Alex Bates <alex@nanaian.town>