feat(submit): add solution submission UI

Add submit.lua that reads credentials from a local JSON store (prompting
via vim.ui.input/inputsecret on first use), reads the source file, and
delegates to scraper.submit(). Add language_ids.py with platform-to-
language-ID mappings for atcoder, codeforces, and cses.
This commit is contained in:
Barrett Ruth 2026-03-03 14:52:00 -05:00 committed by Barrett Ruth
parent 39b7b3d83f
commit a75694e9e0
2 changed files with 124 additions and 0 deletions

18
scrapers/language_ids.py Normal file
View file

@ -0,0 +1,18 @@
LANGUAGE_IDS = {
"atcoder": {
"cpp": "5028",
"python": "5078",
},
"codeforces": {
"cpp": "89",
"python": "70",
},
"cses": {
"cpp": "C++17",
"python": "Python3",
},
}
def get_language_id(platform: str, language: str) -> str | None:
return LANGUAGE_IDS.get(platform, {}).get(language)